From ec40850c92a019cd716cddfa88955943f0b53217 Mon Sep 17 00:00:00 2001 From: ekarlso Date: Wed, 14 Aug 2024 12:11:48 +0200 Subject: [PATCH] Update dependencies Terraform 1.8.x Terraform provider 0.48.0 (Remove deprecated resources) Crossplane deps Signed-off-by: ekarlso --- .gitmodules | 2 +- Makefile | 14 +- .../v1alpha1/zz_firewall_terraformed.go} | 46 +- .../v1alpha1/zz_firewall_types.go | 116 + .../v1alpha1/zz_firewallrule_terraformed.go | 129 + .../v1alpha1/zz_firewallrule_types.go | 207 + .../v1alpha1/zz_generated.conversion_hubs.go | 11 +- .../v1alpha1/zz_generated.deepcopy.go | 727 ++++ .../v1alpha1/zz_generated.managed.go | 180 + .../v1alpha1/zz_generated.managedlist.go | 27 + .../v1alpha1/zz_mitigation_terraformed.go | 129 + .../v1alpha1/zz_mitigation_types.go | 124 + apis/additionalip/v1alpha1/zz_move_types.go | 4 +- .../zz_projectfailoveripattach_types.go | 4 +- .../additionalip/v1alpha1/zz_reverse_types.go | 4 +- .../additionalip/v1alpha1/zz_service_types.go | 16 +- .../v1alpha1/zz_generated.conversion_hubs.go | 5 +- apis/cloud/v1alpha1/zz_generated.deepcopy.go | 264 ++ apis/cloud/v1alpha1/zz_generated.managed.go | 60 + .../v1alpha1/zz_generated.managedlist.go | 9 + apis/cloud/v1alpha1/zz_project_types.go | 16 +- ...loadbalancerlogsubscription_terraformed.go | 129 + ...regionloadbalancerlogsubscription_types.go | 162 + apis/cloud/v1alpha1/zz_s3credentials_types.go | 4 +- apis/cloud/v1alpha1/zz_s3policy_types.go | 4 +- apis/cloud/v1alpha1/zz_user_types.go | 4 +- .../v1alpha1/zz_cephacl_types.go | 4 +- .../v1alpha1/zz_generated.deepcopy.go | 116 + .../v1alpha1/zz_projectdatabase_types.go | 56 +- .../zz_projectdatabasedatabase_types.go | 4 +- .../zz_projectdatabaseintegration_types.go | 4 +- .../zz_projectdatabaseiprestriction_types.go | 4 +- .../zz_projectdatabasekafkaacl_types.go | 4 +- ...ectdatabasekafkaschemaregistryacl_types.go | 4 +- .../zz_projectdatabasekafkatopic_types.go | 4 +- .../zz_projectdatabasem3dbnamespace_types.go | 4 +- .../zz_projectdatabasem3dbuser_types.go | 4 +- .../zz_projectdatabasemongodbuser_types.go | 4 +- ..._projectdatabaseopensearchpattern_types.go | 4 +- .../zz_projectdatabaseopensearchuser_types.go | 4 +- ...tdatabasepostgresqlconnectionpool_types.go | 4 +- .../zz_projectdatabasepostgresqluser_types.go | 4 +- .../zz_projectdatabaseredisuser_types.go | 4 +- .../v1alpha1/zz_projectdatabaseuser_types.go | 4 +- .../v1alpha1/zz_generated.conversion_hubs.go | 16 +- .../v1alpha1/zz_generated.deepcopy.go | 433 +- .../v1alpha1/zz_installationtemplate_types.go | 101 +- ...stallationtemplatepartitionscheme_types.go | 4 +- ...mplatepartitionschemehardwareraid_types.go | 4 +- ...ntemplatepartitionschemepartition_types.go | 4 +- .../v1alpha1/zz_serverinstalltask_types.go | 108 +- .../v1alpha1/zz_servernetworking_types.go | 4 +- .../v1alpha1/zz_serverreboottask_types.go | 4 +- .../v1alpha1/zz_serverupdate_types.go | 14 +- .../v1alpha1/zz_generated.conversion_hubs.go | 3 + apis/dns/v1alpha1/zz_generated.deepcopy.go | 174 + apis/dns/v1alpha1/zz_generated.managed.go | 60 + apis/dns/v1alpha1/zz_generated.managedlist.go | 9 + apis/dns/v1alpha1/zz_zone_types.go | 75 +- .../dns/v1alpha1/zz_zonednssec_terraformed.go | 129 + apis/dns/v1alpha1/zz_zonednssec_types.go | 99 + apis/dns/v1alpha1/zz_zonerecord_types.go | 24 +- apis/dns/v1alpha1/zz_zoneredirection_types.go | 30 +- .../gateway/v1alpha1/zz_generated.deepcopy.go | 191 + .../v1alpha1/zz_projectgateway_types.go | 51 +- .../v1alpha1/zz_iampermissionsgroup_types.go | 4 +- apis/iam/v1alpha1/zz_iampolicy_types.go | 4 +- .../iam/v1alpha1/zz_iamresourcegroup_types.go | 4 +- apis/kube/v1alpha1/zz_cluster_types.go | 18 +- apis/kube/v1alpha1/zz_generated.deepcopy.go | 30 + apis/kube/v1alpha1/zz_iprestriction_types.go | 4 +- apis/kube/v1alpha1/zz_nodepool_types.go | 4 +- .../v1alpha1/zz_oidcconfiguration_types.go | 4 +- .../v1alpha1/zz_generated.conversion_hubs.go | 9 +- apis/lb/v1alpha1/zz_generated.deepcopy.go | 315 ++ apis/lb/v1alpha1/zz_generated.managed.go | 60 + apis/lb/v1alpha1/zz_generated.managedlist.go | 9 + apis/lb/v1alpha1/zz_httpfarm_types.go | 4 +- apis/lb/v1alpha1/zz_httpfarmserver_types.go | 4 +- apis/lb/v1alpha1/zz_httpfrontend_types.go | 9 +- apis/lb/v1alpha1/zz_httproute_types.go | 4 +- apis/lb/v1alpha1/zz_httprouterule_types.go | 4 +- apis/lb/v1alpha1/zz_iploadbalancing_types.go | 16 +- apis/lb/v1alpha1/zz_refresh_types.go | 4 +- apis/lb/v1alpha1/zz_tcpfarm_types.go | 4 +- apis/lb/v1alpha1/zz_tcpfarmserver_types.go | 4 +- apis/lb/v1alpha1/zz_tcpfrontend_types.go | 22 +- apis/lb/v1alpha1/zz_tcproute_types.go | 4 +- apis/lb/v1alpha1/zz_tcprouterule_types.go | 4 +- .../lb/v1alpha1/zz_udpfrontend_terraformed.go | 129 + apis/lb/v1alpha1/zz_udpfrontend_types.go | 162 + apis/lb/v1alpha1/zz_vracknetwork_types.go | 4 +- .../v1alpha1/zz_generated.conversion_hubs.go | 3 + apis/logs/v1alpha1/zz_generated.deepcopy.go | 204 + apis/logs/v1alpha1/zz_generated.managed.go | 60 + .../logs/v1alpha1/zz_generated.managedlist.go | 9 + apis/logs/v1alpha1/zz_logscluster_types.go | 4 +- apis/logs/v1alpha1/zz_logsinput_types.go | 4 +- .../logs/v1alpha1/zz_logstoken_terraformed.go | 129 + apis/logs/v1alpha1/zz_logstoken_types.go | 127 + .../v1alpha1/zz_generated.conversion_hubs.go | 7 +- apis/me/v1alpha1/zz_generated.deepcopy.go | 190 +- apis/me/v1alpha1/zz_generated.managed.go | 60 - apis/me/v1alpha1/zz_generated.managedlist.go | 9 - apis/me/v1alpha1/zz_group_types.go | 4 +- apis/me/v1alpha1/zz_oauth2client_types.go | 4 +- apis/me/v1alpha1/zz_sshkey_types.go | 118 - apis/me/v1alpha1/zz_user_terraformed.go | 2 +- apis/me/v1alpha1/zz_user_types.go | 7 +- apis/nas/v1alpha1/zz_generated.deepcopy.go | 15 + apis/nas/v1alpha1/zz_nashapartition_types.go | 4 +- .../v1alpha1/zz_nashapartitionaccess_types.go | 16 +- .../zz_nashapartitionsnapshot_types.go | 4 +- .../v1alpha1/zz_privatenetwork_types.go | 4 +- apis/network/v1alpha1/zz_subnet_types.go | 4 +- .../v1alpha1/zz_generated.deepcopy.go | 11 + .../v1alpha1/zz_privatedatabase_types.go | 16 +- .../zz_privatedatabasedatabase_types.go | 4 +- .../zz_privatedatabaseuser_terraformed.go | 2 +- .../v1alpha1/zz_privatedatabaseuser_types.go | 7 +- .../zz_privatedatabaseusergrant_types.go | 4 +- .../zz_privatedatabasewhitelist_types.go | 4 +- .../v1alpha1/zz_containerregistry_types.go | 4 +- ...rregistryiprestrictionsmanagement_types.go | 4 +- ...nerregistryiprestrictionsregistry_types.go | 4 +- .../zz_containerregistryoidc_terraformed.go | 2 +- .../zz_containerregistryoidc_types.go | 6 +- .../zz_containerregistryuser_types.go | 4 +- .../v1alpha1/zz_generated.deepcopy.go | 1 + .../zz_projectregionstoragepresign_types.go | 4 +- .../zz_projectworkflowbackup_types.go | 4 +- apis/vrack/v1alpha1/zz_cloudproject_types.go | 4 +- .../v1alpha1/zz_dedicatedserver_types.go | 4 +- .../zz_dedicatedserverinterface_types.go | 4 +- .../v1alpha1/zz_generated.conversion_hubs.go | 6 +- apis/vrack/v1alpha1/zz_generated.deepcopy.go | 10 + apis/vrack/v1alpha1/zz_ip_types.go | 4 +- .../v1alpha1/zz_iploadbalancing_types.go | 4 +- apis/vrack/v1alpha1/zz_vrack_types.go | 16 +- build | 2 +- config/additional_ip/config.go | 12 +- config/dns/config.go | 4 + config/external_name.go | 54 +- config/lb/config.go | 6 + config/logs/config.go | 4 + config/me/config.go | 4 - config/provider-metadata.yaml | 3657 ++++------------- config/provider.go | 2 + config/schema.json | 2 +- config/vps/config.go | 8 + examples-generated/dns/v1alpha1/zone.yaml | 20 - .../dns/v1alpha1/zonerecord.yaml | 15 - .../dns/v1alpha1/zoneredirection.yaml | 14 - fix.sh | 16 + go.mod | 59 +- go.sum | 140 +- .../firewall}/zz_controller.go | 37 +- .../firewallrule/zz_controller.go | 87 + .../additionalip/mitigation/zz_controller.go | 87 + .../additionalip/move/zz_controller.go | 13 + .../projectfailoveripattach/zz_controller.go | 13 + .../additionalip/reverse/zz_controller.go | 13 + .../additionalip/service/zz_controller.go | 13 + .../controller/cloud/project/zz_controller.go | 13 + .../zz_controller.go | 87 + .../cloud/s3credentials/zz_controller.go | 13 + .../cloud/s3policy/zz_controller.go | 13 + .../controller/cloud/user/zz_controller.go | 13 + .../clouddiskarray/cephacl/zz_controller.go | 13 + .../projectdatabase/zz_controller.go | 13 + .../projectdatabasedatabase/zz_controller.go | 13 + .../zz_controller.go | 13 + .../zz_controller.go | 13 + .../projectdatabasekafkaacl/zz_controller.go | 13 + .../zz_controller.go | 13 + .../zz_controller.go | 13 + .../zz_controller.go | 13 + .../projectdatabasem3dbuser/zz_controller.go | 13 + .../zz_controller.go | 13 + .../zz_controller.go | 13 + .../zz_controller.go | 13 + .../zz_controller.go | 13 + .../zz_controller.go | 13 + .../projectdatabaseredisuser/zz_controller.go | 13 + .../projectdatabaseuser/zz_controller.go | 13 + .../installationtemplate/zz_controller.go | 13 + .../zz_controller.go | 13 + .../zz_controller.go | 13 + .../zz_controller.go | 13 + .../serverinstalltask/zz_controller.go | 13 + .../servernetworking/zz_controller.go | 13 + .../serverreboottask/zz_controller.go | 13 + .../serverupdate/zz_controller.go | 13 + internal/controller/dns/zone/zz_controller.go | 13 + .../dns/zonednssec/zz_controller.go | 87 + .../dns/zonerecord/zz_controller.go | 13 + .../dns/zoneredirection/zz_controller.go | 13 + .../gateway/projectgateway/zz_controller.go | 13 + .../iam/iampermissionsgroup/zz_controller.go | 13 + .../controller/iam/iampolicy/zz_controller.go | 13 + .../iam/iamresourcegroup/zz_controller.go | 13 + .../controller/kube/cluster/zz_controller.go | 13 + .../kube/iprestriction/zz_controller.go | 13 + .../controller/kube/nodepool/zz_controller.go | 13 + .../kube/oidcconfiguration/zz_controller.go | 13 + .../controller/lb/httpfarm/zz_controller.go | 13 + .../lb/httpfarmserver/zz_controller.go | 13 + .../lb/httpfrontend/zz_controller.go | 13 + .../controller/lb/httproute/zz_controller.go | 13 + .../lb/httprouterule/zz_controller.go | 13 + .../lb/iploadbalancing/zz_controller.go | 13 + .../controller/lb/refresh/zz_controller.go | 13 + .../controller/lb/tcpfarm/zz_controller.go | 13 + .../lb/tcpfarmserver/zz_controller.go | 13 + .../lb/tcpfrontend/zz_controller.go | 13 + .../controller/lb/tcproute/zz_controller.go | 13 + .../lb/tcprouterule/zz_controller.go | 13 + .../lb/udpfrontend/zz_controller.go | 87 + .../lb/vracknetwork/zz_controller.go | 13 + .../logs/logscluster/zz_controller.go | 13 + .../logs/logsinput/zz_controller.go | 13 + .../logs/logstoken/zz_controller.go | 87 + internal/controller/me/group/zz_controller.go | 13 + .../me/oauth2client/zz_controller.go | 13 + internal/controller/me/user/zz_controller.go | 13 + .../nas/nashapartition/zz_controller.go | 13 + .../nas/nashapartitionaccess/zz_controller.go | 13 + .../nashapartitionsnapshot/zz_controller.go | 13 + .../network/privatenetwork/zz_controller.go | 13 + .../network/subnet/zz_controller.go | 13 + .../privatedatabase/zz_controller.go | 13 + .../privatedatabasedatabase/zz_controller.go | 13 + .../privatedatabaseuser/zz_controller.go | 13 + .../privatedatabaseusergrant/zz_controller.go | 13 + .../privatedatabasewhitelist/zz_controller.go | 13 + .../containerregistry/zz_controller.go | 13 + .../zz_controller.go | 13 + .../zz_controller.go | 13 + .../containerregistryoidc/zz_controller.go | 13 + .../containerregistryuser/zz_controller.go | 13 + .../zz_controller.go | 13 + .../projectworkflowbackup/zz_controller.go | 13 + .../vrack/cloudproject/zz_controller.go | 13 + .../vrack/dedicatedserver/zz_controller.go | 13 + .../dedicatedserverinterface/zz_controller.go | 13 + internal/controller/vrack/ip/zz_controller.go | 13 + .../vrack/iploadbalancing/zz_controller.go | 13 + .../controller/vrack/vrack/zz_controller.go | 13 + internal/controller/zz_setup.go | 16 +- ...itionalip.ovh.edixos.io_firewallrules.yaml | 456 ++ .../additionalip.ovh.edixos.io_firewalls.yaml | 361 ++ ...dditionalip.ovh.edixos.io_mitigations.yaml | 367 ++ .../additionalip.ovh.edixos.io_moves.yaml | 22 +- ...h.edixos.io_projectfailoveripattaches.yaml | 22 +- .../additionalip.ovh.edixos.io_reverses.yaml | 22 +- .../additionalip.ovh.edixos.io_services.yaml | 36 +- ...ectregionloadbalancerlogsubscriptions.yaml | 423 ++ .../crds/cloud.ovh.edixos.io_projects.yaml | 36 +- .../cloud.ovh.edixos.io_s3credentials.yaml | 22 +- .../crds/cloud.ovh.edixos.io_s3policies.yaml | 22 +- package/crds/cloud.ovh.edixos.io_users.yaml | 22 +- ...clouddiskarray.ovh.edixos.io_cephacls.yaml | 22 +- ...vh.edixos.io_projectdatabasedatabases.yaml | 22 +- ...edixos.io_projectdatabaseintegrations.yaml | 22 +- ...ixos.io_projectdatabaseiprestrictions.yaml | 22 +- ...vh.edixos.io_projectdatabasekafkaacls.yaml | 22 +- ...rojectdatabasekafkaschemaregistryacls.yaml | 22 +- ....edixos.io_projectdatabasekafkatopics.yaml | 22 +- ...ixos.io_projectdatabasem3dbnamespaces.yaml | 22 +- ...vh.edixos.io_projectdatabasem3dbusers.yaml | 22 +- ...edixos.io_projectdatabasemongodbusers.yaml | 22 +- ....io_projectdatabaseopensearchpatterns.yaml | 22 +- ...xos.io_projectdatabaseopensearchusers.yaml | 22 +- ...jectdatabasepostgresqlconnectionpools.yaml | 22 +- ...xos.io_projectdatabasepostgresqlusers.yaml | 22 +- ...h.edixos.io_projectdatabaseredisusers.yaml | 22 +- ...abases.ovh.edixos.io_projectdatabases.yaml | 73 +- ...es.ovh.edixos.io_projectdatabaseusers.yaml | 22 +- ...ntemplatepartitionschemehardwareraids.yaml | 22 +- ...tiontemplatepartitionschemepartitions.yaml | 22 +- ..._installationtemplatepartitionschemes.yaml | 22 +- ...r.ovh.edixos.io_installationtemplates.yaml | 140 +- ...rver.ovh.edixos.io_serverinstalltasks.yaml | 121 +- ...erver.ovh.edixos.io_servernetworkings.yaml | 22 +- ...erver.ovh.edixos.io_serverreboottasks.yaml | 22 +- ...tedserver.ovh.edixos.io_serverupdates.yaml | 31 +- ...aml => dns.ovh.edixos.io_zonednssecs.yaml} | 84 +- .../crds/dns.ovh.edixos.io_zonerecords.yaml | 41 +- .../dns.ovh.edixos.io_zoneredirections.yaml | 48 +- package/crds/dns.ovh.edixos.io_zones.yaml | 273 +- ...gateway.ovh.edixos.io_projectgateways.yaml | 53 +- ...am.ovh.edixos.io_iampermissionsgroups.yaml | 22 +- .../crds/iam.ovh.edixos.io_iampolicies.yaml | 22 +- .../iam.ovh.edixos.io_iamresourcegroups.yaml | 22 +- package/crds/kube.ovh.edixos.io_clusters.yaml | 34 +- .../kube.ovh.edixos.io_iprestrictions.yaml | 22 +- .../crds/kube.ovh.edixos.io_nodepools.yaml | 22 +- ...kube.ovh.edixos.io_oidcconfigurations.yaml | 22 +- package/crds/lb.ovh.edixos.io_httpfarms.yaml | 22 +- .../lb.ovh.edixos.io_httpfarmservers.yaml | 22 +- .../crds/lb.ovh.edixos.io_httpfrontends.yaml | 25 +- .../crds/lb.ovh.edixos.io_httprouterules.yaml | 22 +- package/crds/lb.ovh.edixos.io_httproutes.yaml | 22 +- .../lb.ovh.edixos.io_iploadbalancings.yaml | 36 +- package/crds/lb.ovh.edixos.io_refreshes.yaml | 22 +- package/crds/lb.ovh.edixos.io_tcpfarms.yaml | 22 +- .../crds/lb.ovh.edixos.io_tcpfarmservers.yaml | 22 +- .../crds/lb.ovh.edixos.io_tcpfrontends.yaml | 43 +- .../crds/lb.ovh.edixos.io_tcprouterules.yaml | 22 +- package/crds/lb.ovh.edixos.io_tcproutes.yaml | 22 +- .../crds/lb.ovh.edixos.io_udpfrontends.yaml | 425 ++ .../crds/lb.ovh.edixos.io_vracknetworks.yaml | 22 +- .../crds/logs.ovh.edixos.io_logsclusters.yaml | 22 +- .../crds/logs.ovh.edixos.io_logsinputs.yaml | 22 +- .../crds/logs.ovh.edixos.io_logstokens.yaml | 370 ++ package/crds/me.ovh.edixos.io_groups.yaml | 22 +- .../crds/me.ovh.edixos.io_oauth2clients.yaml | 22 +- package/crds/me.ovh.edixos.io_users.yaml | 41 +- ....ovh.edixos.io_nashapartitionaccesses.yaml | 31 +- .../nas.ovh.edixos.io_nashapartitions.yaml | 22 +- ...ovh.edixos.io_nashapartitionsnapshots.yaml | 22 +- ...network.ovh.edixos.io_privatenetworks.yaml | 22 +- .../crds/network.ovh.edixos.io_subnets.yaml | 22 +- .../crds/ovh.edixos.io_providerconfigs.yaml | 7 + package/crds/ovh.edixos.io_storeconfigs.yaml | 7 + ...vh.edixos.io_privatedatabasedatabases.yaml | 22 +- ...atesql.ovh.edixos.io_privatedatabases.yaml | 36 +- ...h.edixos.io_privatedatabaseusergrants.yaml | 22 +- ...ql.ovh.edixos.io_privatedatabaseusers.yaml | 42 +- ...h.edixos.io_privatedatabasewhitelists.yaml | 22 +- ...try.ovh.edixos.io_containerregistries.yaml | 22 +- ...inerregistryiprestrictionsmanagements.yaml | 22 +- ...ainerregistryiprestrictionsregistries.yaml | 22 +- ....ovh.edixos.io_containerregistryoidcs.yaml | 42 +- ....ovh.edixos.io_containerregistryusers.yaml | 22 +- ...dixos.io_projectregionstoragepresigns.yaml | 22 +- ....ovh.edixos.io_projectworkflowbackups.yaml | 22 +- .../vrack.ovh.edixos.io_cloudprojects.yaml | 22 +- ...h.edixos.io_dedicatedserverinterfaces.yaml | 22 +- .../vrack.ovh.edixos.io_dedicatedservers.yaml | 22 +- .../vrack.ovh.edixos.io_iploadbalancings.yaml | 22 +- package/crds/vrack.ovh.edixos.io_ips.yaml | 22 +- package/crds/vrack.ovh.edixos.io_vracks.yaml | 36 +- 343 files changed, 12206 insertions(+), 4775 deletions(-) rename apis/{me/v1alpha1/zz_sshkey_terraformed.go => additionalip/v1alpha1/zz_firewall_terraformed.go} (69%) create mode 100755 apis/additionalip/v1alpha1/zz_firewall_types.go create mode 100755 apis/additionalip/v1alpha1/zz_firewallrule_terraformed.go create mode 100755 apis/additionalip/v1alpha1/zz_firewallrule_types.go create mode 100755 apis/additionalip/v1alpha1/zz_mitigation_terraformed.go create mode 100755 apis/additionalip/v1alpha1/zz_mitigation_types.go create mode 100755 apis/cloud/v1alpha1/zz_projectregionloadbalancerlogsubscription_terraformed.go create mode 100755 apis/cloud/v1alpha1/zz_projectregionloadbalancerlogsubscription_types.go create mode 100755 apis/dns/v1alpha1/zz_zonednssec_terraformed.go create mode 100755 apis/dns/v1alpha1/zz_zonednssec_types.go create mode 100755 apis/lb/v1alpha1/zz_udpfrontend_terraformed.go create mode 100755 apis/lb/v1alpha1/zz_udpfrontend_types.go create mode 100755 apis/logs/v1alpha1/zz_logstoken_terraformed.go create mode 100755 apis/logs/v1alpha1/zz_logstoken_types.go delete mode 100755 apis/me/v1alpha1/zz_sshkey_types.go create mode 100644 config/vps/config.go delete mode 100644 examples-generated/dns/v1alpha1/zone.yaml delete mode 100644 examples-generated/dns/v1alpha1/zonerecord.yaml delete mode 100644 examples-generated/dns/v1alpha1/zoneredirection.yaml create mode 100644 fix.sh rename internal/controller/{me/sshkey => additionalip/firewall}/zz_controller.go (66%) create mode 100755 internal/controller/additionalip/firewallrule/zz_controller.go create mode 100755 internal/controller/additionalip/mitigation/zz_controller.go create mode 100755 internal/controller/cloud/projectregionloadbalancerlogsubscription/zz_controller.go create mode 100755 internal/controller/dns/zonednssec/zz_controller.go create mode 100755 internal/controller/lb/udpfrontend/zz_controller.go create mode 100755 internal/controller/logs/logstoken/zz_controller.go create mode 100644 package/crds/additionalip.ovh.edixos.io_firewallrules.yaml create mode 100644 package/crds/additionalip.ovh.edixos.io_firewalls.yaml create mode 100644 package/crds/additionalip.ovh.edixos.io_mitigations.yaml create mode 100644 package/crds/cloud.ovh.edixos.io_projectregionloadbalancerlogsubscriptions.yaml rename package/crds/{me.ovh.edixos.io_sshkeys.yaml => dns.ovh.edixos.io_zonednssecs.yaml} (88%) create mode 100644 package/crds/lb.ovh.edixos.io_udpfrontends.yaml create mode 100644 package/crds/logs.ovh.edixos.io_logstokens.yaml diff --git a/.gitmodules b/.gitmodules index c2fad47..8f84209 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "build"] path = build - url = https://github.com/upbound/build + url = https://github.com/crossplane/build diff --git a/Makefile b/Makefile index 2160f20..42759f7 100644 --- a/Makefile +++ b/Makefile @@ -4,14 +4,14 @@ PROJECT_NAME ?= provider-ovh PROJECT_REPO ?= github.com/edixos/$(PROJECT_NAME) -export TERRAFORM_VERSION ?= 1.2.1 +export TERRAFORM_VERSION ?= 1.8.1 export TERRAFORM_PROVIDER_SOURCE ?= ovh/ovh export TERRAFORM_PROVIDER_REPO ?= https://github.com/ovh/terraform-provider-ovh -export TERRAFORM_PROVIDER_VERSION ?= 0.40.0 +export TERRAFORM_PROVIDER_VERSION ?= 0.48.0 export TERRAFORM_PROVIDER_DOWNLOAD_NAME ?= terraform-provider-ovh export TERRAFORM_PROVIDER_DOWNLOAD_URL_PREFIX ?= https://releases.hashicorp.com/$(TERRAFORM_PROVIDER_DOWNLOAD_NAME)/$(TERRAFORM_PROVIDER_VERSION) -export TERRAFORM_NATIVE_PROVIDER_BINARY ?= terraform-provider-ovh_v0.40.0 +export TERRAFORM_NATIVE_PROVIDER_BINARY ?= terraform-provider-ovh_v0.48.0 export TERRAFORM_DOCS_PATH ?= website/docs @@ -40,8 +40,8 @@ NPROCS ?= 1 # to half the number of CPU cores. GO_TEST_PARALLEL := $(shell echo $$(( $(NPROCS) / 2 ))) -GO_REQUIRED_VERSION ?= 1.19 -GOLANGCILINT_VERSION ?= 1.56.2 +GO_REQUIRED_VERSION ?= 1.22 +GOLANGCILINT_VERSION ?= 1.60.1 GO_STATIC_PACKAGES = $(GO_PROJECT)/cmd/provider $(GO_PROJECT)/cmd/generator GO_LDFLAGS += -X $(GO_PROJECT)/internal/version.Version=$(VERSION) GO_SUBDIRS += cmd internal apis @@ -51,9 +51,9 @@ GO_SUBDIRS += cmd internal apis # Setup Kubernetes tools KIND_VERSION = v0.15.0 -UP_VERSION = v0.18.0 +UP_VERSION = v0.32.1 UP_CHANNEL = stable -UPTEST_VERSION = v0.5.0 +UPTEST_VERSION = v0.13.1 -include build/makelib/k8s_tools.mk # ==================================================================================== diff --git a/apis/me/v1alpha1/zz_sshkey_terraformed.go b/apis/additionalip/v1alpha1/zz_firewall_terraformed.go similarity index 69% rename from apis/me/v1alpha1/zz_sshkey_terraformed.go rename to apis/additionalip/v1alpha1/zz_firewall_terraformed.go index 47c72e8..bf7cf3e 100755 --- a/apis/me/v1alpha1/zz_sshkey_terraformed.go +++ b/apis/additionalip/v1alpha1/zz_firewall_terraformed.go @@ -14,18 +14,18 @@ import ( "github.com/crossplane/upjet/pkg/resource/json" ) -// GetTerraformResourceType returns Terraform resource type for this SSHKey -func (mg *SSHKey) GetTerraformResourceType() string { - return "ovh_me_ssh_key" +// GetTerraformResourceType returns Terraform resource type for this Firewall +func (mg *Firewall) GetTerraformResourceType() string { + return "ovh_ip_firewall" } -// GetConnectionDetailsMapping for this SSHKey -func (tr *SSHKey) GetConnectionDetailsMapping() map[string]string { +// GetConnectionDetailsMapping for this Firewall +func (tr *Firewall) GetConnectionDetailsMapping() map[string]string { return nil } -// GetObservation of this SSHKey -func (tr *SSHKey) GetObservation() (map[string]any, error) { +// GetObservation of this Firewall +func (tr *Firewall) GetObservation() (map[string]any, error) { o, err := json.TFParser.Marshal(tr.Status.AtProvider) if err != nil { return nil, err @@ -34,8 +34,8 @@ func (tr *SSHKey) GetObservation() (map[string]any, error) { return base, json.TFParser.Unmarshal(o, &base) } -// SetObservation for this SSHKey -func (tr *SSHKey) SetObservation(obs map[string]any) error { +// SetObservation for this Firewall +func (tr *Firewall) SetObservation(obs map[string]any) error { p, err := json.TFParser.Marshal(obs) if err != nil { return err @@ -43,16 +43,16 @@ func (tr *SSHKey) SetObservation(obs map[string]any) error { return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) } -// GetID returns ID of underlying Terraform resource of this SSHKey -func (tr *SSHKey) GetID() string { +// GetID returns ID of underlying Terraform resource of this Firewall +func (tr *Firewall) GetID() string { if tr.Status.AtProvider.ID == nil { return "" } return *tr.Status.AtProvider.ID } -// GetParameters of this SSHKey -func (tr *SSHKey) GetParameters() (map[string]any, error) { +// GetParameters of this Firewall +func (tr *Firewall) GetParameters() (map[string]any, error) { p, err := json.TFParser.Marshal(tr.Spec.ForProvider) if err != nil { return nil, err @@ -61,8 +61,8 @@ func (tr *SSHKey) GetParameters() (map[string]any, error) { return base, json.TFParser.Unmarshal(p, &base) } -// SetParameters for this SSHKey -func (tr *SSHKey) SetParameters(params map[string]any) error { +// SetParameters for this Firewall +func (tr *Firewall) SetParameters(params map[string]any) error { p, err := json.TFParser.Marshal(params) if err != nil { return err @@ -70,8 +70,8 @@ func (tr *SSHKey) SetParameters(params map[string]any) error { return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) } -// GetInitParameters of this SSHKey -func (tr *SSHKey) GetInitParameters() (map[string]any, error) { +// GetInitParameters of this Firewall +func (tr *Firewall) GetInitParameters() (map[string]any, error) { p, err := json.TFParser.Marshal(tr.Spec.InitProvider) if err != nil { return nil, err @@ -80,8 +80,8 @@ func (tr *SSHKey) GetInitParameters() (map[string]any, error) { return base, json.TFParser.Unmarshal(p, &base) } -// GetInitParameters of this SSHKey -func (tr *SSHKey) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { +// GetInitParameters of this Firewall +func (tr *Firewall) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { params, err := tr.GetParameters() if err != nil { return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) @@ -110,10 +110,10 @@ func (tr *SSHKey) GetMergedParameters(shouldMergeInitProvider bool) (map[string] return params, nil } -// LateInitialize this SSHKey using its observed tfState. +// LateInitialize this Firewall using its observed tfState. // returns True if there are any spec changes for the resource. -func (tr *SSHKey) LateInitialize(attrs []byte) (bool, error) { - params := &SSHKeyParameters{} +func (tr *Firewall) LateInitialize(attrs []byte) (bool, error) { + params := &FirewallParameters{} if err := json.TFParser.Unmarshal(attrs, params); err != nil { return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") } @@ -124,6 +124,6 @@ func (tr *SSHKey) LateInitialize(attrs []byte) (bool, error) { } // GetTerraformSchemaVersion returns the associated Terraform schema version -func (tr *SSHKey) GetTerraformSchemaVersion() int { +func (tr *Firewall) GetTerraformSchemaVersion() int { return 0 } diff --git a/apis/additionalip/v1alpha1/zz_firewall_types.go b/apis/additionalip/v1alpha1/zz_firewall_types.go new file mode 100755 index 0000000..baa3cee --- /dev/null +++ b/apis/additionalip/v1alpha1/zz_firewall_types.go @@ -0,0 +1,116 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type FirewallInitParameters struct { + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // IPv4 address (e.g., 192.0.2.0) + IPOnFirewall *string `json:"ipOnFirewall,omitempty" tf:"ip_on_firewall,omitempty"` +} + +type FirewallObservation struct { + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // IPv4 address (e.g., 192.0.2.0) + IPOnFirewall *string `json:"ipOnFirewall,omitempty" tf:"ip_on_firewall,omitempty"` + + // Current state of your ip on firewall + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type FirewallParameters struct { + + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + // +kubebuilder:validation:Optional + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // IPv4 address (e.g., 192.0.2.0) + // +kubebuilder:validation:Optional + IPOnFirewall *string `json:"ipOnFirewall,omitempty" tf:"ip_on_firewall,omitempty"` +} + +// FirewallSpec defines the desired state of Firewall +type FirewallSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FirewallParameters `json:"forProvider"` + // THIS IS A BETA FIELD. It will be honored + // unless the Management Policies feature flag is disabled. + // InitProvider holds the same fields as ForProvider, with the exception + // of Identifier and other resource reference fields. The fields that are + // in InitProvider are merged into ForProvider when the resource is created. + // The same fields are also added to the terraform ignore_changes hook, to + // avoid updating them after creation. This is useful for fields that are + // required on creation, but we do not desire to update them after creation, + // for example because of an external controller is managing them, like an + // autoscaler. + InitProvider FirewallInitParameters `json:"initProvider,omitempty"` +} + +// FirewallStatus defines the observed state of Firewall. +type FirewallStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FirewallObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// Firewall is the Schema for the Firewalls API. +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} +type Firewall struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.ip) || (has(self.initProvider) && has(self.initProvider.ip))",message="spec.forProvider.ip is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.ipOnFirewall) || (has(self.initProvider) && has(self.initProvider.ipOnFirewall))",message="spec.forProvider.ipOnFirewall is a required parameter" + Spec FirewallSpec `json:"spec"` + Status FirewallStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FirewallList contains a list of Firewalls +type FirewallList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Firewall `json:"items"` +} + +// Repository type metadata. +var ( + Firewall_Kind = "Firewall" + Firewall_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Firewall_Kind}.String() + Firewall_KindAPIVersion = Firewall_Kind + "." + CRDGroupVersion.String() + Firewall_GroupVersionKind = CRDGroupVersion.WithKind(Firewall_Kind) +) + +func init() { + SchemeBuilder.Register(&Firewall{}, &FirewallList{}) +} diff --git a/apis/additionalip/v1alpha1/zz_firewallrule_terraformed.go b/apis/additionalip/v1alpha1/zz_firewallrule_terraformed.go new file mode 100755 index 0000000..0b212d7 --- /dev/null +++ b/apis/additionalip/v1alpha1/zz_firewallrule_terraformed.go @@ -0,0 +1,129 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this FirewallRule +func (mg *FirewallRule) GetTerraformResourceType() string { + return "ovh_ip_firewall_rule" +} + +// GetConnectionDetailsMapping for this FirewallRule +func (tr *FirewallRule) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this FirewallRule +func (tr *FirewallRule) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this FirewallRule +func (tr *FirewallRule) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this FirewallRule +func (tr *FirewallRule) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this FirewallRule +func (tr *FirewallRule) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this FirewallRule +func (tr *FirewallRule) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this FirewallRule +func (tr *FirewallRule) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this FirewallRule +func (tr *FirewallRule) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this FirewallRule using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *FirewallRule) LateInitialize(attrs []byte) (bool, error) { + params := &FirewallRuleParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *FirewallRule) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/additionalip/v1alpha1/zz_firewallrule_types.go b/apis/additionalip/v1alpha1/zz_firewallrule_types.go new file mode 100755 index 0000000..f35fdee --- /dev/null +++ b/apis/additionalip/v1alpha1/zz_firewallrule_types.go @@ -0,0 +1,207 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type FirewallRuleInitParameters struct { + + // Possible values for action + Action *string `json:"action,omitempty" tf:"action,omitempty"` + + // Destination port for your rule. Only with TCP/UDP protocol + DestinationPort *float64 `json:"destinationPort,omitempty" tf:"destination_port,omitempty"` + + // Fragments option + Fragments *bool `json:"fragments,omitempty" tf:"fragments,omitempty"` + + // IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // IPv4 address (e.g., 192.0.2.0) + IPOnFirewall *string `json:"ipOnFirewall,omitempty" tf:"ip_on_firewall,omitempty"` + + // Possible values for protocol + Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"` + + // Possible values for action + Sequence *float64 `json:"sequence,omitempty" tf:"sequence,omitempty"` + + // IPv4 CIDR notation (e.g., 192.0.2.0/24) + Source *string `json:"source,omitempty" tf:"source,omitempty"` + + // Source port for your rule. Only with TCP/UDP protocol + SourcePort *float64 `json:"sourcePort,omitempty" tf:"source_port,omitempty"` + + // TCP option on your rule + TCPOption *string `json:"tcpOption,omitempty" tf:"tcp_option,omitempty"` +} + +type FirewallRuleObservation struct { + + // Possible values for action + Action *string `json:"action,omitempty" tf:"action,omitempty"` + + CreationDate *string `json:"creationDate,omitempty" tf:"creation_date,omitempty"` + + // Destination ip for your rule + Destination *string `json:"destination,omitempty" tf:"destination,omitempty"` + + // Destination port for your rule. Only with TCP/UDP protocol + DestinationPort *float64 `json:"destinationPort,omitempty" tf:"destination_port,omitempty"` + + // Destination port range for your rule. Only with TCP/UDP protocol + DestinationPortDesc *string `json:"destinationPortDesc,omitempty" tf:"destination_port_desc,omitempty"` + + // Fragments option + Fragments *bool `json:"fragments,omitempty" tf:"fragments,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // IPv4 address (e.g., 192.0.2.0) + IPOnFirewall *string `json:"ipOnFirewall,omitempty" tf:"ip_on_firewall,omitempty"` + + // Possible values for protocol + Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"` + + Rule *string `json:"rule,omitempty" tf:"rule,omitempty"` + + // Possible values for action + Sequence *float64 `json:"sequence,omitempty" tf:"sequence,omitempty"` + + // IPv4 CIDR notation (e.g., 192.0.2.0/24) + Source *string `json:"source,omitempty" tf:"source,omitempty"` + + // Source port for your rule. Only with TCP/UDP protocol + SourcePort *float64 `json:"sourcePort,omitempty" tf:"source_port,omitempty"` + + // Source port for your rule. Only with TCP/UDP protocol + SourcePortDesc *string `json:"sourcePortDesc,omitempty" tf:"source_port_desc,omitempty"` + + // Current state of your rule + State *string `json:"state,omitempty" tf:"state,omitempty"` + + // TCP option on your rule + TCPOption *string `json:"tcpOption,omitempty" tf:"tcp_option,omitempty"` +} + +type FirewallRuleParameters struct { + + // Possible values for action + // +kubebuilder:validation:Optional + Action *string `json:"action,omitempty" tf:"action,omitempty"` + + // Destination port for your rule. Only with TCP/UDP protocol + // +kubebuilder:validation:Optional + DestinationPort *float64 `json:"destinationPort,omitempty" tf:"destination_port,omitempty"` + + // Fragments option + // +kubebuilder:validation:Optional + Fragments *bool `json:"fragments,omitempty" tf:"fragments,omitempty"` + + // IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + // +kubebuilder:validation:Optional + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // IPv4 address (e.g., 192.0.2.0) + // +kubebuilder:validation:Optional + IPOnFirewall *string `json:"ipOnFirewall,omitempty" tf:"ip_on_firewall,omitempty"` + + // Possible values for protocol + // +kubebuilder:validation:Optional + Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"` + + // Possible values for action + // +kubebuilder:validation:Optional + Sequence *float64 `json:"sequence,omitempty" tf:"sequence,omitempty"` + + // IPv4 CIDR notation (e.g., 192.0.2.0/24) + // +kubebuilder:validation:Optional + Source *string `json:"source,omitempty" tf:"source,omitempty"` + + // Source port for your rule. Only with TCP/UDP protocol + // +kubebuilder:validation:Optional + SourcePort *float64 `json:"sourcePort,omitempty" tf:"source_port,omitempty"` + + // TCP option on your rule + // +kubebuilder:validation:Optional + TCPOption *string `json:"tcpOption,omitempty" tf:"tcp_option,omitempty"` +} + +// FirewallRuleSpec defines the desired state of FirewallRule +type FirewallRuleSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider FirewallRuleParameters `json:"forProvider"` + // THIS IS A BETA FIELD. It will be honored + // unless the Management Policies feature flag is disabled. + // InitProvider holds the same fields as ForProvider, with the exception + // of Identifier and other resource reference fields. The fields that are + // in InitProvider are merged into ForProvider when the resource is created. + // The same fields are also added to the terraform ignore_changes hook, to + // avoid updating them after creation. This is useful for fields that are + // required on creation, but we do not desire to update them after creation, + // for example because of an external controller is managing them, like an + // autoscaler. + InitProvider FirewallRuleInitParameters `json:"initProvider,omitempty"` +} + +// FirewallRuleStatus defines the observed state of FirewallRule. +type FirewallRuleStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider FirewallRuleObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// FirewallRule is the Schema for the FirewallRules API. +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} +type FirewallRule struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.action) || (has(self.initProvider) && has(self.initProvider.action))",message="spec.forProvider.action is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.ip) || (has(self.initProvider) && has(self.initProvider.ip))",message="spec.forProvider.ip is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.ipOnFirewall) || (has(self.initProvider) && has(self.initProvider.ipOnFirewall))",message="spec.forProvider.ipOnFirewall is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.protocol) || (has(self.initProvider) && has(self.initProvider.protocol))",message="spec.forProvider.protocol is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.sequence) || (has(self.initProvider) && has(self.initProvider.sequence))",message="spec.forProvider.sequence is a required parameter" + Spec FirewallRuleSpec `json:"spec"` + Status FirewallRuleStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// FirewallRuleList contains a list of FirewallRules +type FirewallRuleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FirewallRule `json:"items"` +} + +// Repository type metadata. +var ( + FirewallRule_Kind = "FirewallRule" + FirewallRule_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: FirewallRule_Kind}.String() + FirewallRule_KindAPIVersion = FirewallRule_Kind + "." + CRDGroupVersion.String() + FirewallRule_GroupVersionKind = CRDGroupVersion.WithKind(FirewallRule_Kind) +) + +func init() { + SchemeBuilder.Register(&FirewallRule{}, &FirewallRuleList{}) +} diff --git a/apis/additionalip/v1alpha1/zz_generated.conversion_hubs.go b/apis/additionalip/v1alpha1/zz_generated.conversion_hubs.go index 4e4c666..32ca8d4 100755 --- a/apis/additionalip/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/additionalip/v1alpha1/zz_generated.conversion_hubs.go @@ -7,11 +7,20 @@ Copyright 2022 Upbound Inc. package v1alpha1 // Hub marks this type as a conversion hub. -func (tr *ProjectFailoverIPAttach) Hub() {} +func (tr *Firewall) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *FirewallRule) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *Mitigation) Hub() {} // Hub marks this type as a conversion hub. func (tr *Move) Hub() {} +// Hub marks this type as a conversion hub. +func (tr *ProjectFailoverIPAttach) Hub() {} + // Hub marks this type as a conversion hub. func (tr *Reverse) Hub() {} diff --git a/apis/additionalip/v1alpha1/zz_generated.deepcopy.go b/apis/additionalip/v1alpha1/zz_generated.deepcopy.go index 4f5c24e..3409768 100644 --- a/apis/additionalip/v1alpha1/zz_generated.deepcopy.go +++ b/apis/additionalip/v1alpha1/zz_generated.deepcopy.go @@ -152,6 +152,723 @@ func (in *DetailsParameters) DeepCopy() *DetailsParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Firewall) DeepCopyInto(out *Firewall) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Firewall. +func (in *Firewall) DeepCopy() *Firewall { + if in == nil { + return nil + } + out := new(Firewall) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Firewall) 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 *FirewallInitParameters) DeepCopyInto(out *FirewallInitParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.IPOnFirewall != nil { + in, out := &in.IPOnFirewall, &out.IPOnFirewall + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallInitParameters. +func (in *FirewallInitParameters) DeepCopy() *FirewallInitParameters { + if in == nil { + return nil + } + out := new(FirewallInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallList) DeepCopyInto(out *FirewallList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Firewall, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallList. +func (in *FirewallList) DeepCopy() *FirewallList { + if in == nil { + return nil + } + out := new(FirewallList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallList) 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 *FirewallObservation) DeepCopyInto(out *FirewallObservation) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.IPOnFirewall != nil { + in, out := &in.IPOnFirewall, &out.IPOnFirewall + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallObservation. +func (in *FirewallObservation) DeepCopy() *FirewallObservation { + if in == nil { + return nil + } + out := new(FirewallObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallParameters) DeepCopyInto(out *FirewallParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.IPOnFirewall != nil { + in, out := &in.IPOnFirewall, &out.IPOnFirewall + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallParameters. +func (in *FirewallParameters) DeepCopy() *FirewallParameters { + if in == nil { + return nil + } + out := new(FirewallParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRule) DeepCopyInto(out *FirewallRule) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRule. +func (in *FirewallRule) DeepCopy() *FirewallRule { + if in == nil { + return nil + } + out := new(FirewallRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallRule) 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 *FirewallRuleInitParameters) DeepCopyInto(out *FirewallRuleInitParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.DestinationPort != nil { + in, out := &in.DestinationPort, &out.DestinationPort + *out = new(float64) + **out = **in + } + if in.Fragments != nil { + in, out := &in.Fragments, &out.Fragments + *out = new(bool) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.IPOnFirewall != nil { + in, out := &in.IPOnFirewall, &out.IPOnFirewall + *out = new(string) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.Sequence != nil { + in, out := &in.Sequence, &out.Sequence + *out = new(float64) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } + if in.SourcePort != nil { + in, out := &in.SourcePort, &out.SourcePort + *out = new(float64) + **out = **in + } + if in.TCPOption != nil { + in, out := &in.TCPOption, &out.TCPOption + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleInitParameters. +func (in *FirewallRuleInitParameters) DeepCopy() *FirewallRuleInitParameters { + if in == nil { + return nil + } + out := new(FirewallRuleInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRuleList) DeepCopyInto(out *FirewallRuleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FirewallRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleList. +func (in *FirewallRuleList) DeepCopy() *FirewallRuleList { + if in == nil { + return nil + } + out := new(FirewallRuleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FirewallRuleList) 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 *FirewallRuleObservation) DeepCopyInto(out *FirewallRuleObservation) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.CreationDate != nil { + in, out := &in.CreationDate, &out.CreationDate + *out = new(string) + **out = **in + } + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.DestinationPort != nil { + in, out := &in.DestinationPort, &out.DestinationPort + *out = new(float64) + **out = **in + } + if in.DestinationPortDesc != nil { + in, out := &in.DestinationPortDesc, &out.DestinationPortDesc + *out = new(string) + **out = **in + } + if in.Fragments != nil { + in, out := &in.Fragments, &out.Fragments + *out = new(bool) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.IPOnFirewall != nil { + in, out := &in.IPOnFirewall, &out.IPOnFirewall + *out = new(string) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.Rule != nil { + in, out := &in.Rule, &out.Rule + *out = new(string) + **out = **in + } + if in.Sequence != nil { + in, out := &in.Sequence, &out.Sequence + *out = new(float64) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } + if in.SourcePort != nil { + in, out := &in.SourcePort, &out.SourcePort + *out = new(float64) + **out = **in + } + if in.SourcePortDesc != nil { + in, out := &in.SourcePortDesc, &out.SourcePortDesc + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } + if in.TCPOption != nil { + in, out := &in.TCPOption, &out.TCPOption + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleObservation. +func (in *FirewallRuleObservation) DeepCopy() *FirewallRuleObservation { + if in == nil { + return nil + } + out := new(FirewallRuleObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRuleParameters) DeepCopyInto(out *FirewallRuleParameters) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.DestinationPort != nil { + in, out := &in.DestinationPort, &out.DestinationPort + *out = new(float64) + **out = **in + } + if in.Fragments != nil { + in, out := &in.Fragments, &out.Fragments + *out = new(bool) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.IPOnFirewall != nil { + in, out := &in.IPOnFirewall, &out.IPOnFirewall + *out = new(string) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } + if in.Sequence != nil { + in, out := &in.Sequence, &out.Sequence + *out = new(float64) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } + if in.SourcePort != nil { + in, out := &in.SourcePort, &out.SourcePort + *out = new(float64) + **out = **in + } + if in.TCPOption != nil { + in, out := &in.TCPOption, &out.TCPOption + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleParameters. +func (in *FirewallRuleParameters) DeepCopy() *FirewallRuleParameters { + if in == nil { + return nil + } + out := new(FirewallRuleParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRuleSpec) DeepCopyInto(out *FirewallRuleSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleSpec. +func (in *FirewallRuleSpec) DeepCopy() *FirewallRuleSpec { + if in == nil { + return nil + } + out := new(FirewallRuleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRuleStatus) DeepCopyInto(out *FirewallRuleStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleStatus. +func (in *FirewallRuleStatus) DeepCopy() *FirewallRuleStatus { + if in == nil { + return nil + } + out := new(FirewallRuleStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallSpec) DeepCopyInto(out *FirewallSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallSpec. +func (in *FirewallSpec) DeepCopy() *FirewallSpec { + if in == nil { + return nil + } + out := new(FirewallSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallStatus) DeepCopyInto(out *FirewallStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallStatus. +func (in *FirewallStatus) DeepCopy() *FirewallStatus { + if in == nil { + return nil + } + out := new(FirewallStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Mitigation) DeepCopyInto(out *Mitigation) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mitigation. +func (in *Mitigation) DeepCopy() *Mitigation { + if in == nil { + return nil + } + out := new(Mitigation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Mitigation) 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 *MitigationInitParameters) DeepCopyInto(out *MitigationInitParameters) { + *out = *in + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.IPOnMitigation != nil { + in, out := &in.IPOnMitigation, &out.IPOnMitigation + *out = new(string) + **out = **in + } + if in.Permanent != nil { + in, out := &in.Permanent, &out.Permanent + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MitigationInitParameters. +func (in *MitigationInitParameters) DeepCopy() *MitigationInitParameters { + if in == nil { + return nil + } + out := new(MitigationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MitigationList) DeepCopyInto(out *MitigationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Mitigation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MitigationList. +func (in *MitigationList) DeepCopy() *MitigationList { + if in == nil { + return nil + } + out := new(MitigationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MitigationList) 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 *MitigationObservation) DeepCopyInto(out *MitigationObservation) { + *out = *in + if in.Auto != nil { + in, out := &in.Auto, &out.Auto + *out = new(bool) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.IPOnMitigation != nil { + in, out := &in.IPOnMitigation, &out.IPOnMitigation + *out = new(string) + **out = **in + } + if in.Permanent != nil { + in, out := &in.Permanent, &out.Permanent + *out = new(bool) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MitigationObservation. +func (in *MitigationObservation) DeepCopy() *MitigationObservation { + if in == nil { + return nil + } + out := new(MitigationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MitigationParameters) DeepCopyInto(out *MitigationParameters) { + *out = *in + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.IPOnMitigation != nil { + in, out := &in.IPOnMitigation, &out.IPOnMitigation + *out = new(string) + **out = **in + } + if in.Permanent != nil { + in, out := &in.Permanent, &out.Permanent + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MitigationParameters. +func (in *MitigationParameters) DeepCopy() *MitigationParameters { + if in == nil { + return nil + } + out := new(MitigationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MitigationSpec) DeepCopyInto(out *MitigationSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MitigationSpec. +func (in *MitigationSpec) DeepCopy() *MitigationSpec { + if in == nil { + return nil + } + out := new(MitigationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MitigationStatus) DeepCopyInto(out *MitigationStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MitigationStatus. +func (in *MitigationStatus) DeepCopy() *MitigationStatus { + if in == nil { + return nil + } + out := new(MitigationStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Move) DeepCopyInto(out *Move) { *out = *in @@ -1309,6 +2026,11 @@ func (in *ServiceInitParameters) DeepCopyInto(out *ServiceInitParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -1478,6 +2200,11 @@ func (in *ServiceParameters) DeepCopyInto(out *ServiceParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) diff --git a/apis/additionalip/v1alpha1/zz_generated.managed.go b/apis/additionalip/v1alpha1/zz_generated.managed.go index d936edf..5c317ed 100644 --- a/apis/additionalip/v1alpha1/zz_generated.managed.go +++ b/apis/additionalip/v1alpha1/zz_generated.managed.go @@ -7,6 +7,186 @@ package v1alpha1 import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +// GetCondition of this Firewall. +func (mg *Firewall) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Firewall. +func (mg *Firewall) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this Firewall. +func (mg *Firewall) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this Firewall. +func (mg *Firewall) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this Firewall. +func (mg *Firewall) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this Firewall. +func (mg *Firewall) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Firewall. +func (mg *Firewall) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Firewall. +func (mg *Firewall) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this Firewall. +func (mg *Firewall) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this Firewall. +func (mg *Firewall) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this Firewall. +func (mg *Firewall) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this Firewall. +func (mg *Firewall) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this FirewallRule. +func (mg *FirewallRule) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this FirewallRule. +func (mg *FirewallRule) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this FirewallRule. +func (mg *FirewallRule) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this FirewallRule. +func (mg *FirewallRule) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this FirewallRule. +func (mg *FirewallRule) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this FirewallRule. +func (mg *FirewallRule) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this FirewallRule. +func (mg *FirewallRule) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this FirewallRule. +func (mg *FirewallRule) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this FirewallRule. +func (mg *FirewallRule) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this FirewallRule. +func (mg *FirewallRule) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this FirewallRule. +func (mg *FirewallRule) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this FirewallRule. +func (mg *FirewallRule) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Mitigation. +func (mg *Mitigation) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Mitigation. +func (mg *Mitigation) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this Mitigation. +func (mg *Mitigation) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this Mitigation. +func (mg *Mitigation) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this Mitigation. +func (mg *Mitigation) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this Mitigation. +func (mg *Mitigation) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Mitigation. +func (mg *Mitigation) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Mitigation. +func (mg *Mitigation) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this Mitigation. +func (mg *Mitigation) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this Mitigation. +func (mg *Mitigation) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this Mitigation. +func (mg *Mitigation) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this Mitigation. +func (mg *Mitigation) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + // GetCondition of this Move. func (mg *Move) GetCondition(ct xpv1.ConditionType) xpv1.Condition { return mg.Status.GetCondition(ct) diff --git a/apis/additionalip/v1alpha1/zz_generated.managedlist.go b/apis/additionalip/v1alpha1/zz_generated.managedlist.go index 37203a8..5bec42c 100644 --- a/apis/additionalip/v1alpha1/zz_generated.managedlist.go +++ b/apis/additionalip/v1alpha1/zz_generated.managedlist.go @@ -7,6 +7,33 @@ package v1alpha1 import resource "github.com/crossplane/crossplane-runtime/pkg/resource" +// GetItems of this FirewallList. +func (l *FirewallList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this FirewallRuleList. +func (l *FirewallRuleList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this MitigationList. +func (l *MitigationList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + // GetItems of this MoveList. func (l *MoveList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) diff --git a/apis/additionalip/v1alpha1/zz_mitigation_terraformed.go b/apis/additionalip/v1alpha1/zz_mitigation_terraformed.go new file mode 100755 index 0000000..cc50c34 --- /dev/null +++ b/apis/additionalip/v1alpha1/zz_mitigation_terraformed.go @@ -0,0 +1,129 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Mitigation +func (mg *Mitigation) GetTerraformResourceType() string { + return "ovh_ip_mitigation" +} + +// GetConnectionDetailsMapping for this Mitigation +func (tr *Mitigation) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Mitigation +func (tr *Mitigation) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Mitigation +func (tr *Mitigation) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Mitigation +func (tr *Mitigation) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Mitigation +func (tr *Mitigation) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Mitigation +func (tr *Mitigation) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this Mitigation +func (tr *Mitigation) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this Mitigation +func (tr *Mitigation) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this Mitigation using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Mitigation) LateInitialize(attrs []byte) (bool, error) { + params := &MitigationParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Mitigation) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/additionalip/v1alpha1/zz_mitigation_types.go b/apis/additionalip/v1alpha1/zz_mitigation_types.go new file mode 100755 index 0000000..5024b4d --- /dev/null +++ b/apis/additionalip/v1alpha1/zz_mitigation_types.go @@ -0,0 +1,124 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type MitigationInitParameters struct { + + // IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // IPv4 address (e.g., 192.0.2.0) + IPOnMitigation *string `json:"ipOnMitigation,omitempty" tf:"ip_on_mitigation,omitempty"` + + // Set on true if your ip is on permanent mitigation + Permanent *bool `json:"permanent,omitempty" tf:"permanent,omitempty"` +} + +type MitigationObservation struct { + + // Set on true if your ip is on auto-mitigation + Auto *bool `json:"auto,omitempty" tf:"auto,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // IPv4 address (e.g., 192.0.2.0) + IPOnMitigation *string `json:"ipOnMitigation,omitempty" tf:"ip_on_mitigation,omitempty"` + + // Set on true if your ip is on permanent mitigation + Permanent *bool `json:"permanent,omitempty" tf:"permanent,omitempty"` + + // Current state of your ip on mitigation + State *string `json:"state,omitempty" tf:"state,omitempty"` +} + +type MitigationParameters struct { + + // IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + // +kubebuilder:validation:Optional + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // IPv4 address (e.g., 192.0.2.0) + // +kubebuilder:validation:Optional + IPOnMitigation *string `json:"ipOnMitigation,omitempty" tf:"ip_on_mitigation,omitempty"` + + // Set on true if your ip is on permanent mitigation + // +kubebuilder:validation:Optional + Permanent *bool `json:"permanent,omitempty" tf:"permanent,omitempty"` +} + +// MitigationSpec defines the desired state of Mitigation +type MitigationSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider MitigationParameters `json:"forProvider"` + // THIS IS A BETA FIELD. It will be honored + // unless the Management Policies feature flag is disabled. + // InitProvider holds the same fields as ForProvider, with the exception + // of Identifier and other resource reference fields. The fields that are + // in InitProvider are merged into ForProvider when the resource is created. + // The same fields are also added to the terraform ignore_changes hook, to + // avoid updating them after creation. This is useful for fields that are + // required on creation, but we do not desire to update them after creation, + // for example because of an external controller is managing them, like an + // autoscaler. + InitProvider MitigationInitParameters `json:"initProvider,omitempty"` +} + +// MitigationStatus defines the observed state of Mitigation. +type MitigationStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider MitigationObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// Mitigation is the Schema for the Mitigations API. +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} +type Mitigation struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.ip) || (has(self.initProvider) && has(self.initProvider.ip))",message="spec.forProvider.ip is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.ipOnMitigation) || (has(self.initProvider) && has(self.initProvider.ipOnMitigation))",message="spec.forProvider.ipOnMitigation is a required parameter" + Spec MitigationSpec `json:"spec"` + Status MitigationStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// MitigationList contains a list of Mitigations +type MitigationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Mitigation `json:"items"` +} + +// Repository type metadata. +var ( + Mitigation_Kind = "Mitigation" + Mitigation_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Mitigation_Kind}.String() + Mitigation_KindAPIVersion = Mitigation_Kind + "." + CRDGroupVersion.String() + Mitigation_GroupVersionKind = CRDGroupVersion.WithKind(Mitigation_Kind) +) + +func init() { + SchemeBuilder.Register(&Mitigation{}, &MitigationList{}) +} diff --git a/apis/additionalip/v1alpha1/zz_move_types.go b/apis/additionalip/v1alpha1/zz_move_types.go index 6d49f98..16c291a 100755 --- a/apis/additionalip/v1alpha1/zz_move_types.go +++ b/apis/additionalip/v1alpha1/zz_move_types.go @@ -114,11 +114,11 @@ type MoveStatus struct { // +kubebuilder:storageversion // Move is the Schema for the Moves API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Move struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/additionalip/v1alpha1/zz_projectfailoveripattach_types.go b/apis/additionalip/v1alpha1/zz_projectfailoveripattach_types.go index 238e9c0..95aa5a4 100755 --- a/apis/additionalip/v1alpha1/zz_projectfailoveripattach_types.go +++ b/apis/additionalip/v1alpha1/zz_projectfailoveripattach_types.go @@ -121,11 +121,11 @@ type ProjectFailoverIPAttachStatus struct { // +kubebuilder:storageversion // ProjectFailoverIPAttach is the Schema for the ProjectFailoverIPAttachs API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectFailoverIPAttach struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/additionalip/v1alpha1/zz_reverse_types.go b/apis/additionalip/v1alpha1/zz_reverse_types.go index f848890..d84fc38 100755 --- a/apis/additionalip/v1alpha1/zz_reverse_types.go +++ b/apis/additionalip/v1alpha1/zz_reverse_types.go @@ -71,11 +71,11 @@ type ReverseStatus struct { // +kubebuilder:storageversion // Reverse is the Schema for the Reverses API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Reverse struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/additionalip/v1alpha1/zz_service_types.go b/apis/additionalip/v1alpha1/zz_service_types.go index ec317ab..e960a25 100755 --- a/apis/additionalip/v1alpha1/zz_service_types.go +++ b/apis/additionalip/v1alpha1/zz_service_types.go @@ -62,12 +62,17 @@ type OrderInitParameters struct { } type OrderObservation struct { + + // date Date *string `json:"date,omitempty" tf:"date,omitempty"` + // Information about a Bill entry Details []DetailsObservation `json:"details,omitempty" tf:"details,omitempty"` + // expiration date ExpirationDate *string `json:"expirationDate,omitempty" tf:"expiration_date,omitempty"` + // order id OrderID *float64 `json:"orderId,omitempty" tf:"order_id,omitempty"` } @@ -226,6 +231,9 @@ type ServiceInitParameters struct { // Custom description on your ip Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -283,6 +291,10 @@ type ServiceParameters struct { // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -338,11 +350,11 @@ type ServiceStatus struct { // +kubebuilder:storageversion // Service is the Schema for the Services API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Service struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/cloud/v1alpha1/zz_generated.conversion_hubs.go b/apis/cloud/v1alpha1/zz_generated.conversion_hubs.go index 9cb8b65..4463c26 100755 --- a/apis/cloud/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/cloud/v1alpha1/zz_generated.conversion_hubs.go @@ -10,10 +10,13 @@ package v1alpha1 func (tr *Project) Hub() {} // Hub marks this type as a conversion hub. -func (tr *User) Hub() {} +func (tr *ProjectRegionLoadbalancerLogSubscription) Hub() {} // Hub marks this type as a conversion hub. func (tr *S3Credentials) Hub() {} // Hub marks this type as a conversion hub. func (tr *S3Policy) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *User) Hub() {} diff --git a/apis/cloud/v1alpha1/zz_generated.deepcopy.go b/apis/cloud/v1alpha1/zz_generated.deepcopy.go index 8a29d38..e5e168f 100644 --- a/apis/cloud/v1alpha1/zz_generated.deepcopy.go +++ b/apis/cloud/v1alpha1/zz_generated.deepcopy.go @@ -582,6 +582,11 @@ func (in *ProjectInitParameters) DeepCopyInto(out *ProjectInitParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -739,6 +744,11 @@ func (in *ProjectParameters) DeepCopyInto(out *ProjectParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -775,6 +785,260 @@ func (in *ProjectParameters) DeepCopy() *ProjectParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectRegionLoadbalancerLogSubscription) DeepCopyInto(out *ProjectRegionLoadbalancerLogSubscription) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectRegionLoadbalancerLogSubscription. +func (in *ProjectRegionLoadbalancerLogSubscription) DeepCopy() *ProjectRegionLoadbalancerLogSubscription { + if in == nil { + return nil + } + out := new(ProjectRegionLoadbalancerLogSubscription) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectRegionLoadbalancerLogSubscription) 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 *ProjectRegionLoadbalancerLogSubscriptionInitParameters) DeepCopyInto(out *ProjectRegionLoadbalancerLogSubscriptionInitParameters) { + *out = *in + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.LoadbalancerID != nil { + in, out := &in.LoadbalancerID, &out.LoadbalancerID + *out = new(string) + **out = **in + } + if in.RegionName != nil { + in, out := &in.RegionName, &out.RegionName + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } + if in.StreamID != nil { + in, out := &in.StreamID, &out.StreamID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectRegionLoadbalancerLogSubscriptionInitParameters. +func (in *ProjectRegionLoadbalancerLogSubscriptionInitParameters) DeepCopy() *ProjectRegionLoadbalancerLogSubscriptionInitParameters { + if in == nil { + return nil + } + out := new(ProjectRegionLoadbalancerLogSubscriptionInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectRegionLoadbalancerLogSubscriptionList) DeepCopyInto(out *ProjectRegionLoadbalancerLogSubscriptionList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ProjectRegionLoadbalancerLogSubscription, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectRegionLoadbalancerLogSubscriptionList. +func (in *ProjectRegionLoadbalancerLogSubscriptionList) DeepCopy() *ProjectRegionLoadbalancerLogSubscriptionList { + if in == nil { + return nil + } + out := new(ProjectRegionLoadbalancerLogSubscriptionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectRegionLoadbalancerLogSubscriptionList) 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 *ProjectRegionLoadbalancerLogSubscriptionObservation) DeepCopyInto(out *ProjectRegionLoadbalancerLogSubscriptionObservation) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.LdpServiceName != nil { + in, out := &in.LdpServiceName, &out.LdpServiceName + *out = new(string) + **out = **in + } + if in.LoadbalancerID != nil { + in, out := &in.LoadbalancerID, &out.LoadbalancerID + *out = new(string) + **out = **in + } + if in.OperationID != nil { + in, out := &in.OperationID, &out.OperationID + *out = new(string) + **out = **in + } + if in.RegionName != nil { + in, out := &in.RegionName, &out.RegionName + *out = new(string) + **out = **in + } + if in.ResourceName != nil { + in, out := &in.ResourceName, &out.ResourceName + *out = new(string) + **out = **in + } + if in.ResourceType != nil { + in, out := &in.ResourceType, &out.ResourceType + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } + if in.StreamID != nil { + in, out := &in.StreamID, &out.StreamID + *out = new(string) + **out = **in + } + if in.SubscriptionID != nil { + in, out := &in.SubscriptionID, &out.SubscriptionID + *out = new(string) + **out = **in + } + if in.UpdatedAt != nil { + in, out := &in.UpdatedAt, &out.UpdatedAt + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectRegionLoadbalancerLogSubscriptionObservation. +func (in *ProjectRegionLoadbalancerLogSubscriptionObservation) DeepCopy() *ProjectRegionLoadbalancerLogSubscriptionObservation { + if in == nil { + return nil + } + out := new(ProjectRegionLoadbalancerLogSubscriptionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectRegionLoadbalancerLogSubscriptionParameters) DeepCopyInto(out *ProjectRegionLoadbalancerLogSubscriptionParameters) { + *out = *in + if in.Kind != nil { + in, out := &in.Kind, &out.Kind + *out = new(string) + **out = **in + } + if in.LoadbalancerID != nil { + in, out := &in.LoadbalancerID, &out.LoadbalancerID + *out = new(string) + **out = **in + } + if in.RegionName != nil { + in, out := &in.RegionName, &out.RegionName + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } + if in.StreamID != nil { + in, out := &in.StreamID, &out.StreamID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectRegionLoadbalancerLogSubscriptionParameters. +func (in *ProjectRegionLoadbalancerLogSubscriptionParameters) DeepCopy() *ProjectRegionLoadbalancerLogSubscriptionParameters { + if in == nil { + return nil + } + out := new(ProjectRegionLoadbalancerLogSubscriptionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectRegionLoadbalancerLogSubscriptionSpec) DeepCopyInto(out *ProjectRegionLoadbalancerLogSubscriptionSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectRegionLoadbalancerLogSubscriptionSpec. +func (in *ProjectRegionLoadbalancerLogSubscriptionSpec) DeepCopy() *ProjectRegionLoadbalancerLogSubscriptionSpec { + if in == nil { + return nil + } + out := new(ProjectRegionLoadbalancerLogSubscriptionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectRegionLoadbalancerLogSubscriptionStatus) DeepCopyInto(out *ProjectRegionLoadbalancerLogSubscriptionStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectRegionLoadbalancerLogSubscriptionStatus. +func (in *ProjectRegionLoadbalancerLogSubscriptionStatus) DeepCopy() *ProjectRegionLoadbalancerLogSubscriptionStatus { + if in == nil { + return nil + } + out := new(ProjectRegionLoadbalancerLogSubscriptionStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec) { *out = *in diff --git a/apis/cloud/v1alpha1/zz_generated.managed.go b/apis/cloud/v1alpha1/zz_generated.managed.go index 55003eb..1162e9d 100644 --- a/apis/cloud/v1alpha1/zz_generated.managed.go +++ b/apis/cloud/v1alpha1/zz_generated.managed.go @@ -67,6 +67,66 @@ func (mg *Project) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) mg.Spec.WriteConnectionSecretToReference = r } +// GetCondition of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this ProjectRegionLoadbalancerLogSubscription. +func (mg *ProjectRegionLoadbalancerLogSubscription) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + // GetCondition of this S3Credentials. func (mg *S3Credentials) GetCondition(ct xpv1.ConditionType) xpv1.Condition { return mg.Status.GetCondition(ct) diff --git a/apis/cloud/v1alpha1/zz_generated.managedlist.go b/apis/cloud/v1alpha1/zz_generated.managedlist.go index ea78936..0219014 100644 --- a/apis/cloud/v1alpha1/zz_generated.managedlist.go +++ b/apis/cloud/v1alpha1/zz_generated.managedlist.go @@ -16,6 +16,15 @@ func (l *ProjectList) GetItems() []resource.Managed { return items } +// GetItems of this ProjectRegionLoadbalancerLogSubscriptionList. +func (l *ProjectRegionLoadbalancerLogSubscriptionList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + // GetItems of this S3CredentialsList. func (l *S3CredentialsList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) diff --git a/apis/cloud/v1alpha1/zz_project_types.go b/apis/cloud/v1alpha1/zz_project_types.go index 3e47b40..106adee 100755 --- a/apis/cloud/v1alpha1/zz_project_types.go +++ b/apis/cloud/v1alpha1/zz_project_types.go @@ -62,12 +62,17 @@ type OrderInitParameters struct { } type OrderObservation struct { + + // date Date *string `json:"date,omitempty" tf:"date,omitempty"` + // Information about a Bill entry Details []DetailsObservation `json:"details,omitempty" tf:"details,omitempty"` + // expiration date ExpirationDate *string `json:"expirationDate,omitempty" tf:"expiration_date,omitempty"` + // order id OrderID *float64 `json:"orderId,omitempty" tf:"order_id,omitempty"` } @@ -224,6 +229,9 @@ type PlanParameters struct { type ProjectInitParameters struct { Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -273,6 +281,10 @@ type ProjectParameters struct { // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -318,11 +330,11 @@ type ProjectStatus struct { // +kubebuilder:storageversion // Project is the Schema for the Projects API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Project struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/cloud/v1alpha1/zz_projectregionloadbalancerlogsubscription_terraformed.go b/apis/cloud/v1alpha1/zz_projectregionloadbalancerlogsubscription_terraformed.go new file mode 100755 index 0000000..c7c6cb4 --- /dev/null +++ b/apis/cloud/v1alpha1/zz_projectregionloadbalancerlogsubscription_terraformed.go @@ -0,0 +1,129 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ProjectRegionLoadbalancerLogSubscription +func (mg *ProjectRegionLoadbalancerLogSubscription) GetTerraformResourceType() string { + return "ovh_cloud_project_region_loadbalancer_log_subscription" +} + +// GetConnectionDetailsMapping for this ProjectRegionLoadbalancerLogSubscription +func (tr *ProjectRegionLoadbalancerLogSubscription) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ProjectRegionLoadbalancerLogSubscription +func (tr *ProjectRegionLoadbalancerLogSubscription) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ProjectRegionLoadbalancerLogSubscription +func (tr *ProjectRegionLoadbalancerLogSubscription) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ProjectRegionLoadbalancerLogSubscription +func (tr *ProjectRegionLoadbalancerLogSubscription) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ProjectRegionLoadbalancerLogSubscription +func (tr *ProjectRegionLoadbalancerLogSubscription) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ProjectRegionLoadbalancerLogSubscription +func (tr *ProjectRegionLoadbalancerLogSubscription) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this ProjectRegionLoadbalancerLogSubscription +func (tr *ProjectRegionLoadbalancerLogSubscription) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this ProjectRegionLoadbalancerLogSubscription +func (tr *ProjectRegionLoadbalancerLogSubscription) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this ProjectRegionLoadbalancerLogSubscription using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ProjectRegionLoadbalancerLogSubscription) LateInitialize(attrs []byte) (bool, error) { + params := &ProjectRegionLoadbalancerLogSubscriptionParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ProjectRegionLoadbalancerLogSubscription) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/cloud/v1alpha1/zz_projectregionloadbalancerlogsubscription_types.go b/apis/cloud/v1alpha1/zz_projectregionloadbalancerlogsubscription_types.go new file mode 100755 index 0000000..eb6b480 --- /dev/null +++ b/apis/cloud/v1alpha1/zz_projectregionloadbalancerlogsubscription_types.go @@ -0,0 +1,162 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type ProjectRegionLoadbalancerLogSubscriptionInitParameters struct { + + // Log kind name of this subscription + Kind *string `json:"kind,omitempty" tf:"kind,omitempty"` + + // ID representing the loadbalancer of the resource + LoadbalancerID *string `json:"loadbalancerId,omitempty" tf:"loadbalancer_id,omitempty"` + + // Region name of the resource representing the name of the region. + RegionName *string `json:"regionName,omitempty" tf:"region_name,omitempty"` + + // Service name of the resource representing the id of the cloud project. + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` + + // ID representing the stream of the resource + StreamID *string `json:"streamId,omitempty" tf:"stream_id,omitempty"` +} + +type ProjectRegionLoadbalancerLogSubscriptionObservation struct { + + // Creation date of the subscription + CreatedAt *string `json:"createdAt,omitempty" tf:"created_at,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Log kind name of this subscription + Kind *string `json:"kind,omitempty" tf:"kind,omitempty"` + + // Name of the destination log service + LdpServiceName *string `json:"ldpServiceName,omitempty" tf:"ldp_service_name,omitempty"` + + // ID representing the loadbalancer of the resource + LoadbalancerID *string `json:"loadbalancerId,omitempty" tf:"loadbalancer_id,omitempty"` + + // Identifier of the operation + OperationID *string `json:"operationId,omitempty" tf:"operation_id,omitempty"` + + // Region name of the resource representing the name of the region. + RegionName *string `json:"regionName,omitempty" tf:"region_name,omitempty"` + + // Name of subscribed resource, where the logs come from + ResourceName *string `json:"resourceName,omitempty" tf:"resource_name,omitempty"` + + // Type of subscribed resource, where the logs come from + ResourceType *string `json:"resourceType,omitempty" tf:"resource_type,omitempty"` + + // Service name of the resource representing the id of the cloud project. + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` + + // ID representing the stream of the resource + StreamID *string `json:"streamId,omitempty" tf:"stream_id,omitempty"` + + // Id of the subscription + SubscriptionID *string `json:"subscriptionId,omitempty" tf:"subscription_id,omitempty"` + + // Last update date of the subscription + UpdatedAt *string `json:"updatedAt,omitempty" tf:"updated_at,omitempty"` +} + +type ProjectRegionLoadbalancerLogSubscriptionParameters struct { + + // Log kind name of this subscription + // +kubebuilder:validation:Optional + Kind *string `json:"kind,omitempty" tf:"kind,omitempty"` + + // ID representing the loadbalancer of the resource + // +kubebuilder:validation:Optional + LoadbalancerID *string `json:"loadbalancerId,omitempty" tf:"loadbalancer_id,omitempty"` + + // Region name of the resource representing the name of the region. + // +kubebuilder:validation:Optional + RegionName *string `json:"regionName,omitempty" tf:"region_name,omitempty"` + + // Service name of the resource representing the id of the cloud project. + // +kubebuilder:validation:Optional + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` + + // ID representing the stream of the resource + // +kubebuilder:validation:Optional + StreamID *string `json:"streamId,omitempty" tf:"stream_id,omitempty"` +} + +// ProjectRegionLoadbalancerLogSubscriptionSpec defines the desired state of ProjectRegionLoadbalancerLogSubscription +type ProjectRegionLoadbalancerLogSubscriptionSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ProjectRegionLoadbalancerLogSubscriptionParameters `json:"forProvider"` + // THIS IS A BETA FIELD. It will be honored + // unless the Management Policies feature flag is disabled. + // InitProvider holds the same fields as ForProvider, with the exception + // of Identifier and other resource reference fields. The fields that are + // in InitProvider are merged into ForProvider when the resource is created. + // The same fields are also added to the terraform ignore_changes hook, to + // avoid updating them after creation. This is useful for fields that are + // required on creation, but we do not desire to update them after creation, + // for example because of an external controller is managing them, like an + // autoscaler. + InitProvider ProjectRegionLoadbalancerLogSubscriptionInitParameters `json:"initProvider,omitempty"` +} + +// ProjectRegionLoadbalancerLogSubscriptionStatus defines the observed state of ProjectRegionLoadbalancerLogSubscription. +type ProjectRegionLoadbalancerLogSubscriptionStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ProjectRegionLoadbalancerLogSubscriptionObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// ProjectRegionLoadbalancerLogSubscription is the Schema for the ProjectRegionLoadbalancerLogSubscriptions API. +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} +type ProjectRegionLoadbalancerLogSubscription struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.kind) || (has(self.initProvider) && has(self.initProvider.kind))",message="spec.forProvider.kind is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.loadbalancerId) || (has(self.initProvider) && has(self.initProvider.loadbalancerId))",message="spec.forProvider.loadbalancerId is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.regionName) || (has(self.initProvider) && has(self.initProvider.regionName))",message="spec.forProvider.regionName is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.serviceName) || (has(self.initProvider) && has(self.initProvider.serviceName))",message="spec.forProvider.serviceName is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.streamId) || (has(self.initProvider) && has(self.initProvider.streamId))",message="spec.forProvider.streamId is a required parameter" + Spec ProjectRegionLoadbalancerLogSubscriptionSpec `json:"spec"` + Status ProjectRegionLoadbalancerLogSubscriptionStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ProjectRegionLoadbalancerLogSubscriptionList contains a list of ProjectRegionLoadbalancerLogSubscriptions +type ProjectRegionLoadbalancerLogSubscriptionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ProjectRegionLoadbalancerLogSubscription `json:"items"` +} + +// Repository type metadata. +var ( + ProjectRegionLoadbalancerLogSubscription_Kind = "ProjectRegionLoadbalancerLogSubscription" + ProjectRegionLoadbalancerLogSubscription_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ProjectRegionLoadbalancerLogSubscription_Kind}.String() + ProjectRegionLoadbalancerLogSubscription_KindAPIVersion = ProjectRegionLoadbalancerLogSubscription_Kind + "." + CRDGroupVersion.String() + ProjectRegionLoadbalancerLogSubscription_GroupVersionKind = CRDGroupVersion.WithKind(ProjectRegionLoadbalancerLogSubscription_Kind) +) + +func init() { + SchemeBuilder.Register(&ProjectRegionLoadbalancerLogSubscription{}, &ProjectRegionLoadbalancerLogSubscriptionList{}) +} diff --git a/apis/cloud/v1alpha1/zz_s3credentials_types.go b/apis/cloud/v1alpha1/zz_s3credentials_types.go index 39530d8..3fc630e 100755 --- a/apis/cloud/v1alpha1/zz_s3credentials_types.go +++ b/apis/cloud/v1alpha1/zz_s3credentials_types.go @@ -93,11 +93,11 @@ type S3CredentialsStatus struct { // +kubebuilder:storageversion // S3Credentials is the Schema for the S3Credentialss API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type S3Credentials struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/cloud/v1alpha1/zz_s3policy_types.go b/apis/cloud/v1alpha1/zz_s3policy_types.go index 3d19f60..a01ea96 100755 --- a/apis/cloud/v1alpha1/zz_s3policy_types.go +++ b/apis/cloud/v1alpha1/zz_s3policy_types.go @@ -99,11 +99,11 @@ type S3PolicyStatus struct { // +kubebuilder:storageversion // S3Policy is the Schema for the S3Policys API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type S3Policy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/cloud/v1alpha1/zz_user_types.go b/apis/cloud/v1alpha1/zz_user_types.go index 0b261ac..f7bf25e 100755 --- a/apis/cloud/v1alpha1/zz_user_types.go +++ b/apis/cloud/v1alpha1/zz_user_types.go @@ -116,11 +116,11 @@ type UserStatus struct { // +kubebuilder:storageversion // User is the Schema for the Users API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type User struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/clouddiskarray/v1alpha1/zz_cephacl_types.go b/apis/clouddiskarray/v1alpha1/zz_cephacl_types.go index 6a37eef..13201c3 100755 --- a/apis/clouddiskarray/v1alpha1/zz_cephacl_types.go +++ b/apis/clouddiskarray/v1alpha1/zz_cephacl_types.go @@ -73,11 +73,11 @@ type CephACLStatus struct { // +kubebuilder:storageversion // CephACL is the Schema for the CephACLs API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type CephACL struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_generated.deepcopy.go b/apis/databases/v1alpha1/zz_generated.deepcopy.go index 5b5bc78..d7ef0cf 100644 --- a/apis/databases/v1alpha1/zz_generated.deepcopy.go +++ b/apis/databases/v1alpha1/zz_generated.deepcopy.go @@ -172,6 +172,86 @@ func (in *EndpointsParameters) DeepCopy() *EndpointsParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPRestrictionsInitParameters) DeepCopyInto(out *IPRestrictionsInitParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPRestrictionsInitParameters. +func (in *IPRestrictionsInitParameters) DeepCopy() *IPRestrictionsInitParameters { + if in == nil { + return nil + } + out := new(IPRestrictionsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPRestrictionsObservation) DeepCopyInto(out *IPRestrictionsObservation) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPRestrictionsObservation. +func (in *IPRestrictionsObservation) DeepCopy() *IPRestrictionsObservation { + if in == nil { + return nil + } + out := new(IPRestrictionsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPRestrictionsParameters) DeepCopyInto(out *IPRestrictionsParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPRestrictionsParameters. +func (in *IPRestrictionsParameters) DeepCopy() *IPRestrictionsParameters { + if in == nil { + return nil + } + out := new(IPRestrictionsParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NodesInitParameters) DeepCopyInto(out *NodesInitParameters) { *out = *in @@ -777,11 +857,23 @@ func (in *ProjectDatabaseInitParameters) DeepCopyInto(out *ProjectDatabaseInitPa *out = new(string) **out = **in } + if in.IPRestrictions != nil { + in, out := &in.IPRestrictions, &out.IPRestrictions + *out = make([]IPRestrictionsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.KafkaRestAPI != nil { in, out := &in.KafkaRestAPI, &out.KafkaRestAPI *out = new(bool) **out = **in } + if in.KafkaSchemaRegistry != nil { + in, out := &in.KafkaSchemaRegistry, &out.KafkaSchemaRegistry + *out = new(bool) + **out = **in + } if in.Nodes != nil { in, out := &in.Nodes, &out.Nodes *out = make([]NodesInitParameters, len(*in)) @@ -2709,11 +2801,23 @@ func (in *ProjectDatabaseObservation) DeepCopyInto(out *ProjectDatabaseObservati *out = new(string) **out = **in } + if in.IPRestrictions != nil { + in, out := &in.IPRestrictions, &out.IPRestrictions + *out = make([]IPRestrictionsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.KafkaRestAPI != nil { in, out := &in.KafkaRestAPI, &out.KafkaRestAPI *out = new(bool) **out = **in } + if in.KafkaSchemaRegistry != nil { + in, out := &in.KafkaSchemaRegistry, &out.KafkaSchemaRegistry + *out = new(bool) + **out = **in + } if in.MaintenanceTime != nil { in, out := &in.MaintenanceTime, &out.MaintenanceTime *out = new(string) @@ -3262,11 +3366,23 @@ func (in *ProjectDatabaseParameters) DeepCopyInto(out *ProjectDatabaseParameters *out = new(string) **out = **in } + if in.IPRestrictions != nil { + in, out := &in.IPRestrictions, &out.IPRestrictions + *out = make([]IPRestrictionsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.KafkaRestAPI != nil { in, out := &in.KafkaRestAPI, &out.KafkaRestAPI *out = new(bool) **out = **in } + if in.KafkaSchemaRegistry != nil { + in, out := &in.KafkaSchemaRegistry, &out.KafkaSchemaRegistry + *out = new(bool) + **out = **in + } if in.Nodes != nil { in, out := &in.Nodes, &out.Nodes *out = make([]NodesParameters, len(*in)) diff --git a/apis/databases/v1alpha1/zz_projectdatabase_types.go b/apis/databases/v1alpha1/zz_projectdatabase_types.go index 722ebe0..b067131 100755 --- a/apis/databases/v1alpha1/zz_projectdatabase_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabase_types.go @@ -37,6 +37,38 @@ type EndpointsObservation struct { type EndpointsParameters struct { } +type IPRestrictionsInitParameters struct { + + // Description of the IP restriction + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Authorized IP + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` +} + +type IPRestrictionsObservation struct { + + // Description of the IP restriction + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Authorized IP + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + // Current status of the IP restriction + Status *string `json:"status,omitempty" tf:"status,omitempty"` +} + +type IPRestrictionsParameters struct { + + // Description of the IP restriction + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Authorized IP + // +kubebuilder:validation:Optional + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` +} + type NodesInitParameters struct { // Private network ID in which the node is. It's the regional openstackId of the private network. @@ -100,9 +132,15 @@ type ProjectDatabaseInitParameters struct { // The node flavor used for this cluster Flavor *string `json:"flavor,omitempty" tf:"flavor,omitempty"` + // IP Blocks authorized to access to the cluster + IPRestrictions []IPRestrictionsInitParameters `json:"ipRestrictions,omitempty" tf:"ip_restrictions,omitempty"` + // Defines whether the REST API is enabled on a Kafka cluster KafkaRestAPI *bool `json:"kafkaRestApi,omitempty" tf:"kafka_rest_api,omitempty"` + // Defines whether the schema registry is enabled on a Kafka cluster + KafkaSchemaRegistry *bool `json:"kafkaSchemaRegistry,omitempty" tf:"kafka_schema_registry,omitempty"` + // List of nodes composing the service Nodes []NodesInitParameters `json:"nodes,omitempty" tf:"nodes,omitempty"` @@ -153,9 +191,15 @@ type ProjectDatabaseObservation struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` + // IP Blocks authorized to access to the cluster + IPRestrictions []IPRestrictionsObservation `json:"ipRestrictions,omitempty" tf:"ip_restrictions,omitempty"` + // Defines whether the REST API is enabled on a Kafka cluster KafkaRestAPI *bool `json:"kafkaRestApi,omitempty" tf:"kafka_rest_api,omitempty"` + // Defines whether the schema registry is enabled on a Kafka cluster + KafkaSchemaRegistry *bool `json:"kafkaSchemaRegistry,omitempty" tf:"kafka_schema_registry,omitempty"` + // Time on which maintenances can start every day MaintenanceTime *string `json:"maintenanceTime,omitempty" tf:"maintenance_time,omitempty"` @@ -211,10 +255,18 @@ type ProjectDatabaseParameters struct { // +kubebuilder:validation:Optional Flavor *string `json:"flavor,omitempty" tf:"flavor,omitempty"` + // IP Blocks authorized to access to the cluster + // +kubebuilder:validation:Optional + IPRestrictions []IPRestrictionsParameters `json:"ipRestrictions,omitempty" tf:"ip_restrictions,omitempty"` + // Defines whether the REST API is enabled on a Kafka cluster // +kubebuilder:validation:Optional KafkaRestAPI *bool `json:"kafkaRestApi,omitempty" tf:"kafka_rest_api,omitempty"` + // Defines whether the schema registry is enabled on a Kafka cluster + // +kubebuilder:validation:Optional + KafkaSchemaRegistry *bool `json:"kafkaSchemaRegistry,omitempty" tf:"kafka_schema_registry,omitempty"` + // List of nodes composing the service // +kubebuilder:validation:Optional Nodes []NodesParameters `json:"nodes,omitempty" tf:"nodes,omitempty"` @@ -263,11 +315,11 @@ type ProjectDatabaseStatus struct { // +kubebuilder:storageversion // ProjectDatabase is the Schema for the ProjectDatabases API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabase struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabasedatabase_types.go b/apis/databases/v1alpha1/zz_projectdatabasedatabase_types.go index 06f3854..c8e14a8 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasedatabase_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasedatabase_types.go @@ -92,11 +92,11 @@ type ProjectDatabaseDatabaseStatus struct { // +kubebuilder:storageversion // ProjectDatabaseDatabase is the Schema for the ProjectDatabaseDatabases API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseDatabase struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabaseintegration_types.go b/apis/databases/v1alpha1/zz_projectdatabaseintegration_types.go index 95dd72a..5c979c1 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseintegration_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseintegration_types.go @@ -125,11 +125,11 @@ type ProjectDatabaseIntegrationStatus struct { // +kubebuilder:storageversion // ProjectDatabaseIntegration is the Schema for the ProjectDatabaseIntegrations API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseIntegration struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabaseiprestriction_types.go b/apis/databases/v1alpha1/zz_projectdatabaseiprestriction_types.go index ba5eb38..77bdcfb 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseiprestriction_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseiprestriction_types.go @@ -102,11 +102,11 @@ type ProjectDatabaseIPRestrictionStatus struct { // +kubebuilder:storageversion // ProjectDatabaseIPRestriction is the Schema for the ProjectDatabaseIPRestrictions API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseIPRestriction struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabasekafkaacl_types.go b/apis/databases/v1alpha1/zz_projectdatabasekafkaacl_types.go index bcb5af5..67ac13e 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasekafkaacl_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasekafkaacl_types.go @@ -99,11 +99,11 @@ type ProjectDatabaseKafkaACLStatus struct { // +kubebuilder:storageversion // ProjectDatabaseKafkaACL is the Schema for the ProjectDatabaseKafkaACLs API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseKafkaACL struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabasekafkaschemaregistryacl_types.go b/apis/databases/v1alpha1/zz_projectdatabasekafkaschemaregistryacl_types.go index fa4e529..e0858ea 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasekafkaschemaregistryacl_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasekafkaschemaregistryacl_types.go @@ -99,11 +99,11 @@ type ProjectDatabaseKafkaSchemaregistryaclStatus struct { // +kubebuilder:storageversion // ProjectDatabaseKafkaSchemaregistryacl is the Schema for the ProjectDatabaseKafkaSchemaregistryacls API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseKafkaSchemaregistryacl struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabasekafkatopic_types.go b/apis/databases/v1alpha1/zz_projectdatabasekafkatopic_types.go index 565b42e..298a8a0 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasekafkatopic_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasekafkatopic_types.go @@ -129,11 +129,11 @@ type ProjectDatabaseKafkaTopicStatus struct { // +kubebuilder:storageversion // ProjectDatabaseKafkaTopic is the Schema for the ProjectDatabaseKafkaTopics API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseKafkaTopic struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabasem3dbnamespace_types.go b/apis/databases/v1alpha1/zz_projectdatabasem3dbnamespace_types.go index 8fd7527..9b76973 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasem3dbnamespace_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasem3dbnamespace_types.go @@ -162,11 +162,11 @@ type ProjectDatabaseM3DbNamespaceStatus struct { // +kubebuilder:storageversion // ProjectDatabaseM3DbNamespace is the Schema for the ProjectDatabaseM3DbNamespaces API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseM3DbNamespace struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabasem3dbuser_types.go b/apis/databases/v1alpha1/zz_projectdatabasem3dbuser_types.go index 4874c0f..8c01f3f 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasem3dbuser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasem3dbuser_types.go @@ -105,11 +105,11 @@ type ProjectDatabaseM3DbUserStatus struct { // +kubebuilder:storageversion // ProjectDatabaseM3DbUser is the Schema for the ProjectDatabaseM3DbUsers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseM3DbUser struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabasemongodbuser_types.go b/apis/databases/v1alpha1/zz_projectdatabasemongodbuser_types.go index 9367cb7..849cf20 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasemongodbuser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasemongodbuser_types.go @@ -108,11 +108,11 @@ type ProjectDatabaseMongodbUserStatus struct { // +kubebuilder:storageversion // ProjectDatabaseMongodbUser is the Schema for the ProjectDatabaseMongodbUsers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseMongodbUser struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabaseopensearchpattern_types.go b/apis/databases/v1alpha1/zz_projectdatabaseopensearchpattern_types.go index c1d0a95..693b620 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseopensearchpattern_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseopensearchpattern_types.go @@ -89,11 +89,11 @@ type ProjectDatabaseOpensearchPatternStatus struct { // +kubebuilder:storageversion // ProjectDatabaseOpensearchPattern is the Schema for the ProjectDatabaseOpensearchPatterns API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseOpensearchPattern struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabaseopensearchuser_types.go b/apis/databases/v1alpha1/zz_projectdatabaseopensearchuser_types.go index 6dca738..6e1256f 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseopensearchuser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseopensearchuser_types.go @@ -134,11 +134,11 @@ type ProjectDatabaseOpensearchUserStatus struct { // +kubebuilder:storageversion // ProjectDatabaseOpensearchUser is the Schema for the ProjectDatabaseOpensearchUsers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseOpensearchUser struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabasepostgresqlconnectionpool_types.go b/apis/databases/v1alpha1/zz_projectdatabasepostgresqlconnectionpool_types.go index 2bae810..c6d75f7 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasepostgresqlconnectionpool_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasepostgresqlconnectionpool_types.go @@ -128,11 +128,11 @@ type ProjectDatabasePostgresqlConnectionPoolStatus struct { // +kubebuilder:storageversion // ProjectDatabasePostgresqlConnectionPool is the Schema for the ProjectDatabasePostgresqlConnectionPools API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabasePostgresqlConnectionPool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabasepostgresqluser_types.go b/apis/databases/v1alpha1/zz_projectdatabasepostgresqluser_types.go index 956245d..f394852 100755 --- a/apis/databases/v1alpha1/zz_projectdatabasepostgresqluser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabasepostgresqluser_types.go @@ -108,11 +108,11 @@ type ProjectDatabasePostgresqlUserStatus struct { // +kubebuilder:storageversion // ProjectDatabasePostgresqlUser is the Schema for the ProjectDatabasePostgresqlUsers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabasePostgresqlUser struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabaseredisuser_types.go b/apis/databases/v1alpha1/zz_projectdatabaseredisuser_types.go index c3a1f65..ddf868a 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseredisuser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseredisuser_types.go @@ -147,11 +147,11 @@ type ProjectDatabaseRedisUserStatus struct { // +kubebuilder:storageversion // ProjectDatabaseRedisUser is the Schema for the ProjectDatabaseRedisUsers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseRedisUser struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/databases/v1alpha1/zz_projectdatabaseuser_types.go b/apis/databases/v1alpha1/zz_projectdatabaseuser_types.go index ebd6df6..62159a5 100755 --- a/apis/databases/v1alpha1/zz_projectdatabaseuser_types.go +++ b/apis/databases/v1alpha1/zz_projectdatabaseuser_types.go @@ -105,11 +105,11 @@ type ProjectDatabaseUserStatus struct { // +kubebuilder:storageversion // ProjectDatabaseUser is the Schema for the ProjectDatabaseUsers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectDatabaseUser struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/dedicatedserver/v1alpha1/zz_generated.conversion_hubs.go b/apis/dedicatedserver/v1alpha1/zz_generated.conversion_hubs.go index 1505853..6a67e63 100755 --- a/apis/dedicatedserver/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/dedicatedserver/v1alpha1/zz_generated.conversion_hubs.go @@ -7,25 +7,25 @@ Copyright 2022 Upbound Inc. package v1alpha1 // Hub marks this type as a conversion hub. -func (tr *ServerInstallTask) Hub() {} +func (tr *InstallationTemplate) Hub() {} // Hub marks this type as a conversion hub. -func (tr *ServerNetworking) Hub() {} +func (tr *InstallationTemplatePartitionScheme) Hub() {} // Hub marks this type as a conversion hub. -func (tr *ServerRebootTask) Hub() {} +func (tr *InstallationTemplatePartitionSchemeHardwareRaid) Hub() {} // Hub marks this type as a conversion hub. -func (tr *ServerUpdate) Hub() {} +func (tr *InstallationTemplatePartitionSchemePartition) Hub() {} // Hub marks this type as a conversion hub. -func (tr *InstallationTemplate) Hub() {} +func (tr *ServerInstallTask) Hub() {} // Hub marks this type as a conversion hub. -func (tr *InstallationTemplatePartitionScheme) Hub() {} +func (tr *ServerNetworking) Hub() {} // Hub marks this type as a conversion hub. -func (tr *InstallationTemplatePartitionSchemeHardwareRaid) Hub() {} +func (tr *ServerRebootTask) Hub() {} // Hub marks this type as a conversion hub. -func (tr *InstallationTemplatePartitionSchemePartition) Hub() {} +func (tr *ServerUpdate) Hub() {} diff --git a/apis/dedicatedserver/v1alpha1/zz_generated.deepcopy.go b/apis/dedicatedserver/v1alpha1/zz_generated.deepcopy.go index dca8b62..71b9a87 100644 --- a/apis/dedicatedserver/v1alpha1/zz_generated.deepcopy.go +++ b/apis/dedicatedserver/v1alpha1/zz_generated.deepcopy.go @@ -15,11 +15,6 @@ import ( // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CustomizationInitParameters) DeepCopyInto(out *CustomizationInitParameters) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -35,21 +30,6 @@ func (in *CustomizationInitParameters) DeepCopyInto(out *CustomizationInitParame *out = new(string) **out = **in } - if in.Rating != nil { - in, out := &in.Rating, &out.Rating - *out = new(float64) - **out = **in - } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName - *out = new(string) - **out = **in - } - if in.UseDistributionKernel != nil { - in, out := &in.UseDistributionKernel, &out.UseDistributionKernel - *out = new(bool) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizationInitParameters. @@ -65,11 +45,6 @@ func (in *CustomizationInitParameters) DeepCopy() *CustomizationInitParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CustomizationObservation) DeepCopyInto(out *CustomizationObservation) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -85,21 +60,6 @@ func (in *CustomizationObservation) DeepCopyInto(out *CustomizationObservation) *out = new(string) **out = **in } - if in.Rating != nil { - in, out := &in.Rating, &out.Rating - *out = new(float64) - **out = **in - } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName - *out = new(string) - **out = **in - } - if in.UseDistributionKernel != nil { - in, out := &in.UseDistributionKernel, &out.UseDistributionKernel - *out = new(bool) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizationObservation. @@ -115,11 +75,6 @@ func (in *CustomizationObservation) DeepCopy() *CustomizationObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CustomizationParameters) DeepCopyInto(out *CustomizationParameters) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -135,21 +90,6 @@ func (in *CustomizationParameters) DeepCopyInto(out *CustomizationParameters) { *out = new(string) **out = **in } - if in.Rating != nil { - in, out := &in.Rating, &out.Rating - *out = new(float64) - **out = **in - } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName - *out = new(string) - **out = **in - } - if in.UseDistributionKernel != nil { - in, out := &in.UseDistributionKernel, &out.UseDistributionKernel - *out = new(bool) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizationParameters. @@ -165,11 +105,6 @@ func (in *CustomizationParameters) DeepCopy() *CustomizationParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DetailsInitParameters) DeepCopyInto(out *DetailsInitParameters) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -180,21 +115,6 @@ func (in *DetailsInitParameters) DeepCopyInto(out *DetailsInitParameters) { *out = new(float64) **out = **in } - if in.InstallRtm != nil { - in, out := &in.InstallRtm, &out.InstallRtm - *out = new(bool) - **out = **in - } - if in.InstallSQLServer != nil { - in, out := &in.InstallSQLServer, &out.InstallSQLServer - *out = new(bool) - **out = **in - } - if in.Language != nil { - in, out := &in.Language, &out.Language - *out = new(string) - **out = **in - } if in.NoRaid != nil { in, out := &in.NoRaid, &out.NoRaid *out = new(bool) @@ -210,31 +130,11 @@ func (in *DetailsInitParameters) DeepCopyInto(out *DetailsInitParameters) { *out = new(string) **out = **in } - if in.ResetHwRaid != nil { - in, out := &in.ResetHwRaid, &out.ResetHwRaid - *out = new(bool) - **out = **in - } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName - *out = new(string) - **out = **in - } if in.SoftRaidDevices != nil { in, out := &in.SoftRaidDevices, &out.SoftRaidDevices *out = new(float64) **out = **in } - if in.UseDistribKernel != nil { - in, out := &in.UseDistribKernel, &out.UseDistribKernel - *out = new(bool) - **out = **in - } - if in.UseSpla != nil { - in, out := &in.UseSpla, &out.UseSpla - *out = new(bool) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetailsInitParameters. @@ -250,11 +150,6 @@ func (in *DetailsInitParameters) DeepCopy() *DetailsInitParameters { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DetailsObservation) DeepCopyInto(out *DetailsObservation) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -265,21 +160,6 @@ func (in *DetailsObservation) DeepCopyInto(out *DetailsObservation) { *out = new(float64) **out = **in } - if in.InstallRtm != nil { - in, out := &in.InstallRtm, &out.InstallRtm - *out = new(bool) - **out = **in - } - if in.InstallSQLServer != nil { - in, out := &in.InstallSQLServer, &out.InstallSQLServer - *out = new(bool) - **out = **in - } - if in.Language != nil { - in, out := &in.Language, &out.Language - *out = new(string) - **out = **in - } if in.NoRaid != nil { in, out := &in.NoRaid, &out.NoRaid *out = new(bool) @@ -295,31 +175,11 @@ func (in *DetailsObservation) DeepCopyInto(out *DetailsObservation) { *out = new(string) **out = **in } - if in.ResetHwRaid != nil { - in, out := &in.ResetHwRaid, &out.ResetHwRaid - *out = new(bool) - **out = **in - } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName - *out = new(string) - **out = **in - } if in.SoftRaidDevices != nil { in, out := &in.SoftRaidDevices, &out.SoftRaidDevices *out = new(float64) **out = **in } - if in.UseDistribKernel != nil { - in, out := &in.UseDistribKernel, &out.UseDistribKernel - *out = new(bool) - **out = **in - } - if in.UseSpla != nil { - in, out := &in.UseSpla, &out.UseSpla - *out = new(bool) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetailsObservation. @@ -335,11 +195,6 @@ func (in *DetailsObservation) DeepCopy() *DetailsObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DetailsParameters) DeepCopyInto(out *DetailsParameters) { *out = *in - if in.ChangeLog != nil { - in, out := &in.ChangeLog, &out.ChangeLog - *out = new(string) - **out = **in - } if in.CustomHostname != nil { in, out := &in.CustomHostname, &out.CustomHostname *out = new(string) @@ -350,21 +205,6 @@ func (in *DetailsParameters) DeepCopyInto(out *DetailsParameters) { *out = new(float64) **out = **in } - if in.InstallRtm != nil { - in, out := &in.InstallRtm, &out.InstallRtm - *out = new(bool) - **out = **in - } - if in.InstallSQLServer != nil { - in, out := &in.InstallSQLServer, &out.InstallSQLServer - *out = new(bool) - **out = **in - } - if in.Language != nil { - in, out := &in.Language, &out.Language - *out = new(string) - **out = **in - } if in.NoRaid != nil { in, out := &in.NoRaid, &out.NoRaid *out = new(bool) @@ -380,39 +220,100 @@ func (in *DetailsParameters) DeepCopyInto(out *DetailsParameters) { *out = new(string) **out = **in } - if in.ResetHwRaid != nil { - in, out := &in.ResetHwRaid, &out.ResetHwRaid - *out = new(bool) + if in.SoftRaidDevices != nil { + in, out := &in.SoftRaidDevices, &out.SoftRaidDevices + *out = new(float64) **out = **in } - if in.SSHKeyName != nil { - in, out := &in.SSHKeyName, &out.SSHKeyName +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetailsParameters. +func (in *DetailsParameters) DeepCopy() *DetailsParameters { + if in == nil { + return nil + } + out := new(DetailsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InputsInitParameters) DeepCopyInto(out *InputsInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputsInitParameters. +func (in *InputsInitParameters) DeepCopy() *InputsInitParameters { + if in == nil { + return nil + } + out := new(InputsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InputsObservation) DeepCopyInto(out *InputsObservation) { + *out = *in + if in.Default != nil { + in, out := &in.Default, &out.Default *out = new(string) **out = **in } - if in.SoftRaidDevices != nil { - in, out := &in.SoftRaidDevices, &out.SoftRaidDevices - *out = new(float64) + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) **out = **in } - if in.UseDistribKernel != nil { - in, out := &in.UseDistribKernel, &out.UseDistribKernel + if in.Enum != nil { + in, out := &in.Enum, &out.Enum + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Mandatory != nil { + in, out := &in.Mandatory, &out.Mandatory *out = new(bool) **out = **in } - if in.UseSpla != nil { - in, out := &in.UseSpla, &out.UseSpla - *out = new(bool) + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) **out = **in } } -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DetailsParameters. -func (in *DetailsParameters) DeepCopy() *DetailsParameters { +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputsObservation. +func (in *InputsObservation) DeepCopy() *InputsObservation { if in == nil { return nil } - out := new(DetailsParameters) + out := new(InputsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InputsParameters) DeepCopyInto(out *InputsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputsParameters. +func (in *InputsParameters) DeepCopy() *InputsParameters { + if in == nil { + return nil + } + out := new(InputsParameters) in.DeepCopyInto(out) return out } @@ -459,11 +360,6 @@ func (in *InstallationTemplateInitParameters) DeepCopyInto(out *InstallationTemp (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.DefaultLanguage != nil { - in, out := &in.DefaultLanguage, &out.DefaultLanguage - *out = new(string) - **out = **in - } if in.RemoveDefaultPartitionSchemes != nil { in, out := &in.RemoveDefaultPartitionSchemes, &out.RemoveDefaultPartitionSchemes *out = new(bool) @@ -521,27 +417,11 @@ func (in *InstallationTemplateList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InstallationTemplateObservation) DeepCopyInto(out *InstallationTemplateObservation) { *out = *in - if in.AvailableLanguages != nil { - in, out := &in.AvailableLanguages, &out.AvailableLanguages - *out = make([]*string, len(*in)) - for i := range *in { - if (*in)[i] != nil { - in, out := &(*in)[i], &(*out)[i] - *out = new(string) - **out = **in - } - } - } if in.BaseTemplateName != nil { in, out := &in.BaseTemplateName, &out.BaseTemplateName *out = new(string) **out = **in } - if in.Beta != nil { - in, out := &in.Beta, &out.Beta - *out = new(bool) - **out = **in - } if in.BitFormat != nil { in, out := &in.BitFormat, &out.BitFormat *out = new(float64) @@ -559,16 +439,6 @@ func (in *InstallationTemplateObservation) DeepCopyInto(out *InstallationTemplat (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.DefaultLanguage != nil { - in, out := &in.DefaultLanguage, &out.DefaultLanguage - *out = new(string) - **out = **in - } - if in.Deprecated != nil { - in, out := &in.Deprecated, &out.Deprecated - *out = new(bool) - **out = **in - } if in.Description != nil { in, out := &in.Description, &out.Description *out = new(string) @@ -579,6 +449,11 @@ func (in *InstallationTemplateObservation) DeepCopyInto(out *InstallationTemplat *out = new(string) **out = **in } + if in.EndOfInstall != nil { + in, out := &in.EndOfInstall, &out.EndOfInstall + *out = new(string) + **out = **in + } if in.Family != nil { in, out := &in.Family, &out.Family *out = new(string) @@ -605,34 +480,36 @@ func (in *InstallationTemplateObservation) DeepCopyInto(out *InstallationTemplat *out = new(string) **out = **in } - if in.LastModification != nil { - in, out := &in.LastModification, &out.LastModification - *out = new(string) - **out = **in + if in.Inputs != nil { + in, out := &in.Inputs, &out.Inputs + *out = make([]InputsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.LvmReady != nil { in, out := &in.LvmReady, &out.LvmReady *out = new(bool) **out = **in } - if in.RemoveDefaultPartitionSchemes != nil { - in, out := &in.RemoveDefaultPartitionSchemes, &out.RemoveDefaultPartitionSchemes + if in.NoPartitioning != nil { + in, out := &in.NoPartitioning, &out.NoPartitioning *out = new(bool) **out = **in } - if in.SupportsDistributionKernel != nil { - in, out := &in.SupportsDistributionKernel, &out.SupportsDistributionKernel + if in.RemoveDefaultPartitionSchemes != nil { + in, out := &in.RemoveDefaultPartitionSchemes, &out.RemoveDefaultPartitionSchemes *out = new(bool) **out = **in } - if in.SupportsRtm != nil { - in, out := &in.SupportsRtm, &out.SupportsRtm + if in.SoftRaidOnlyMirroring != nil { + in, out := &in.SoftRaidOnlyMirroring, &out.SoftRaidOnlyMirroring *out = new(bool) **out = **in } - if in.SupportsSQLServer != nil { - in, out := &in.SupportsSQLServer, &out.SupportsSQLServer - *out = new(bool) + if in.Subfamily != nil { + in, out := &in.Subfamily, &out.Subfamily + *out = new(string) **out = **in } if in.TemplateName != nil { @@ -667,11 +544,6 @@ func (in *InstallationTemplateParameters) DeepCopyInto(out *InstallationTemplate (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.DefaultLanguage != nil { - in, out := &in.DefaultLanguage, &out.DefaultLanguage - *out = new(string) - **out = **in - } if in.RemoveDefaultPartitionSchemes != nil { in, out := &in.RemoveDefaultPartitionSchemes, &out.RemoveDefaultPartitionSchemes *out = new(bool) @@ -1599,6 +1471,13 @@ func (in *ServerInstallTaskInitParameters) DeepCopyInto(out *ServerInstallTaskIn *out = new(string) **out = **in } + if in.UserMetadata != nil { + in, out := &in.UserMetadata, &out.UserMetadata + *out = make([]UserMetadataInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerInstallTaskInitParameters. @@ -1708,6 +1587,13 @@ func (in *ServerInstallTaskObservation) DeepCopyInto(out *ServerInstallTaskObser *out = new(string) **out = **in } + if in.UserMetadata != nil { + in, out := &in.UserMetadata, &out.UserMetadata + *out = make([]UserMetadataObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerInstallTaskObservation. @@ -1750,6 +1636,13 @@ func (in *ServerInstallTaskParameters) DeepCopyInto(out *ServerInstallTaskParame *out = new(string) **out = **in } + if in.UserMetadata != nil { + in, out := &in.UserMetadata, &out.UserMetadata + *out = make([]UserMetadataParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerInstallTaskParameters. @@ -2249,6 +2142,11 @@ func (in *ServerUpdateInitParameters) DeepCopyInto(out *ServerUpdateInitParamete *out = new(string) **out = **in } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } if in.Monitoring != nil { in, out := &in.Monitoring, &out.Monitoring *out = new(bool) @@ -2321,6 +2219,11 @@ func (in *ServerUpdateObservation) DeepCopyInto(out *ServerUpdateObservation) { *out = new(string) **out = **in } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } if in.ID != nil { in, out := &in.ID, &out.ID *out = new(string) @@ -2366,6 +2269,11 @@ func (in *ServerUpdateParameters) DeepCopyInto(out *ServerUpdateParameters) { *out = new(string) **out = **in } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } if in.Monitoring != nil { in, out := &in.Monitoring, &out.Monitoring *out = new(bool) @@ -2427,3 +2335,78 @@ func (in *ServerUpdateStatus) DeepCopy() *ServerUpdateStatus { in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserMetadataInitParameters) DeepCopyInto(out *UserMetadataInitParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserMetadataInitParameters. +func (in *UserMetadataInitParameters) DeepCopy() *UserMetadataInitParameters { + if in == nil { + return nil + } + out := new(UserMetadataInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserMetadataObservation) DeepCopyInto(out *UserMetadataObservation) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserMetadataObservation. +func (in *UserMetadataObservation) DeepCopy() *UserMetadataObservation { + if in == nil { + return nil + } + out := new(UserMetadataObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserMetadataParameters) DeepCopyInto(out *UserMetadataParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserMetadataParameters. +func (in *UserMetadataParameters) DeepCopy() *UserMetadataParameters { + if in == nil { + return nil + } + out := new(UserMetadataParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/dedicatedserver/v1alpha1/zz_installationtemplate_types.go b/apis/dedicatedserver/v1alpha1/zz_installationtemplate_types.go index 9329bd1..7ee65ff 100755 --- a/apis/dedicatedserver/v1alpha1/zz_installationtemplate_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_installationtemplate_types.go @@ -15,9 +15,6 @@ import ( type CustomizationInitParameters struct { - // Template change log details - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` @@ -26,21 +23,10 @@ type CustomizationInitParameters struct { // indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu' PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` - - Rating *float64 `json:"rating,omitempty" tf:"rating,omitempty"` - - // Name of the ssh key that should be installed. Password login will be disabled - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` - - // Use the distribution's native kernel instead of the recommended OVH Kernel - UseDistributionKernel *bool `json:"useDistributionKernel,omitempty" tf:"use_distribution_kernel,omitempty"` } type CustomizationObservation struct { - // Template change log details - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` @@ -49,22 +35,10 @@ type CustomizationObservation struct { // indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu' PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` - - Rating *float64 `json:"rating,omitempty" tf:"rating,omitempty"` - - // Name of the ssh key that should be installed. Password login will be disabled - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` - - // Use the distribution's native kernel instead of the recommended OVH Kernel - UseDistributionKernel *bool `json:"useDistributionKernel,omitempty" tf:"use_distribution_kernel,omitempty"` } type CustomizationParameters struct { - // Template change log details - // +kubebuilder:validation:Optional - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname // +kubebuilder:validation:Optional CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` @@ -76,17 +50,26 @@ type CustomizationParameters struct { // indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu' // +kubebuilder:validation:Optional PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` +} - // +kubebuilder:validation:Optional - Rating *float64 `json:"rating,omitempty" tf:"rating,omitempty"` +type InputsInitParameters struct { +} - // Name of the ssh key that should be installed. Password login will be disabled - // +kubebuilder:validation:Optional - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` +type InputsObservation struct { + Default *string `json:"default,omitempty" tf:"default,omitempty"` - // Use the distribution's native kernel instead of the recommended OVH Kernel - // +kubebuilder:validation:Optional - UseDistributionKernel *bool `json:"useDistributionKernel,omitempty" tf:"use_distribution_kernel,omitempty"` + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + Enum []*string `json:"enum,omitempty" tf:"enum,omitempty"` + + Mandatory *bool `json:"mandatory,omitempty" tf:"mandatory,omitempty"` + + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type InputsParameters struct { } type InstallationTemplateInitParameters struct { @@ -96,9 +79,6 @@ type InstallationTemplateInitParameters struct { Customization []CustomizationInitParameters `json:"customization,omitempty" tf:"customization,omitempty"` - // The default language of this template - DefaultLanguage *string `json:"defaultLanguage,omitempty" tf:"default_language,omitempty"` - // Remove default partition schemes at creation RemoveDefaultPartitionSchemes *bool `json:"removeDefaultPartitionSchemes,omitempty" tf:"remove_default_partition_schemes,omitempty"` @@ -108,15 +88,9 @@ type InstallationTemplateInitParameters struct { type InstallationTemplateObservation struct { - // List of all language available for this template - AvailableLanguages []*string `json:"availableLanguages,omitempty" tf:"available_languages,omitempty"` - // OVH template name yours will be based on, choose one among the list given by compatibleTemplates function BaseTemplateName *string `json:"baseTemplateName,omitempty" tf:"base_template_name,omitempty"` - // This distribution is new and, although tested and functional, may still display odd behaviour - Beta *bool `json:"beta,omitempty" tf:"beta,omitempty"` - // This template bit format (32 or 64) BitFormat *float64 `json:"bitFormat,omitempty" tf:"bit_format,omitempty"` @@ -125,22 +99,19 @@ type InstallationTemplateObservation struct { Customization []CustomizationObservation `json:"customization,omitempty" tf:"customization,omitempty"` - // The default language of this template - DefaultLanguage *string `json:"defaultLanguage,omitempty" tf:"default_language,omitempty"` - - // is this distribution deprecated - Deprecated *bool `json:"deprecated,omitempty" tf:"deprecated,omitempty"` - // information about this template Description *string `json:"description,omitempty" tf:"description,omitempty"` // the distribution this template is based on Distribution *string `json:"distribution,omitempty" tf:"distribution,omitempty"` - // this template family type (bsd,linux,solaris,windows) + // after this date, install of this template will not be possible at OVH + EndOfInstall *string `json:"endOfInstall,omitempty" tf:"end_of_install,omitempty"` + + // this template family type Family *string `json:"family,omitempty" tf:"family,omitempty"` - // Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs) + // Filesystems available Filesystems []*string `json:"filesystems,omitempty" tf:"filesystems,omitempty"` // This distribution supports hardware raid configuration through the OVH API @@ -148,23 +119,22 @@ type InstallationTemplateObservation struct { ID *string `json:"id,omitempty" tf:"id,omitempty"` - // Date of last modification of the base image - LastModification *string `json:"lastModification,omitempty" tf:"last_modification,omitempty"` + Inputs []InputsObservation `json:"inputs,omitempty" tf:"inputs,omitempty"` - // This distribution supports Logical Volumes (Linux LVM) + // Whether this distribution supports Logical Volumes (Linux LVM) LvmReady *bool `json:"lvmReady,omitempty" tf:"lvm_ready,omitempty"` + // Partitioning customization is not available for this OS template + NoPartitioning *bool `json:"noPartitioning,omitempty" tf:"no_partitioning,omitempty"` + // Remove default partition schemes at creation RemoveDefaultPartitionSchemes *bool `json:"removeDefaultPartitionSchemes,omitempty" tf:"remove_default_partition_schemes,omitempty"` - // This distribution supports installation using the distribution's native kernel instead of the recommended OVH kernel - SupportsDistributionKernel *bool `json:"supportsDistributionKernel,omitempty" tf:"supports_distribution_kernel,omitempty"` - - // This distribution supports RTM software - SupportsRtm *bool `json:"supportsRtm,omitempty" tf:"supports_rtm,omitempty"` + // Partitioning customization is available but limited to mirroring for this OS template + SoftRaidOnlyMirroring *bool `json:"softRaidOnlyMirroring,omitempty" tf:"soft_raid_only_mirroring,omitempty"` - // This distribution supports the microsoft SQL server - SupportsSQLServer *bool `json:"supportsSqlServer,omitempty" tf:"supports_sql_server,omitempty"` + // this template subfamily type + Subfamily *string `json:"subfamily,omitempty" tf:"subfamily,omitempty"` // This template name TemplateName *string `json:"templateName,omitempty" tf:"template_name,omitempty"` @@ -179,10 +149,6 @@ type InstallationTemplateParameters struct { // +kubebuilder:validation:Optional Customization []CustomizationParameters `json:"customization,omitempty" tf:"customization,omitempty"` - // The default language of this template - // +kubebuilder:validation:Optional - DefaultLanguage *string `json:"defaultLanguage,omitempty" tf:"default_language,omitempty"` - // Remove default partition schemes at creation // +kubebuilder:validation:Optional RemoveDefaultPartitionSchemes *bool `json:"removeDefaultPartitionSchemes,omitempty" tf:"remove_default_partition_schemes,omitempty"` @@ -220,16 +186,15 @@ type InstallationTemplateStatus struct { // +kubebuilder:storageversion // InstallationTemplate is the Schema for the InstallationTemplates API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type InstallationTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.baseTemplateName) || (has(self.initProvider) && has(self.initProvider.baseTemplateName))",message="spec.forProvider.baseTemplateName is a required parameter" - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.defaultLanguage) || (has(self.initProvider) && has(self.initProvider.defaultLanguage))",message="spec.forProvider.defaultLanguage is a required parameter" // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.templateName) || (has(self.initProvider) && has(self.initProvider.templateName))",message="spec.forProvider.templateName is a required parameter" Spec InstallationTemplateSpec `json:"spec"` Status InstallationTemplateStatus `json:"status,omitempty"` diff --git a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionscheme_types.go b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionscheme_types.go index 74d2ce9..56f5639 100755 --- a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionscheme_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionscheme_types.go @@ -81,11 +81,11 @@ type InstallationTemplatePartitionSchemeStatus struct { // +kubebuilder:storageversion // InstallationTemplatePartitionScheme is the Schema for the InstallationTemplatePartitionSchemes API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type InstallationTemplatePartitionScheme struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemehardwareraid_types.go b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemehardwareraid_types.go index dbac0be..7754128 100755 --- a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemehardwareraid_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemehardwareraid_types.go @@ -112,11 +112,11 @@ type InstallationTemplatePartitionSchemeHardwareRaidStatus struct { // +kubebuilder:storageversion // InstallationTemplatePartitionSchemeHardwareRaid is the Schema for the InstallationTemplatePartitionSchemeHardwareRaids API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type InstallationTemplatePartitionSchemeHardwareRaid struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemepartition_types.go b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemepartition_types.go index edbf5ce..24226e0 100755 --- a/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemepartition_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_installationtemplatepartitionschemepartition_types.go @@ -142,11 +142,11 @@ type InstallationTemplatePartitionSchemePartitionStatus struct { // +kubebuilder:storageversion // InstallationTemplatePartitionSchemePartition is the Schema for the InstallationTemplatePartitionSchemePartitions API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type InstallationTemplatePartitionSchemePartition struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/dedicatedserver/v1alpha1/zz_serverinstalltask_types.go b/apis/dedicatedserver/v1alpha1/zz_serverinstalltask_types.go index 77b47b8..c74adf5 100755 --- a/apis/dedicatedserver/v1alpha1/zz_serverinstalltask_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_serverinstalltask_types.go @@ -15,21 +15,11 @@ import ( type DetailsInitParameters struct { - // Template change log details - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` DiskGroupID *float64 `json:"diskGroupId,omitempty" tf:"disk_group_id,omitempty"` - InstallRtm *bool `json:"installRtm,omitempty" tf:"install_rtm,omitempty"` - - InstallSQLServer *bool `json:"installSqlServer,omitempty" tf:"install_sql_server,omitempty"` - - // language - Language *string `json:"language,omitempty" tf:"language,omitempty"` - NoRaid *bool `json:"noRaid,omitempty" tf:"no_raid,omitempty"` // Indicate the URL where your postinstall customisation script is located @@ -38,36 +28,16 @@ type DetailsInitParameters struct { // indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu' PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` - ResetHwRaid *bool `json:"resetHwRaid,omitempty" tf:"reset_hw_raid,omitempty"` - - // Name of the ssh key that should be installed. Password login will be disabled - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` - SoftRaidDevices *float64 `json:"softRaidDevices,omitempty" tf:"soft_raid_devices,omitempty"` - - // Use the distribution's native kernel instead of the recommended OVH Kernel - UseDistribKernel *bool `json:"useDistribKernel,omitempty" tf:"use_distrib_kernel,omitempty"` - - UseSpla *bool `json:"useSpla,omitempty" tf:"use_spla,omitempty"` } type DetailsObservation struct { - // Template change log details - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` DiskGroupID *float64 `json:"diskGroupId,omitempty" tf:"disk_group_id,omitempty"` - InstallRtm *bool `json:"installRtm,omitempty" tf:"install_rtm,omitempty"` - - InstallSQLServer *bool `json:"installSqlServer,omitempty" tf:"install_sql_server,omitempty"` - - // language - Language *string `json:"language,omitempty" tf:"language,omitempty"` - NoRaid *bool `json:"noRaid,omitempty" tf:"no_raid,omitempty"` // Indicate the URL where your postinstall customisation script is located @@ -76,25 +46,11 @@ type DetailsObservation struct { // indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu' PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` - ResetHwRaid *bool `json:"resetHwRaid,omitempty" tf:"reset_hw_raid,omitempty"` - - // Name of the ssh key that should be installed. Password login will be disabled - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` - SoftRaidDevices *float64 `json:"softRaidDevices,omitempty" tf:"soft_raid_devices,omitempty"` - - // Use the distribution's native kernel instead of the recommended OVH Kernel - UseDistribKernel *bool `json:"useDistribKernel,omitempty" tf:"use_distrib_kernel,omitempty"` - - UseSpla *bool `json:"useSpla,omitempty" tf:"use_spla,omitempty"` } type DetailsParameters struct { - // Template change log details - // +kubebuilder:validation:Optional - ChangeLog *string `json:"changeLog,omitempty" tf:"change_log,omitempty"` - // Set up the server using the provided hostname instead of the default hostname // +kubebuilder:validation:Optional CustomHostname *string `json:"customHostname,omitempty" tf:"custom_hostname,omitempty"` @@ -102,16 +58,6 @@ type DetailsParameters struct { // +kubebuilder:validation:Optional DiskGroupID *float64 `json:"diskGroupId,omitempty" tf:"disk_group_id,omitempty"` - // +kubebuilder:validation:Optional - InstallRtm *bool `json:"installRtm,omitempty" tf:"install_rtm,omitempty"` - - // +kubebuilder:validation:Optional - InstallSQLServer *bool `json:"installSqlServer,omitempty" tf:"install_sql_server,omitempty"` - - // language - // +kubebuilder:validation:Optional - Language *string `json:"language,omitempty" tf:"language,omitempty"` - // +kubebuilder:validation:Optional NoRaid *bool `json:"noRaid,omitempty" tf:"no_raid,omitempty"` @@ -123,22 +69,8 @@ type DetailsParameters struct { // +kubebuilder:validation:Optional PostInstallationScriptReturn *string `json:"postInstallationScriptReturn,omitempty" tf:"post_installation_script_return,omitempty"` - // +kubebuilder:validation:Optional - ResetHwRaid *bool `json:"resetHwRaid,omitempty" tf:"reset_hw_raid,omitempty"` - - // Name of the ssh key that should be installed. Password login will be disabled - // +kubebuilder:validation:Optional - SSHKeyName *string `json:"sshKeyName,omitempty" tf:"ssh_key_name,omitempty"` - // +kubebuilder:validation:Optional SoftRaidDevices *float64 `json:"softRaidDevices,omitempty" tf:"soft_raid_devices,omitempty"` - - // Use the distribution's native kernel instead of the recommended OVH Kernel - // +kubebuilder:validation:Optional - UseDistribKernel *bool `json:"useDistribKernel,omitempty" tf:"use_distrib_kernel,omitempty"` - - // +kubebuilder:validation:Optional - UseSpla *bool `json:"useSpla,omitempty" tf:"use_spla,omitempty"` } type ServerInstallTaskInitParameters struct { @@ -156,6 +88,8 @@ type ServerInstallTaskInitParameters struct { // Template name TemplateName *string `json:"templateName,omitempty" tf:"template_name,omitempty"` + + UserMetadata []UserMetadataInitParameters `json:"userMetadata,omitempty" tf:"user_metadata,omitempty"` } type ServerInstallTaskObservation struct { @@ -193,6 +127,8 @@ type ServerInstallTaskObservation struct { // Template name TemplateName *string `json:"templateName,omitempty" tf:"template_name,omitempty"` + + UserMetadata []UserMetadataObservation `json:"userMetadata,omitempty" tf:"user_metadata,omitempty"` } type ServerInstallTaskParameters struct { @@ -215,6 +151,38 @@ type ServerInstallTaskParameters struct { // Template name // +kubebuilder:validation:Optional TemplateName *string `json:"templateName,omitempty" tf:"template_name,omitempty"` + + // +kubebuilder:validation:Optional + UserMetadata []UserMetadataParameters `json:"userMetadata,omitempty" tf:"user_metadata,omitempty"` +} + +type UserMetadataInitParameters struct { + + // The key for the user_metadata + Key *string `json:"key,omitempty" tf:"key,omitempty"` + + // The value for the user_metadata + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type UserMetadataObservation struct { + + // The key for the user_metadata + Key *string `json:"key,omitempty" tf:"key,omitempty"` + + // The value for the user_metadata + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type UserMetadataParameters struct { + + // The key for the user_metadata + // +kubebuilder:validation:Optional + Key *string `json:"key" tf:"key,omitempty"` + + // The value for the user_metadata + // +kubebuilder:validation:Optional + Value *string `json:"value" tf:"value,omitempty"` } // ServerInstallTaskSpec defines the desired state of ServerInstallTask @@ -245,11 +213,11 @@ type ServerInstallTaskStatus struct { // +kubebuilder:storageversion // ServerInstallTask is the Schema for the ServerInstallTasks API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ServerInstallTask struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/dedicatedserver/v1alpha1/zz_servernetworking_types.go b/apis/dedicatedserver/v1alpha1/zz_servernetworking_types.go index 6ffd999..005d0f5 100755 --- a/apis/dedicatedserver/v1alpha1/zz_servernetworking_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_servernetworking_types.go @@ -110,11 +110,11 @@ type ServerNetworkingStatus struct { // +kubebuilder:storageversion // ServerNetworking is the Schema for the ServerNetworkings API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ServerNetworking struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/dedicatedserver/v1alpha1/zz_serverreboottask_types.go b/apis/dedicatedserver/v1alpha1/zz_serverreboottask_types.go index cff542b..879edb9 100755 --- a/apis/dedicatedserver/v1alpha1/zz_serverreboottask_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_serverreboottask_types.go @@ -90,11 +90,11 @@ type ServerRebootTaskStatus struct { // +kubebuilder:storageversion // ServerRebootTask is the Schema for the ServerRebootTasks API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ServerRebootTask struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/dedicatedserver/v1alpha1/zz_serverupdate_types.go b/apis/dedicatedserver/v1alpha1/zz_serverupdate_types.go index 0a06e20..dd4b2f6 100755 --- a/apis/dedicatedserver/v1alpha1/zz_serverupdate_types.go +++ b/apis/dedicatedserver/v1alpha1/zz_serverupdate_types.go @@ -21,6 +21,9 @@ type ServerUpdateInitParameters struct { // The boot script of your dedicated server. BootScript *string `json:"bootScript,omitempty" tf:"boot_script,omitempty"` + // Display name of the dedicated server + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Icmp monitoring state Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"` @@ -39,6 +42,9 @@ type ServerUpdateObservation struct { // The boot script of your dedicated server. BootScript *string `json:"bootScript,omitempty" tf:"boot_script,omitempty"` + // Display name of the dedicated server + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + ID *string `json:"id,omitempty" tf:"id,omitempty"` // Icmp monitoring state @@ -61,6 +67,10 @@ type ServerUpdateParameters struct { // +kubebuilder:validation:Optional BootScript *string `json:"bootScript,omitempty" tf:"boot_script,omitempty"` + // Display name of the dedicated server + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Icmp monitoring state // +kubebuilder:validation:Optional Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"` @@ -102,11 +112,11 @@ type ServerUpdateStatus struct { // +kubebuilder:storageversion // ServerUpdate is the Schema for the ServerUpdates API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ServerUpdate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/dns/v1alpha1/zz_generated.conversion_hubs.go b/apis/dns/v1alpha1/zz_generated.conversion_hubs.go index b5c5a62..da90aa3 100755 --- a/apis/dns/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/dns/v1alpha1/zz_generated.conversion_hubs.go @@ -9,6 +9,9 @@ package v1alpha1 // Hub marks this type as a conversion hub. func (tr *Zone) Hub() {} +// Hub marks this type as a conversion hub. +func (tr *ZoneDNSSEC) Hub() {} + // Hub marks this type as a conversion hub. func (tr *ZoneRecord) Hub() {} diff --git a/apis/dns/v1alpha1/zz_generated.deepcopy.go b/apis/dns/v1alpha1/zz_generated.deepcopy.go index c557953..437da6b 100644 --- a/apis/dns/v1alpha1/zz_generated.deepcopy.go +++ b/apis/dns/v1alpha1/zz_generated.deepcopy.go @@ -573,9 +573,178 @@ func (in *Zone) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ZoneDNSSEC) DeepCopyInto(out *ZoneDNSSEC) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneDNSSEC. +func (in *ZoneDNSSEC) DeepCopy() *ZoneDNSSEC { + if in == nil { + return nil + } + out := new(ZoneDNSSEC) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ZoneDNSSEC) 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 *ZoneDNSSECInitParameters) DeepCopyInto(out *ZoneDNSSECInitParameters) { + *out = *in + if in.ZoneName != nil { + in, out := &in.ZoneName, &out.ZoneName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneDNSSECInitParameters. +func (in *ZoneDNSSECInitParameters) DeepCopy() *ZoneDNSSECInitParameters { + if in == nil { + return nil + } + out := new(ZoneDNSSECInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ZoneDNSSECList) DeepCopyInto(out *ZoneDNSSECList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ZoneDNSSEC, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneDNSSECList. +func (in *ZoneDNSSECList) DeepCopy() *ZoneDNSSECList { + if in == nil { + return nil + } + out := new(ZoneDNSSECList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ZoneDNSSECList) 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 *ZoneDNSSECObservation) DeepCopyInto(out *ZoneDNSSECObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } + if in.ZoneName != nil { + in, out := &in.ZoneName, &out.ZoneName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneDNSSECObservation. +func (in *ZoneDNSSECObservation) DeepCopy() *ZoneDNSSECObservation { + if in == nil { + return nil + } + out := new(ZoneDNSSECObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ZoneDNSSECParameters) DeepCopyInto(out *ZoneDNSSECParameters) { + *out = *in + if in.ZoneName != nil { + in, out := &in.ZoneName, &out.ZoneName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneDNSSECParameters. +func (in *ZoneDNSSECParameters) DeepCopy() *ZoneDNSSECParameters { + if in == nil { + return nil + } + out := new(ZoneDNSSECParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ZoneDNSSECSpec) DeepCopyInto(out *ZoneDNSSECSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneDNSSECSpec. +func (in *ZoneDNSSECSpec) DeepCopy() *ZoneDNSSECSpec { + if in == nil { + return nil + } + out := new(ZoneDNSSECSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ZoneDNSSECStatus) DeepCopyInto(out *ZoneDNSSECStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneDNSSECStatus. +func (in *ZoneDNSSECStatus) DeepCopy() *ZoneDNSSECStatus { + if in == nil { + return nil + } + out := new(ZoneDNSSECStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ZoneInitParameters) DeepCopyInto(out *ZoneInitParameters) { *out = *in + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -734,6 +903,11 @@ func (in *ZoneObservation) DeepCopy() *ZoneObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ZoneParameters) DeepCopyInto(out *ZoneParameters) { *out = *in + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) diff --git a/apis/dns/v1alpha1/zz_generated.managed.go b/apis/dns/v1alpha1/zz_generated.managed.go index 4d68b6a..ddbd913 100644 --- a/apis/dns/v1alpha1/zz_generated.managed.go +++ b/apis/dns/v1alpha1/zz_generated.managed.go @@ -67,6 +67,66 @@ func (mg *Zone) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r } +// GetCondition of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this ZoneDNSSEC. +func (mg *ZoneDNSSEC) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + // GetCondition of this ZoneRecord. func (mg *ZoneRecord) GetCondition(ct xpv1.ConditionType) xpv1.Condition { return mg.Status.GetCondition(ct) diff --git a/apis/dns/v1alpha1/zz_generated.managedlist.go b/apis/dns/v1alpha1/zz_generated.managedlist.go index bfe5b12..8a2d6f5 100644 --- a/apis/dns/v1alpha1/zz_generated.managedlist.go +++ b/apis/dns/v1alpha1/zz_generated.managedlist.go @@ -7,6 +7,15 @@ package v1alpha1 import resource "github.com/crossplane/crossplane-runtime/pkg/resource" +// GetItems of this ZoneDNSSECList. +func (l *ZoneDNSSECList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + // GetItems of this ZoneList. func (l *ZoneList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) diff --git a/apis/dns/v1alpha1/zz_zone_types.go b/apis/dns/v1alpha1/zz_zone_types.go index 76da9b2..a5c4b1f 100755 --- a/apis/dns/v1alpha1/zz_zone_types.go +++ b/apis/dns/v1alpha1/zz_zone_types.go @@ -15,34 +15,28 @@ import ( type ConfigurationInitParameters struct { - // Identifier of the resource : zone or template // Identifier of the resource Label *string `json:"label,omitempty" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM Value *string `json:"value,omitempty" tf:"value,omitempty"` } type ConfigurationObservation struct { - // Identifier of the resource : zone or template // Identifier of the resource Label *string `json:"label,omitempty" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM Value *string `json:"value,omitempty" tf:"value,omitempty"` } type ConfigurationParameters struct { - // Identifier of the resource : zone or template // Identifier of the resource // +kubebuilder:validation:Optional Label *string `json:"label" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM // +kubebuilder:validation:Optional Value *string `json:"value" tf:"value,omitempty"` @@ -52,17 +46,12 @@ type DetailsInitParameters struct { } type DetailsObservation struct { - - // description Description *string `json:"description,omitempty" tf:"description,omitempty"` - // expiration date Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` - // order detail id OrderDetailID *float64 `json:"orderDetailId,omitempty" tf:"order_detail_id,omitempty"` - // quantity Quantity *string `json:"quantity,omitempty" tf:"quantity,omitempty"` } @@ -92,80 +81,64 @@ type OrderParameters struct { type PlanInitParameters struct { - // Catalog name // Catalog name CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product Configuration []ConfigurationInitParameters `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration Duration *string `json:"duration,omitempty" tf:"duration,omitempty"` - // Plan code // Plan code PlanCode *string `json:"planCode,omitempty" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier PricingMode *string `json:"pricingMode,omitempty" tf:"pricing_mode,omitempty"` } type PlanObservation struct { - // Catalog name // Catalog name CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product Configuration []ConfigurationObservation `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration Duration *string `json:"duration,omitempty" tf:"duration,omitempty"` - // Plan code // Plan code PlanCode *string `json:"planCode,omitempty" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier PricingMode *string `json:"pricingMode,omitempty" tf:"pricing_mode,omitempty"` } type PlanOptionConfigurationInitParameters struct { - // Identifier of the resource : zone or template // Identifier of the resource Label *string `json:"label,omitempty" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM Value *string `json:"value,omitempty" tf:"value,omitempty"` } type PlanOptionConfigurationObservation struct { - // Identifier of the resource : zone or template // Identifier of the resource Label *string `json:"label,omitempty" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM Value *string `json:"value,omitempty" tf:"value,omitempty"` } type PlanOptionConfigurationParameters struct { - // Identifier of the resource : zone or template // Identifier of the resource // +kubebuilder:validation:Optional Label *string `json:"label" tf:"label,omitempty"` - // For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. // Path to the resource in API.OVH.COM // +kubebuilder:validation:Optional Value *string `json:"value" tf:"value,omitempty"` @@ -173,73 +146,58 @@ type PlanOptionConfigurationParameters struct { type PlanOptionInitParameters struct { - // Catalog name // Catalog name CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product Configuration []PlanOptionConfigurationInitParameters `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration Duration *string `json:"duration,omitempty" tf:"duration,omitempty"` - // Plan code // Plan code PlanCode *string `json:"planCode,omitempty" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier PricingMode *string `json:"pricingMode,omitempty" tf:"pricing_mode,omitempty"` } type PlanOptionObservation struct { - // Catalog name // Catalog name CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product Configuration []PlanOptionConfigurationObservation `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration Duration *string `json:"duration,omitempty" tf:"duration,omitempty"` - // Plan code // Plan code PlanCode *string `json:"planCode,omitempty" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier PricingMode *string `json:"pricingMode,omitempty" tf:"pricing_mode,omitempty"` } type PlanOptionParameters struct { - // Catalog name // Catalog name // +kubebuilder:validation:Optional CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product // +kubebuilder:validation:Optional Configuration []PlanOptionConfigurationParameters `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration // +kubebuilder:validation:Optional Duration *string `json:"duration" tf:"duration,omitempty"` - // Plan code // Plan code // +kubebuilder:validation:Optional PlanCode *string `json:"planCode" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier // +kubebuilder:validation:Optional PricingMode *string `json:"pricingMode" tf:"pricing_mode,omitempty"` @@ -247,27 +205,22 @@ type PlanOptionParameters struct { type PlanParameters struct { - // Catalog name // Catalog name // +kubebuilder:validation:Optional CatalogName *string `json:"catalogName,omitempty" tf:"catalog_name,omitempty"` - // Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template // Representation of a configuration item for personalizing product // +kubebuilder:validation:Optional Configuration []ConfigurationParameters `json:"configuration,omitempty" tf:"configuration,omitempty"` - // duration // duration // +kubebuilder:validation:Optional Duration *string `json:"duration" tf:"duration,omitempty"` - // Plan code // Plan code // +kubebuilder:validation:Optional PlanCode *string `json:"planCode" tf:"plan_code,omitempty"` - // Pricing model identifier // Pricing model identifier // +kubebuilder:validation:Optional PricingMode *string `json:"pricingMode" tf:"pricing_mode,omitempty"` @@ -275,62 +228,53 @@ type PlanParameters struct { type ZoneInitParameters struct { - // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` // Ovh payment mode PaymentMean *string `json:"paymentMean,omitempty" tf:"payment_mean,omitempty"` - // Product Plan to order // Product Plan to order Plan []PlanInitParameters `json:"plan,omitempty" tf:"plan,omitempty"` - // Product Plan to order // Product Plan to order PlanOption []PlanOptionInitParameters `json:"planOption,omitempty" tf:"plan_option,omitempty"` } type ZoneObservation struct { - // Is DNSSEC supported by this zone // Is DNSSEC supported by this zone DNSSECSupported *bool `json:"dnssecSupported,omitempty" tf:"dnssec_supported,omitempty"` - // hasDnsAnycast flag of the DNS zone // hasDnsAnycast flag of the DNS zone HasDNSAnycast *bool `json:"hasDnsAnycast,omitempty" tf:"has_dns_anycast,omitempty"` ID *string `json:"id,omitempty" tf:"id,omitempty"` - // Last update date of the DNS zone // Last update date of the DNS zone LastUpdate *string `json:"lastUpdate,omitempty" tf:"last_update,omitempty"` - // Zone name // Zone name Name *string `json:"name,omitempty" tf:"name,omitempty"` - // Name servers that host the DNS zone // Name servers that host the DNS zone NameServers []*string `json:"nameServers,omitempty" tf:"name_servers,omitempty"` - // Details about an Order // Details about an Order Order []OrderObservation `json:"order,omitempty" tf:"order,omitempty"` - // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` // Ovh payment mode PaymentMean *string `json:"paymentMean,omitempty" tf:"payment_mean,omitempty"` - // Product Plan to order // Product Plan to order Plan []PlanObservation `json:"plan,omitempty" tf:"plan,omitempty"` - // Product Plan to order // Product Plan to order PlanOption []PlanOptionObservation `json:"planOption,omitempty" tf:"plan_option,omitempty"` @@ -339,7 +283,10 @@ type ZoneObservation struct { type ZoneParameters struct { - // OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -348,12 +295,10 @@ type ZoneParameters struct { // +kubebuilder:validation:Optional PaymentMean *string `json:"paymentMean,omitempty" tf:"payment_mean,omitempty"` - // Product Plan to order // Product Plan to order // +kubebuilder:validation:Optional Plan []PlanParameters `json:"plan,omitempty" tf:"plan,omitempty"` - // Product Plan to order // Product Plan to order // +kubebuilder:validation:Optional PlanOption []PlanOptionParameters `json:"planOption,omitempty" tf:"plan_option,omitempty"` @@ -386,12 +331,12 @@ type ZoneStatus struct { // +kubebuilder:subresource:status // +kubebuilder:storageversion -// Zone is the Schema for the Zones API. ovh_domain_zone.html.markdownsubcategory : "Domain names" -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// Zone is the Schema for the Zones API. // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Zone struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/dns/v1alpha1/zz_zonednssec_terraformed.go b/apis/dns/v1alpha1/zz_zonednssec_terraformed.go new file mode 100755 index 0000000..0bc5d6c --- /dev/null +++ b/apis/dns/v1alpha1/zz_zonednssec_terraformed.go @@ -0,0 +1,129 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ZoneDNSSEC +func (mg *ZoneDNSSEC) GetTerraformResourceType() string { + return "ovh_domain_zone_dnssec" +} + +// GetConnectionDetailsMapping for this ZoneDNSSEC +func (tr *ZoneDNSSEC) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this ZoneDNSSEC +func (tr *ZoneDNSSEC) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ZoneDNSSEC +func (tr *ZoneDNSSEC) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ZoneDNSSEC +func (tr *ZoneDNSSEC) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ZoneDNSSEC +func (tr *ZoneDNSSEC) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ZoneDNSSEC +func (tr *ZoneDNSSEC) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this ZoneDNSSEC +func (tr *ZoneDNSSEC) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this ZoneDNSSEC +func (tr *ZoneDNSSEC) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this ZoneDNSSEC using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ZoneDNSSEC) LateInitialize(attrs []byte) (bool, error) { + params := &ZoneDNSSECParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ZoneDNSSEC) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/dns/v1alpha1/zz_zonednssec_types.go b/apis/dns/v1alpha1/zz_zonednssec_types.go new file mode 100755 index 0000000..d7b1d4f --- /dev/null +++ b/apis/dns/v1alpha1/zz_zonednssec_types.go @@ -0,0 +1,99 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type ZoneDNSSECInitParameters struct { + + // The internal name of your zone + ZoneName *string `json:"zoneName,omitempty" tf:"zone_name,omitempty"` +} + +type ZoneDNSSECObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // DNSSEC Status + Status *string `json:"status,omitempty" tf:"status,omitempty"` + + // The internal name of your zone + ZoneName *string `json:"zoneName,omitempty" tf:"zone_name,omitempty"` +} + +type ZoneDNSSECParameters struct { + + // The internal name of your zone + // +kubebuilder:validation:Optional + ZoneName *string `json:"zoneName,omitempty" tf:"zone_name,omitempty"` +} + +// ZoneDNSSECSpec defines the desired state of ZoneDNSSEC +type ZoneDNSSECSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ZoneDNSSECParameters `json:"forProvider"` + // THIS IS A BETA FIELD. It will be honored + // unless the Management Policies feature flag is disabled. + // InitProvider holds the same fields as ForProvider, with the exception + // of Identifier and other resource reference fields. The fields that are + // in InitProvider are merged into ForProvider when the resource is created. + // The same fields are also added to the terraform ignore_changes hook, to + // avoid updating them after creation. This is useful for fields that are + // required on creation, but we do not desire to update them after creation, + // for example because of an external controller is managing them, like an + // autoscaler. + InitProvider ZoneDNSSECInitParameters `json:"initProvider,omitempty"` +} + +// ZoneDNSSECStatus defines the observed state of ZoneDNSSEC. +type ZoneDNSSECStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ZoneDNSSECObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// ZoneDNSSEC is the Schema for the ZoneDNSSECs API. +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} +type ZoneDNSSEC struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.zoneName) || (has(self.initProvider) && has(self.initProvider.zoneName))",message="spec.forProvider.zoneName is a required parameter" + Spec ZoneDNSSECSpec `json:"spec"` + Status ZoneDNSSECStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ZoneDNSSECList contains a list of ZoneDNSSECs +type ZoneDNSSECList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ZoneDNSSEC `json:"items"` +} + +// Repository type metadata. +var ( + ZoneDNSSEC_Kind = "ZoneDNSSEC" + ZoneDNSSEC_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ZoneDNSSEC_Kind}.String() + ZoneDNSSEC_KindAPIVersion = ZoneDNSSEC_Kind + "." + CRDGroupVersion.String() + ZoneDNSSEC_GroupVersionKind = CRDGroupVersion.WithKind(ZoneDNSSEC_Kind) +) + +func init() { + SchemeBuilder.Register(&ZoneDNSSEC{}, &ZoneDNSSECList{}) +} diff --git a/apis/dns/v1alpha1/zz_zonerecord_types.go b/apis/dns/v1alpha1/zz_zonerecord_types.go index 3d24f47..1d99036 100755 --- a/apis/dns/v1alpha1/zz_zonerecord_types.go +++ b/apis/dns/v1alpha1/zz_zonerecord_types.go @@ -14,63 +14,45 @@ import ( ) type ZoneRecordInitParameters struct { - - // The type of the record Fieldtype *string `json:"fieldtype,omitempty" tf:"fieldtype,omitempty"` - // The name of the record. It can be an empty string. Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The TTL of the record, it shall be >= to 60. TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"` - // The value of the record Target *string `json:"target,omitempty" tf:"target,omitempty"` - // The domain to add the record to Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } type ZoneRecordObservation struct { - - // The type of the record Fieldtype *string `json:"fieldtype,omitempty" tf:"fieldtype,omitempty"` - // The record ID ID *string `json:"id,omitempty" tf:"id,omitempty"` - // The name of the record. It can be an empty string. Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The TTL of the record, it shall be >= to 60. TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"` - // The value of the record Target *string `json:"target,omitempty" tf:"target,omitempty"` - // The domain to add the record to Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } type ZoneRecordParameters struct { - // The type of the record // +kubebuilder:validation:Optional Fieldtype *string `json:"fieldtype,omitempty" tf:"fieldtype,omitempty"` - // The name of the record. It can be an empty string. // +kubebuilder:validation:Optional Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The TTL of the record, it shall be >= to 60. // +kubebuilder:validation:Optional TTL *float64 `json:"ttl,omitempty" tf:"ttl,omitempty"` - // The value of the record // +kubebuilder:validation:Optional Target *string `json:"target,omitempty" tf:"target,omitempty"` - // The domain to add the record to // +kubebuilder:validation:Optional Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } @@ -102,12 +84,12 @@ type ZoneRecordStatus struct { // +kubebuilder:subresource:status // +kubebuilder:storageversion -// ZoneRecord is the Schema for the ZoneRecords API. ovh_domain_zone_record.html.markdownsubcategory : "Domain names" -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// ZoneRecord is the Schema for the ZoneRecords API. // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ZoneRecord struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/dns/v1alpha1/zz_zoneredirection_types.go b/apis/dns/v1alpha1/zz_zoneredirection_types.go index e0c9ed6..78146cd 100755 --- a/apis/dns/v1alpha1/zz_zoneredirection_types.go +++ b/apis/dns/v1alpha1/zz_zoneredirection_types.go @@ -14,83 +14,59 @@ import ( ) type ZoneRedirectionInitParameters struct { - - // A description of this redirection Description *string `json:"description,omitempty" tf:"description,omitempty"` - // Keywords to describe this redirection Keywords *string `json:"keywords,omitempty" tf:"keywords,omitempty"` - // The name of the redirection Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The value of the redirection Target *string `json:"target,omitempty" tf:"target,omitempty"` - // Title of this redirection Title *string `json:"title,omitempty" tf:"title,omitempty"` - // The type of the redirection, with values: Type *string `json:"type,omitempty" tf:"type,omitempty"` - // The domain to add the redirection to Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } type ZoneRedirectionObservation struct { - - // A description of this redirection Description *string `json:"description,omitempty" tf:"description,omitempty"` - // The redirection ID ID *string `json:"id,omitempty" tf:"id,omitempty"` - // Keywords to describe this redirection Keywords *string `json:"keywords,omitempty" tf:"keywords,omitempty"` - // The name of the redirection Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The value of the redirection Target *string `json:"target,omitempty" tf:"target,omitempty"` - // Title of this redirection Title *string `json:"title,omitempty" tf:"title,omitempty"` - // The type of the redirection, with values: Type *string `json:"type,omitempty" tf:"type,omitempty"` - // The domain to add the redirection to Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } type ZoneRedirectionParameters struct { - // A description of this redirection // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` - // Keywords to describe this redirection // +kubebuilder:validation:Optional Keywords *string `json:"keywords,omitempty" tf:"keywords,omitempty"` - // The name of the redirection // +kubebuilder:validation:Optional Subdomain *string `json:"subdomain,omitempty" tf:"subdomain,omitempty"` - // The value of the redirection // +kubebuilder:validation:Optional Target *string `json:"target,omitempty" tf:"target,omitempty"` - // Title of this redirection // +kubebuilder:validation:Optional Title *string `json:"title,omitempty" tf:"title,omitempty"` - // The type of the redirection, with values: // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` - // The domain to add the redirection to // +kubebuilder:validation:Optional Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` } @@ -122,12 +98,12 @@ type ZoneRedirectionStatus struct { // +kubebuilder:subresource:status // +kubebuilder:storageversion -// ZoneRedirection is the Schema for the ZoneRedirections API. ovh_domain_zone_redirection.html.markdownsubcategory : "Domain names" -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// ZoneRedirection is the Schema for the ZoneRedirections API. // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ZoneRedirection struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/gateway/v1alpha1/zz_generated.deepcopy.go b/apis/gateway/v1alpha1/zz_generated.deepcopy.go index 0062d83..42590e0 100644 --- a/apis/gateway/v1alpha1/zz_generated.deepcopy.go +++ b/apis/gateway/v1alpha1/zz_generated.deepcopy.go @@ -13,6 +13,183 @@ 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 *ExternalInformationInitParameters) DeepCopyInto(out *ExternalInformationInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalInformationInitParameters. +func (in *ExternalInformationInitParameters) DeepCopy() *ExternalInformationInitParameters { + if in == nil { + return nil + } + out := new(ExternalInformationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalInformationObservation) DeepCopyInto(out *ExternalInformationObservation) { + *out = *in + if in.Ips != nil { + in, out := &in.Ips, &out.Ips + *out = make([]IpsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NetworkID != nil { + in, out := &in.NetworkID, &out.NetworkID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalInformationObservation. +func (in *ExternalInformationObservation) DeepCopy() *ExternalInformationObservation { + if in == nil { + return nil + } + out := new(ExternalInformationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalInformationParameters) DeepCopyInto(out *ExternalInformationParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalInformationParameters. +func (in *ExternalInformationParameters) DeepCopy() *ExternalInformationParameters { + if in == nil { + return nil + } + out := new(ExternalInformationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterfacesInitParameters) DeepCopyInto(out *InterfacesInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfacesInitParameters. +func (in *InterfacesInitParameters) DeepCopy() *InterfacesInitParameters { + if in == nil { + return nil + } + out := new(InterfacesInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterfacesObservation) DeepCopyInto(out *InterfacesObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.NetworkID != nil { + in, out := &in.NetworkID, &out.NetworkID + *out = new(string) + **out = **in + } + if in.SubnetID != nil { + in, out := &in.SubnetID, &out.SubnetID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfacesObservation. +func (in *InterfacesObservation) DeepCopy() *InterfacesObservation { + if in == nil { + return nil + } + out := new(InterfacesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterfacesParameters) DeepCopyInto(out *InterfacesParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfacesParameters. +func (in *InterfacesParameters) DeepCopy() *InterfacesParameters { + if in == nil { + return nil + } + out := new(InterfacesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IpsInitParameters) DeepCopyInto(out *IpsInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpsInitParameters. +func (in *IpsInitParameters) DeepCopy() *IpsInitParameters { + if in == nil { + return nil + } + out := new(IpsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IpsObservation) DeepCopyInto(out *IpsObservation) { + *out = *in + if in.IP != nil { + in, out := &in.IP, &out.IP + *out = new(string) + **out = **in + } + if in.SubnetID != nil { + in, out := &in.SubnetID, &out.SubnetID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpsObservation. +func (in *IpsObservation) DeepCopy() *IpsObservation { + if in == nil { + return nil + } + out := new(IpsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IpsParameters) DeepCopyInto(out *IpsParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpsParameters. +func (in *IpsParameters) DeepCopy() *IpsParameters { + if in == nil { + return nil + } + out := new(IpsParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProjectGateway) DeepCopyInto(out *ProjectGateway) { *out = *in @@ -140,11 +317,25 @@ func (in *ProjectGatewayList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProjectGatewayObservation) DeepCopyInto(out *ProjectGatewayObservation) { *out = *in + if in.ExternalInformation != nil { + in, out := &in.ExternalInformation, &out.ExternalInformation + *out = make([]ExternalInformationObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.ID != nil { in, out := &in.ID, &out.ID *out = new(string) **out = **in } + if in.Interfaces != nil { + in, out := &in.Interfaces, &out.Interfaces + *out = make([]InterfacesObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.Model != nil { in, out := &in.Model, &out.Model *out = new(string) diff --git a/apis/gateway/v1alpha1/zz_projectgateway_types.go b/apis/gateway/v1alpha1/zz_projectgateway_types.go index 4aead45..69da9b9 100755 --- a/apis/gateway/v1alpha1/zz_projectgateway_types.go +++ b/apis/gateway/v1alpha1/zz_projectgateway_types.go @@ -13,6 +13,46 @@ import ( v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" ) +type ExternalInformationInitParameters struct { +} + +type ExternalInformationObservation struct { + Ips []IpsObservation `json:"ips,omitempty" tf:"ips,omitempty"` + + NetworkID *string `json:"networkId,omitempty" tf:"network_id,omitempty"` +} + +type ExternalInformationParameters struct { +} + +type InterfacesInitParameters struct { +} + +type InterfacesObservation struct { + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + NetworkID *string `json:"networkId,omitempty" tf:"network_id,omitempty"` + + SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"` +} + +type InterfacesParameters struct { +} + +type IpsInitParameters struct { +} + +type IpsObservation struct { + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` + + SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"` +} + +type IpsParameters struct { +} + type ProjectGatewayInitParameters struct { Model *string `json:"model,omitempty" tf:"model,omitempty"` @@ -47,8 +87,15 @@ type ProjectGatewayInitParameters struct { } type ProjectGatewayObservation struct { + + // External information of the gateway + ExternalInformation []ExternalInformationObservation `json:"externalInformation,omitempty" tf:"external_information,omitempty"` + ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Interfaces list of the gateway + Interfaces []InterfacesObservation `json:"interfaces,omitempty" tf:"interfaces,omitempty"` + Model *string `json:"model,omitempty" tf:"model,omitempty"` Name *string `json:"name,omitempty" tf:"name,omitempty"` @@ -133,11 +180,11 @@ type ProjectGatewayStatus struct { // +kubebuilder:storageversion // ProjectGateway is the Schema for the ProjectGateways API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectGateway struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/iam/v1alpha1/zz_iampermissionsgroup_types.go b/apis/iam/v1alpha1/zz_iampermissionsgroup_types.go index 3c63808..06916d3 100755 --- a/apis/iam/v1alpha1/zz_iampermissionsgroup_types.go +++ b/apis/iam/v1alpha1/zz_iampermissionsgroup_types.go @@ -109,11 +109,11 @@ type IAMPermissionsGroupStatus struct { // +kubebuilder:storageversion // IAMPermissionsGroup is the Schema for the IAMPermissionsGroups API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type IAMPermissionsGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/iam/v1alpha1/zz_iampolicy_types.go b/apis/iam/v1alpha1/zz_iampolicy_types.go index 2dd4e87..cffbd18 100755 --- a/apis/iam/v1alpha1/zz_iampolicy_types.go +++ b/apis/iam/v1alpha1/zz_iampolicy_types.go @@ -134,11 +134,11 @@ type IAMPolicyStatus struct { // +kubebuilder:storageversion // IAMPolicy is the Schema for the IAMPolicys API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type IAMPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/iam/v1alpha1/zz_iamresourcegroup_types.go b/apis/iam/v1alpha1/zz_iamresourcegroup_types.go index 9a777fc..844d606 100755 --- a/apis/iam/v1alpha1/zz_iamresourcegroup_types.go +++ b/apis/iam/v1alpha1/zz_iamresourcegroup_types.go @@ -77,11 +77,11 @@ type IAMResourceGroupStatus struct { // +kubebuilder:storageversion // IAMResourceGroup is the Schema for the IAMResourceGroups API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type IAMResourceGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/kube/v1alpha1/zz_cluster_types.go b/apis/kube/v1alpha1/zz_cluster_types.go index e36a27b..7e23c30 100755 --- a/apis/kube/v1alpha1/zz_cluster_types.go +++ b/apis/kube/v1alpha1/zz_cluster_types.go @@ -57,8 +57,12 @@ type ClusterInitParameters struct { KubeProxyMode *string `json:"kubeProxyMode,omitempty" tf:"kube_proxy_mode,omitempty"` + LoadBalancersSubnetID *string `json:"loadBalancersSubnetId,omitempty" tf:"load_balancers_subnet_id,omitempty"` + Name *string `json:"name,omitempty" tf:"name,omitempty"` + NodesSubnetID *string `json:"nodesSubnetId,omitempty" tf:"nodes_subnet_id,omitempty"` + PrivateNetworkConfiguration []PrivateNetworkConfigurationInitParameters `json:"privateNetworkConfiguration,omitempty" tf:"private_network_configuration,omitempty"` // +crossplane:generate:reference:type=github.com/edixos/provider-ovh/apis/network/v1alpha1.PrivateNetwork @@ -96,11 +100,15 @@ type ClusterObservation struct { KubeProxyMode *string `json:"kubeProxyMode,omitempty" tf:"kube_proxy_mode,omitempty"` + LoadBalancersSubnetID *string `json:"loadBalancersSubnetId,omitempty" tf:"load_balancers_subnet_id,omitempty"` + Name *string `json:"name,omitempty" tf:"name,omitempty"` // +listType=set NextUpgradeVersions []*string `json:"nextUpgradeVersions,omitempty" tf:"next_upgrade_versions,omitempty"` + NodesSubnetID *string `json:"nodesSubnetId,omitempty" tf:"nodes_subnet_id,omitempty"` + NodesURL *string `json:"nodesUrl,omitempty" tf:"nodes_url,omitempty"` PrivateNetworkConfiguration []PrivateNetworkConfigurationObservation `json:"privateNetworkConfiguration,omitempty" tf:"private_network_configuration,omitempty"` @@ -134,9 +142,15 @@ type ClusterParameters struct { // +kubebuilder:validation:Optional KubeProxyMode *string `json:"kubeProxyMode,omitempty" tf:"kube_proxy_mode,omitempty"` + // +kubebuilder:validation:Optional + LoadBalancersSubnetID *string `json:"loadBalancersSubnetId,omitempty" tf:"load_balancers_subnet_id,omitempty"` + // +kubebuilder:validation:Optional Name *string `json:"name,omitempty" tf:"name,omitempty"` + // +kubebuilder:validation:Optional + NodesSubnetID *string `json:"nodesSubnetId,omitempty" tf:"nodes_subnet_id,omitempty"` + // +kubebuilder:validation:Optional PrivateNetworkConfiguration []PrivateNetworkConfigurationParameters `json:"privateNetworkConfiguration,omitempty" tf:"private_network_configuration,omitempty"` @@ -378,11 +392,11 @@ type ClusterStatus struct { // +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/kube/v1alpha1/zz_generated.deepcopy.go b/apis/kube/v1alpha1/zz_generated.deepcopy.go index f6c62ce..3052bcc 100644 --- a/apis/kube/v1alpha1/zz_generated.deepcopy.go +++ b/apis/kube/v1alpha1/zz_generated.deepcopy.go @@ -246,11 +246,21 @@ func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters) { *out = new(string) **out = **in } + if in.LoadBalancersSubnetID != nil { + in, out := &in.LoadBalancersSubnetID, &out.LoadBalancersSubnetID + *out = new(string) + **out = **in + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) **out = **in } + if in.NodesSubnetID != nil { + in, out := &in.NodesSubnetID, &out.NodesSubnetID + *out = new(string) + **out = **in + } if in.PrivateNetworkConfiguration != nil { in, out := &in.PrivateNetworkConfiguration, &out.PrivateNetworkConfiguration *out = make([]PrivateNetworkConfigurationInitParameters, len(*in)) @@ -381,6 +391,11 @@ func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { *out = new(string) **out = **in } + if in.LoadBalancersSubnetID != nil { + in, out := &in.LoadBalancersSubnetID, &out.LoadBalancersSubnetID + *out = new(string) + **out = **in + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) @@ -397,6 +412,11 @@ func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { } } } + if in.NodesSubnetID != nil { + in, out := &in.NodesSubnetID, &out.NodesSubnetID + *out = new(string) + **out = **in + } if in.NodesURL != nil { in, out := &in.NodesURL, &out.NodesURL *out = new(string) @@ -485,11 +505,21 @@ func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters) { *out = new(string) **out = **in } + if in.LoadBalancersSubnetID != nil { + in, out := &in.LoadBalancersSubnetID, &out.LoadBalancersSubnetID + *out = new(string) + **out = **in + } if in.Name != nil { in, out := &in.Name, &out.Name *out = new(string) **out = **in } + if in.NodesSubnetID != nil { + in, out := &in.NodesSubnetID, &out.NodesSubnetID + *out = new(string) + **out = **in + } if in.PrivateNetworkConfiguration != nil { in, out := &in.PrivateNetworkConfiguration, &out.PrivateNetworkConfiguration *out = make([]PrivateNetworkConfigurationParameters, len(*in)) diff --git a/apis/kube/v1alpha1/zz_iprestriction_types.go b/apis/kube/v1alpha1/zz_iprestriction_types.go index 7b91cde..00403a8 100755 --- a/apis/kube/v1alpha1/zz_iprestriction_types.go +++ b/apis/kube/v1alpha1/zz_iprestriction_types.go @@ -102,11 +102,11 @@ type IpRestrictionStatus struct { // +kubebuilder:storageversion // IpRestriction is the Schema for the IpRestrictions API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type IpRestriction struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/kube/v1alpha1/zz_nodepool_types.go b/apis/kube/v1alpha1/zz_nodepool_types.go index f8be7bd..2a5d9e0 100755 --- a/apis/kube/v1alpha1/zz_nodepool_types.go +++ b/apis/kube/v1alpha1/zz_nodepool_types.go @@ -340,11 +340,11 @@ type NodePoolStatus struct { // +kubebuilder:storageversion // NodePool is the Schema for the NodePools API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type NodePool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/kube/v1alpha1/zz_oidcconfiguration_types.go b/apis/kube/v1alpha1/zz_oidcconfiguration_types.go index 6769943..2a29b75 100755 --- a/apis/kube/v1alpha1/zz_oidcconfiguration_types.go +++ b/apis/kube/v1alpha1/zz_oidcconfiguration_types.go @@ -145,11 +145,11 @@ type OIDCConfigurationStatus struct { // +kubebuilder:storageversion // OIDCConfiguration is the Schema for the OIDCConfigurations API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type OIDCConfiguration struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_generated.conversion_hubs.go b/apis/lb/v1alpha1/zz_generated.conversion_hubs.go index 23c4fc7..d0b0404 100755 --- a/apis/lb/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/lb/v1alpha1/zz_generated.conversion_hubs.go @@ -6,9 +6,6 @@ Copyright 2022 Upbound Inc. package v1alpha1 -// Hub marks this type as a conversion hub. -func (tr *Iploadbalancing) Hub() {} - // Hub marks this type as a conversion hub. func (tr *HTTPFarm) Hub() {} @@ -24,6 +21,9 @@ func (tr *HTTPRoute) Hub() {} // Hub marks this type as a conversion hub. func (tr *HTTPRouteRule) Hub() {} +// Hub marks this type as a conversion hub. +func (tr *Iploadbalancing) Hub() {} + // Hub marks this type as a conversion hub. func (tr *Refresh) Hub() {} @@ -42,5 +42,8 @@ func (tr *TCPRoute) Hub() {} // Hub marks this type as a conversion hub. func (tr *TCPRouteRule) Hub() {} +// Hub marks this type as a conversion hub. +func (tr *UDPFrontend) Hub() {} + // Hub marks this type as a conversion hub. func (tr *VrackNetwork) Hub() {} diff --git a/apis/lb/v1alpha1/zz_generated.deepcopy.go b/apis/lb/v1alpha1/zz_generated.deepcopy.go index 585e137..c1d33ea 100644 --- a/apis/lb/v1alpha1/zz_generated.deepcopy.go +++ b/apis/lb/v1alpha1/zz_generated.deepcopy.go @@ -1785,6 +1785,11 @@ func (in *IploadbalancingInitParameters) DeepCopyInto(out *IploadbalancingInitPa *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -1990,6 +1995,11 @@ func (in *IploadbalancingParameters) DeepCopyInto(out *IploadbalancingParameters *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -3813,6 +3823,17 @@ func (in *TCPFrontendInitParameters) DeepCopyInto(out *TCPFrontendInitParameters *out = new(float64) **out = **in } + if in.DeniedSource != nil { + in, out := &in.DeniedSource, &out.DeniedSource + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.Disabled != nil { in, out := &in.Disabled, &out.Disabled *out = new(bool) @@ -3922,6 +3943,17 @@ func (in *TCPFrontendObservation) DeepCopyInto(out *TCPFrontendObservation) { *out = new(float64) **out = **in } + if in.DeniedSource != nil { + in, out := &in.DeniedSource, &out.DeniedSource + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.Disabled != nil { in, out := &in.Disabled, &out.Disabled *out = new(bool) @@ -4004,6 +4036,17 @@ func (in *TCPFrontendParameters) DeepCopyInto(out *TCPFrontendParameters) { *out = new(float64) **out = **in } + if in.DeniedSource != nil { + in, out := &in.DeniedSource, &out.DeniedSource + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.Disabled != nil { in, out := &in.Disabled, &out.Disabled *out = new(bool) @@ -4732,6 +4775,278 @@ func (in *TCPRouteStatus) DeepCopy() *TCPRouteStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UDPFrontend) DeepCopyInto(out *UDPFrontend) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPFrontend. +func (in *UDPFrontend) DeepCopy() *UDPFrontend { + if in == nil { + return nil + } + out := new(UDPFrontend) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *UDPFrontend) 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 *UDPFrontendInitParameters) DeepCopyInto(out *UDPFrontendInitParameters) { + *out = *in + if in.DedicatedIpfo != nil { + in, out := &in.DedicatedIpfo, &out.DedicatedIpfo + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.DefaultFarmID != nil { + in, out := &in.DefaultFarmID, &out.DefaultFarmID + *out = new(float64) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPFrontendInitParameters. +func (in *UDPFrontendInitParameters) DeepCopy() *UDPFrontendInitParameters { + if in == nil { + return nil + } + out := new(UDPFrontendInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UDPFrontendList) DeepCopyInto(out *UDPFrontendList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]UDPFrontend, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPFrontendList. +func (in *UDPFrontendList) DeepCopy() *UDPFrontendList { + if in == nil { + return nil + } + out := new(UDPFrontendList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *UDPFrontendList) 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 *UDPFrontendObservation) DeepCopyInto(out *UDPFrontendObservation) { + *out = *in + if in.DedicatedIpfo != nil { + in, out := &in.DedicatedIpfo, &out.DedicatedIpfo + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.DefaultFarmID != nil { + in, out := &in.DefaultFarmID, &out.DefaultFarmID + *out = new(float64) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.FrontendID != nil { + in, out := &in.FrontendID, &out.FrontendID + *out = new(float64) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPFrontendObservation. +func (in *UDPFrontendObservation) DeepCopy() *UDPFrontendObservation { + if in == nil { + return nil + } + out := new(UDPFrontendObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UDPFrontendParameters) DeepCopyInto(out *UDPFrontendParameters) { + *out = *in + if in.DedicatedIpfo != nil { + in, out := &in.DedicatedIpfo, &out.DedicatedIpfo + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.DefaultFarmID != nil { + in, out := &in.DefaultFarmID, &out.DefaultFarmID + *out = new(float64) + **out = **in + } + if in.Disabled != nil { + in, out := &in.Disabled, &out.Disabled + *out = new(bool) + **out = **in + } + if in.DisplayName != nil { + in, out := &in.DisplayName, &out.DisplayName + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } + if in.Zone != nil { + in, out := &in.Zone, &out.Zone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPFrontendParameters. +func (in *UDPFrontendParameters) DeepCopy() *UDPFrontendParameters { + if in == nil { + return nil + } + out := new(UDPFrontendParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UDPFrontendSpec) DeepCopyInto(out *UDPFrontendSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPFrontendSpec. +func (in *UDPFrontendSpec) DeepCopy() *UDPFrontendSpec { + if in == nil { + return nil + } + out := new(UDPFrontendSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UDPFrontendStatus) DeepCopyInto(out *UDPFrontendStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UDPFrontendStatus. +func (in *UDPFrontendStatus) DeepCopy() *UDPFrontendStatus { + if in == nil { + return nil + } + out := new(UDPFrontendStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VrackNetwork) DeepCopyInto(out *VrackNetwork) { *out = *in diff --git a/apis/lb/v1alpha1/zz_generated.managed.go b/apis/lb/v1alpha1/zz_generated.managed.go index 87b8589..f678d1d 100644 --- a/apis/lb/v1alpha1/zz_generated.managed.go +++ b/apis/lb/v1alpha1/zz_generated.managed.go @@ -727,6 +727,66 @@ func (mg *TCPRouteRule) SetWriteConnectionSecretToReference(r *xpv1.SecretRefere mg.Spec.WriteConnectionSecretToReference = r } +// GetCondition of this UDPFrontend. +func (mg *UDPFrontend) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this UDPFrontend. +func (mg *UDPFrontend) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this UDPFrontend. +func (mg *UDPFrontend) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this UDPFrontend. +func (mg *UDPFrontend) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this UDPFrontend. +func (mg *UDPFrontend) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this UDPFrontend. +func (mg *UDPFrontend) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this UDPFrontend. +func (mg *UDPFrontend) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this UDPFrontend. +func (mg *UDPFrontend) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this UDPFrontend. +func (mg *UDPFrontend) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this UDPFrontend. +func (mg *UDPFrontend) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this UDPFrontend. +func (mg *UDPFrontend) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this UDPFrontend. +func (mg *UDPFrontend) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + // GetCondition of this VrackNetwork. func (mg *VrackNetwork) GetCondition(ct xpv1.ConditionType) xpv1.Condition { return mg.Status.GetCondition(ct) diff --git a/apis/lb/v1alpha1/zz_generated.managedlist.go b/apis/lb/v1alpha1/zz_generated.managedlist.go index 295d6b9..a278091 100644 --- a/apis/lb/v1alpha1/zz_generated.managedlist.go +++ b/apis/lb/v1alpha1/zz_generated.managedlist.go @@ -115,6 +115,15 @@ func (l *TCPRouteRuleList) GetItems() []resource.Managed { return items } +// GetItems of this UDPFrontendList. +func (l *UDPFrontendList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + // GetItems of this VrackNetworkList. func (l *VrackNetworkList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) diff --git a/apis/lb/v1alpha1/zz_httpfarm_types.go b/apis/lb/v1alpha1/zz_httpfarm_types.go index 17f79dc..655f92d 100755 --- a/apis/lb/v1alpha1/zz_httpfarm_types.go +++ b/apis/lb/v1alpha1/zz_httpfarm_types.go @@ -176,11 +176,11 @@ type HTTPFarmStatus struct { // +kubebuilder:storageversion // HTTPFarm is the Schema for the HTTPFarms API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type HTTPFarm struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_httpfarmserver_types.go b/apis/lb/v1alpha1/zz_httpfarmserver_types.go index 424fb72..ae12465 100755 --- a/apis/lb/v1alpha1/zz_httpfarmserver_types.go +++ b/apis/lb/v1alpha1/zz_httpfarmserver_types.go @@ -143,11 +143,11 @@ type HTTPFarmServerStatus struct { // +kubebuilder:storageversion // HTTPFarmServer is the Schema for the HTTPFarmServers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type HTTPFarmServer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_httpfrontend_types.go b/apis/lb/v1alpha1/zz_httpfrontend_types.go index 7bd87d4..87a17d7 100755 --- a/apis/lb/v1alpha1/zz_httpfrontend_types.go +++ b/apis/lb/v1alpha1/zz_httpfrontend_types.go @@ -14,6 +14,8 @@ import ( ) type HTTPFrontendInitParameters struct { + + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` // +listType=set @@ -43,6 +45,8 @@ type HTTPFrontendInitParameters struct { } type HTTPFrontendObservation struct { + + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` // +listType=set @@ -76,6 +80,7 @@ type HTTPFrontendObservation struct { type HTTPFrontendParameters struct { // +kubebuilder:validation:Optional + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` // +kubebuilder:validation:Optional @@ -144,11 +149,11 @@ type HTTPFrontendStatus struct { // +kubebuilder:storageversion // HTTPFrontend is the Schema for the HTTPFrontends API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type HTTPFrontend struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_httproute_types.go b/apis/lb/v1alpha1/zz_httproute_types.go index a517257..63332ba 100755 --- a/apis/lb/v1alpha1/zz_httproute_types.go +++ b/apis/lb/v1alpha1/zz_httproute_types.go @@ -167,11 +167,11 @@ type HTTPRouteStatus struct { // +kubebuilder:storageversion // HTTPRoute is the Schema for the HTTPRoutes API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type HTTPRoute struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_httprouterule_types.go b/apis/lb/v1alpha1/zz_httprouterule_types.go index 7244664..ad6748f 100755 --- a/apis/lb/v1alpha1/zz_httprouterule_types.go +++ b/apis/lb/v1alpha1/zz_httprouterule_types.go @@ -106,11 +106,11 @@ type HTTPRouteRuleStatus struct { // +kubebuilder:storageversion // HTTPRouteRule is the Schema for the HTTPRouteRules API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type HTTPRouteRule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_iploadbalancing_types.go b/apis/lb/v1alpha1/zz_iploadbalancing_types.go index 73a492d..73faccc 100755 --- a/apis/lb/v1alpha1/zz_iploadbalancing_types.go +++ b/apis/lb/v1alpha1/zz_iploadbalancing_types.go @@ -63,6 +63,9 @@ type IploadbalancingInitParameters struct { // Set the name displayed in ManagerV6 for your iplb (max 50 chars) DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -143,6 +146,10 @@ type IploadbalancingParameters struct { // +kubebuilder:validation:Optional DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -168,12 +175,17 @@ type OrderInitParameters struct { } type OrderObservation struct { + + // date Date *string `json:"date,omitempty" tf:"date,omitempty"` + // Information about a Bill entry Details []DetailsObservation `json:"details,omitempty" tf:"details,omitempty"` + // expiration date ExpirationDate *string `json:"expirationDate,omitempty" tf:"expiration_date,omitempty"` + // order id OrderID *float64 `json:"orderId,omitempty" tf:"order_id,omitempty"` } @@ -367,11 +379,11 @@ type IploadbalancingStatus struct { // +kubebuilder:storageversion // Iploadbalancing is the Schema for the Iploadbalancings API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Iploadbalancing struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_refresh_types.go b/apis/lb/v1alpha1/zz_refresh_types.go index 4d08686..4324974 100755 --- a/apis/lb/v1alpha1/zz_refresh_types.go +++ b/apis/lb/v1alpha1/zz_refresh_types.go @@ -64,11 +64,11 @@ type RefreshStatus struct { // +kubebuilder:storageversion // Refresh is the Schema for the Refreshs API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Refresh struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_tcpfarm_types.go b/apis/lb/v1alpha1/zz_tcpfarm_types.go index a1fb3d9..b65d965 100755 --- a/apis/lb/v1alpha1/zz_tcpfarm_types.go +++ b/apis/lb/v1alpha1/zz_tcpfarm_types.go @@ -176,11 +176,11 @@ type TCPFarmStatus struct { // +kubebuilder:storageversion // TCPFarm is the Schema for the TCPFarms API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type TCPFarm struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_tcpfarmserver_types.go b/apis/lb/v1alpha1/zz_tcpfarmserver_types.go index 351399f..b370ab6 100755 --- a/apis/lb/v1alpha1/zz_tcpfarmserver_types.go +++ b/apis/lb/v1alpha1/zz_tcpfarmserver_types.go @@ -141,11 +141,11 @@ type TCPFarmServerStatus struct { // +kubebuilder:storageversion // TCPFarmServer is the Schema for the TCPFarmServers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type TCPFarmServer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_tcpfrontend_types.go b/apis/lb/v1alpha1/zz_tcpfrontend_types.go index 7547e01..753d7e6 100755 --- a/apis/lb/v1alpha1/zz_tcpfrontend_types.go +++ b/apis/lb/v1alpha1/zz_tcpfrontend_types.go @@ -14,14 +14,20 @@ import ( ) type TCPFrontendInitParameters struct { + + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` + // +listType=set DedicatedIpfo []*string `json:"dedicatedIpfo,omitempty" tf:"dedicated_ipfo,omitempty"` DefaultFarmID *float64 `json:"defaultFarmId,omitempty" tf:"default_farm_id,omitempty"` DefaultSSLID *float64 `json:"defaultSslId,omitempty" tf:"default_ssl_id,omitempty"` + // +listType=set + DeniedSource []*string `json:"deniedSource,omitempty" tf:"denied_source,omitempty"` + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` @@ -36,14 +42,20 @@ type TCPFrontendInitParameters struct { } type TCPFrontendObservation struct { + + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` + // +listType=set DedicatedIpfo []*string `json:"dedicatedIpfo,omitempty" tf:"dedicated_ipfo,omitempty"` DefaultFarmID *float64 `json:"defaultFarmId,omitempty" tf:"default_farm_id,omitempty"` DefaultSSLID *float64 `json:"defaultSslId,omitempty" tf:"default_ssl_id,omitempty"` + // +listType=set + DeniedSource []*string `json:"deniedSource,omitempty" tf:"denied_source,omitempty"` + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` @@ -62,9 +74,11 @@ type TCPFrontendObservation struct { type TCPFrontendParameters struct { // +kubebuilder:validation:Optional + // +listType=set AllowedSource []*string `json:"allowedSource,omitempty" tf:"allowed_source,omitempty"` // +kubebuilder:validation:Optional + // +listType=set DedicatedIpfo []*string `json:"dedicatedIpfo,omitempty" tf:"dedicated_ipfo,omitempty"` // +kubebuilder:validation:Optional @@ -73,6 +87,10 @@ type TCPFrontendParameters struct { // +kubebuilder:validation:Optional DefaultSSLID *float64 `json:"defaultSslId,omitempty" tf:"default_ssl_id,omitempty"` + // +kubebuilder:validation:Optional + // +listType=set + DeniedSource []*string `json:"deniedSource,omitempty" tf:"denied_source,omitempty"` + // +kubebuilder:validation:Optional Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` @@ -120,11 +138,11 @@ type TCPFrontendStatus struct { // +kubebuilder:storageversion // TCPFrontend is the Schema for the TCPFrontends API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type TCPFrontend struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_tcproute_types.go b/apis/lb/v1alpha1/zz_tcproute_types.go index 32cb121..d9b7fe0 100755 --- a/apis/lb/v1alpha1/zz_tcproute_types.go +++ b/apis/lb/v1alpha1/zz_tcproute_types.go @@ -157,11 +157,11 @@ type TCPRouteStatus struct { // +kubebuilder:storageversion // TCPRoute is the Schema for the TCPRoutes API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type TCPRoute struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_tcprouterule_types.go b/apis/lb/v1alpha1/zz_tcprouterule_types.go index 5a11b81..93208ef 100755 --- a/apis/lb/v1alpha1/zz_tcprouterule_types.go +++ b/apis/lb/v1alpha1/zz_tcprouterule_types.go @@ -106,11 +106,11 @@ type TCPRouteRuleStatus struct { // +kubebuilder:storageversion // TCPRouteRule is the Schema for the TCPRouteRules API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type TCPRouteRule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/lb/v1alpha1/zz_udpfrontend_terraformed.go b/apis/lb/v1alpha1/zz_udpfrontend_terraformed.go new file mode 100755 index 0000000..251e1ae --- /dev/null +++ b/apis/lb/v1alpha1/zz_udpfrontend_terraformed.go @@ -0,0 +1,129 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this UDPFrontend +func (mg *UDPFrontend) GetTerraformResourceType() string { + return "ovh_iploadbalancing_udp_frontend" +} + +// GetConnectionDetailsMapping for this UDPFrontend +func (tr *UDPFrontend) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this UDPFrontend +func (tr *UDPFrontend) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this UDPFrontend +func (tr *UDPFrontend) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this UDPFrontend +func (tr *UDPFrontend) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this UDPFrontend +func (tr *UDPFrontend) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this UDPFrontend +func (tr *UDPFrontend) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this UDPFrontend +func (tr *UDPFrontend) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this UDPFrontend +func (tr *UDPFrontend) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this UDPFrontend using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *UDPFrontend) LateInitialize(attrs []byte) (bool, error) { + params := &UDPFrontendParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *UDPFrontend) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/lb/v1alpha1/zz_udpfrontend_types.go b/apis/lb/v1alpha1/zz_udpfrontend_types.go new file mode 100755 index 0000000..36a4fd6 --- /dev/null +++ b/apis/lb/v1alpha1/zz_udpfrontend_types.go @@ -0,0 +1,162 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type UDPFrontendInitParameters struct { + + // Only attach frontend on these ip. No restriction if null + DedicatedIpfo []*string `json:"dedicatedIpfo,omitempty" tf:"dedicated_ipfo,omitempty"` + + // Default UDP Farm of your frontend + DefaultFarmID *float64 `json:"defaultFarmId,omitempty" tf:"default_farm_id,omitempty"` + + // Disable your frontend. Default: 'false' + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Human readable name for your frontend, this field is for you + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Port(s) attached to your frontend. Supports single port (numerical value), range (2 dash-delimited increasing ports) and comma-separated list of 'single port' and/or 'range'. Each port must be in the [1;49151] range. + Port *string `json:"port,omitempty" tf:"port,omitempty"` + + // The internal name of your IP load balancing + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` + + // Zone of your frontend. Use "all" for all owned zone. + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type UDPFrontendObservation struct { + + // Only attach frontend on these ip. No restriction if null + DedicatedIpfo []*string `json:"dedicatedIpfo,omitempty" tf:"dedicated_ipfo,omitempty"` + + // Default UDP Farm of your frontend + DefaultFarmID *float64 `json:"defaultFarmId,omitempty" tf:"default_farm_id,omitempty"` + + // Disable your frontend. Default: 'false' + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Human readable name for your frontend, this field is for you + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Id of your frontend + FrontendID *float64 `json:"frontendId,omitempty" tf:"frontend_id,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Port(s) attached to your frontend. Supports single port (numerical value), range (2 dash-delimited increasing ports) and comma-separated list of 'single port' and/or 'range'. Each port must be in the [1;49151] range. + Port *string `json:"port,omitempty" tf:"port,omitempty"` + + // The internal name of your IP load balancing + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` + + // Zone of your frontend. Use "all" for all owned zone. + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +type UDPFrontendParameters struct { + + // Only attach frontend on these ip. No restriction if null + // +kubebuilder:validation:Optional + DedicatedIpfo []*string `json:"dedicatedIpfo,omitempty" tf:"dedicated_ipfo,omitempty"` + + // Default UDP Farm of your frontend + // +kubebuilder:validation:Optional + DefaultFarmID *float64 `json:"defaultFarmId,omitempty" tf:"default_farm_id,omitempty"` + + // Disable your frontend. Default: 'false' + // +kubebuilder:validation:Optional + Disabled *bool `json:"disabled,omitempty" tf:"disabled,omitempty"` + + // Human readable name for your frontend, this field is for you + // +kubebuilder:validation:Optional + DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + + // Port(s) attached to your frontend. Supports single port (numerical value), range (2 dash-delimited increasing ports) and comma-separated list of 'single port' and/or 'range'. Each port must be in the [1;49151] range. + // +kubebuilder:validation:Optional + Port *string `json:"port,omitempty" tf:"port,omitempty"` + + // The internal name of your IP load balancing + // +kubebuilder:validation:Optional + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` + + // Zone of your frontend. Use "all" for all owned zone. + // +kubebuilder:validation:Optional + Zone *string `json:"zone,omitempty" tf:"zone,omitempty"` +} + +// UDPFrontendSpec defines the desired state of UDPFrontend +type UDPFrontendSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider UDPFrontendParameters `json:"forProvider"` + // THIS IS A BETA FIELD. It will be honored + // unless the Management Policies feature flag is disabled. + // InitProvider holds the same fields as ForProvider, with the exception + // of Identifier and other resource reference fields. The fields that are + // in InitProvider are merged into ForProvider when the resource is created. + // The same fields are also added to the terraform ignore_changes hook, to + // avoid updating them after creation. This is useful for fields that are + // required on creation, but we do not desire to update them after creation, + // for example because of an external controller is managing them, like an + // autoscaler. + InitProvider UDPFrontendInitParameters `json:"initProvider,omitempty"` +} + +// UDPFrontendStatus defines the observed state of UDPFrontend. +type UDPFrontendStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider UDPFrontendObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// UDPFrontend is the Schema for the UDPFrontends API. +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} +type UDPFrontend struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.port) || (has(self.initProvider) && has(self.initProvider.port))",message="spec.forProvider.port is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.serviceName) || (has(self.initProvider) && has(self.initProvider.serviceName))",message="spec.forProvider.serviceName is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.zone) || (has(self.initProvider) && has(self.initProvider.zone))",message="spec.forProvider.zone is a required parameter" + Spec UDPFrontendSpec `json:"spec"` + Status UDPFrontendStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// UDPFrontendList contains a list of UDPFrontends +type UDPFrontendList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []UDPFrontend `json:"items"` +} + +// Repository type metadata. +var ( + UDPFrontend_Kind = "UDPFrontend" + UDPFrontend_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: UDPFrontend_Kind}.String() + UDPFrontend_KindAPIVersion = UDPFrontend_Kind + "." + CRDGroupVersion.String() + UDPFrontend_GroupVersionKind = CRDGroupVersion.WithKind(UDPFrontend_Kind) +) + +func init() { + SchemeBuilder.Register(&UDPFrontend{}, &UDPFrontendList{}) +} diff --git a/apis/lb/v1alpha1/zz_vracknetwork_types.go b/apis/lb/v1alpha1/zz_vracknetwork_types.go index a9fc3b4..0796ed1 100755 --- a/apis/lb/v1alpha1/zz_vracknetwork_types.go +++ b/apis/lb/v1alpha1/zz_vracknetwork_types.go @@ -115,11 +115,11 @@ type VrackNetworkStatus struct { // +kubebuilder:storageversion // VrackNetwork is the Schema for the VrackNetworks API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type VrackNetwork struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/logs/v1alpha1/zz_generated.conversion_hubs.go b/apis/logs/v1alpha1/zz_generated.conversion_hubs.go index 24bca03..45f4103 100755 --- a/apis/logs/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/logs/v1alpha1/zz_generated.conversion_hubs.go @@ -11,3 +11,6 @@ func (tr *LogsCluster) Hub() {} // Hub marks this type as a conversion hub. func (tr *LogsInput) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *LogsToken) Hub() {} diff --git a/apis/logs/v1alpha1/zz_generated.deepcopy.go b/apis/logs/v1alpha1/zz_generated.deepcopy.go index f90bf25..c65c0e6 100644 --- a/apis/logs/v1alpha1/zz_generated.deepcopy.go +++ b/apis/logs/v1alpha1/zz_generated.deepcopy.go @@ -810,6 +810,210 @@ func (in *LogsInputStatus) DeepCopy() *LogsInputStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogsToken) DeepCopyInto(out *LogsToken) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogsToken. +func (in *LogsToken) DeepCopy() *LogsToken { + if in == nil { + return nil + } + out := new(LogsToken) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LogsToken) 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 *LogsTokenInitParameters) DeepCopyInto(out *LogsTokenInitParameters) { + *out = *in + if in.ClusterID != nil { + in, out := &in.ClusterID, &out.ClusterID + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogsTokenInitParameters. +func (in *LogsTokenInitParameters) DeepCopy() *LogsTokenInitParameters { + if in == nil { + return nil + } + out := new(LogsTokenInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogsTokenList) DeepCopyInto(out *LogsTokenList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]LogsToken, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogsTokenList. +func (in *LogsTokenList) DeepCopy() *LogsTokenList { + if in == nil { + return nil + } + out := new(LogsTokenList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LogsTokenList) 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 *LogsTokenObservation) DeepCopyInto(out *LogsTokenObservation) { + *out = *in + if in.ClusterID != nil { + in, out := &in.ClusterID, &out.ClusterID + *out = new(string) + **out = **in + } + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } + if in.TokenID != nil { + in, out := &in.TokenID, &out.TokenID + *out = new(string) + **out = **in + } + if in.UpdatedAt != nil { + in, out := &in.UpdatedAt, &out.UpdatedAt + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogsTokenObservation. +func (in *LogsTokenObservation) DeepCopy() *LogsTokenObservation { + if in == nil { + return nil + } + out := new(LogsTokenObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogsTokenParameters) DeepCopyInto(out *LogsTokenParameters) { + *out = *in + if in.ClusterID != nil { + in, out := &in.ClusterID, &out.ClusterID + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.ServiceName != nil { + in, out := &in.ServiceName, &out.ServiceName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogsTokenParameters. +func (in *LogsTokenParameters) DeepCopy() *LogsTokenParameters { + if in == nil { + return nil + } + out := new(LogsTokenParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogsTokenSpec) DeepCopyInto(out *LogsTokenSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogsTokenSpec. +func (in *LogsTokenSpec) DeepCopy() *LogsTokenSpec { + if in == nil { + return nil + } + out := new(LogsTokenSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogsTokenStatus) DeepCopyInto(out *LogsTokenStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogsTokenStatus. +func (in *LogsTokenStatus) DeepCopy() *LogsTokenStatus { + if in == nil { + return nil + } + out := new(LogsTokenStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *LogstashInitParameters) DeepCopyInto(out *LogstashInitParameters) { *out = *in diff --git a/apis/logs/v1alpha1/zz_generated.managed.go b/apis/logs/v1alpha1/zz_generated.managed.go index 42ce166..93cafaf 100644 --- a/apis/logs/v1alpha1/zz_generated.managed.go +++ b/apis/logs/v1alpha1/zz_generated.managed.go @@ -126,3 +126,63 @@ func (mg *LogsInput) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDeta func (mg *LogsInput) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { mg.Spec.WriteConnectionSecretToReference = r } + +// GetCondition of this LogsToken. +func (mg *LogsToken) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this LogsToken. +func (mg *LogsToken) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this LogsToken. +func (mg *LogsToken) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this LogsToken. +func (mg *LogsToken) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this LogsToken. +func (mg *LogsToken) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this LogsToken. +func (mg *LogsToken) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this LogsToken. +func (mg *LogsToken) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this LogsToken. +func (mg *LogsToken) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this LogsToken. +func (mg *LogsToken) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this LogsToken. +func (mg *LogsToken) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this LogsToken. +func (mg *LogsToken) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this LogsToken. +func (mg *LogsToken) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/logs/v1alpha1/zz_generated.managedlist.go b/apis/logs/v1alpha1/zz_generated.managedlist.go index ea86014..476008b 100644 --- a/apis/logs/v1alpha1/zz_generated.managedlist.go +++ b/apis/logs/v1alpha1/zz_generated.managedlist.go @@ -24,3 +24,12 @@ func (l *LogsInputList) GetItems() []resource.Managed { } return items } + +// GetItems of this LogsTokenList. +func (l *LogsTokenList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} diff --git a/apis/logs/v1alpha1/zz_logscluster_types.go b/apis/logs/v1alpha1/zz_logscluster_types.go index 7ec444a..1421fcf 100755 --- a/apis/logs/v1alpha1/zz_logscluster_types.go +++ b/apis/logs/v1alpha1/zz_logscluster_types.go @@ -120,11 +120,11 @@ type LogsClusterStatus struct { // +kubebuilder:storageversion // LogsCluster is the Schema for the LogsClusters API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type LogsCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/logs/v1alpha1/zz_logsinput_types.go b/apis/logs/v1alpha1/zz_logsinput_types.go index b97536e..fcecbb4 100755 --- a/apis/logs/v1alpha1/zz_logsinput_types.go +++ b/apis/logs/v1alpha1/zz_logsinput_types.go @@ -257,11 +257,11 @@ type LogsInputStatus struct { // +kubebuilder:storageversion // LogsInput is the Schema for the LogsInputs API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type LogsInput struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/logs/v1alpha1/zz_logstoken_terraformed.go b/apis/logs/v1alpha1/zz_logstoken_terraformed.go new file mode 100755 index 0000000..eb996e2 --- /dev/null +++ b/apis/logs/v1alpha1/zz_logstoken_terraformed.go @@ -0,0 +1,129 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this LogsToken +func (mg *LogsToken) GetTerraformResourceType() string { + return "ovh_dbaas_logs_token" +} + +// GetConnectionDetailsMapping for this LogsToken +func (tr *LogsToken) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"value": "status.atProvider.value"} +} + +// GetObservation of this LogsToken +func (tr *LogsToken) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this LogsToken +func (tr *LogsToken) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this LogsToken +func (tr *LogsToken) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this LogsToken +func (tr *LogsToken) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this LogsToken +func (tr *LogsToken) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this LogsToken +func (tr *LogsToken) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this LogsToken +func (tr *LogsToken) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this LogsToken using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *LogsToken) LateInitialize(attrs []byte) (bool, error) { + params := &LogsTokenParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *LogsToken) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/logs/v1alpha1/zz_logstoken_types.go b/apis/logs/v1alpha1/zz_logstoken_types.go new file mode 100755 index 0000000..51bed73 --- /dev/null +++ b/apis/logs/v1alpha1/zz_logstoken_types.go @@ -0,0 +1,127 @@ +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + + v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" +) + +type LogsTokenInitParameters struct { + + // Cluster ID + ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"` + + // Token name + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Service name + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` +} + +type LogsTokenObservation struct { + + // Cluster ID + ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"` + + // Token creation + CreatedAt *string `json:"createdAt,omitempty" tf:"created_at,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Token name + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Service name + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` + + // Token used + TokenID *string `json:"tokenId,omitempty" tf:"token_id,omitempty"` + + // Token last update + UpdatedAt *string `json:"updatedAt,omitempty" tf:"updated_at,omitempty"` +} + +type LogsTokenParameters struct { + + // Cluster ID + // +kubebuilder:validation:Optional + ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"` + + // Token name + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Service name + // +kubebuilder:validation:Optional + ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` +} + +// LogsTokenSpec defines the desired state of LogsToken +type LogsTokenSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider LogsTokenParameters `json:"forProvider"` + // THIS IS A BETA FIELD. It will be honored + // unless the Management Policies feature flag is disabled. + // InitProvider holds the same fields as ForProvider, with the exception + // of Identifier and other resource reference fields. The fields that are + // in InitProvider are merged into ForProvider when the resource is created. + // The same fields are also added to the terraform ignore_changes hook, to + // avoid updating them after creation. This is useful for fields that are + // required on creation, but we do not desire to update them after creation, + // for example because of an external controller is managing them, like an + // autoscaler. + InitProvider LogsTokenInitParameters `json:"initProvider,omitempty"` +} + +// LogsTokenStatus defines the observed state of LogsToken. +type LogsTokenStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider LogsTokenObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// LogsToken is the Schema for the LogsTokens API. +// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} +type LogsToken struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.serviceName) || (has(self.initProvider) && has(self.initProvider.serviceName))",message="spec.forProvider.serviceName is a required parameter" + Spec LogsTokenSpec `json:"spec"` + Status LogsTokenStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// LogsTokenList contains a list of LogsTokens +type LogsTokenList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []LogsToken `json:"items"` +} + +// Repository type metadata. +var ( + LogsToken_Kind = "LogsToken" + LogsToken_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: LogsToken_Kind}.String() + LogsToken_KindAPIVersion = LogsToken_Kind + "." + CRDGroupVersion.String() + LogsToken_GroupVersionKind = CRDGroupVersion.WithKind(LogsToken_Kind) +) + +func init() { + SchemeBuilder.Register(&LogsToken{}, &LogsTokenList{}) +} diff --git a/apis/me/v1alpha1/zz_generated.conversion_hubs.go b/apis/me/v1alpha1/zz_generated.conversion_hubs.go index 23944a2..bd7b8cf 100755 --- a/apis/me/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/me/v1alpha1/zz_generated.conversion_hubs.go @@ -6,14 +6,11 @@ Copyright 2022 Upbound Inc. package v1alpha1 -// Hub marks this type as a conversion hub. -func (tr *Oauth2Client) Hub() {} - // Hub marks this type as a conversion hub. func (tr *Group) Hub() {} // Hub marks this type as a conversion hub. -func (tr *User) Hub() {} +func (tr *Oauth2Client) Hub() {} // Hub marks this type as a conversion hub. -func (tr *SSHKey) Hub() {} +func (tr *User) Hub() {} diff --git a/apis/me/v1alpha1/zz_generated.deepcopy.go b/apis/me/v1alpha1/zz_generated.deepcopy.go index 84cb8db..dfd5be3 100644 --- a/apis/me/v1alpha1/zz_generated.deepcopy.go +++ b/apis/me/v1alpha1/zz_generated.deepcopy.go @@ -454,195 +454,6 @@ func (in *Oauth2ClientStatus) DeepCopy() *Oauth2ClientStatus { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKey) DeepCopyInto(out *SSHKey) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - in.Status.DeepCopyInto(&out.Status) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKey. -func (in *SSHKey) DeepCopy() *SSHKey { - if in == nil { - return nil - } - out := new(SSHKey) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SSHKey) 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 *SSHKeyInitParameters) DeepCopyInto(out *SSHKeyInitParameters) { - *out = *in - if in.Default != nil { - in, out := &in.Default, &out.Default - *out = new(bool) - **out = **in - } - if in.Key != nil { - in, out := &in.Key, &out.Key - *out = new(string) - **out = **in - } - if in.KeyName != nil { - in, out := &in.KeyName, &out.KeyName - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeyInitParameters. -func (in *SSHKeyInitParameters) DeepCopy() *SSHKeyInitParameters { - if in == nil { - return nil - } - out := new(SSHKeyInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKeyList) DeepCopyInto(out *SSHKeyList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]SSHKey, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeyList. -func (in *SSHKeyList) DeepCopy() *SSHKeyList { - if in == nil { - return nil - } - out := new(SSHKeyList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SSHKeyList) 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 *SSHKeyObservation) DeepCopyInto(out *SSHKeyObservation) { - *out = *in - if in.Default != nil { - in, out := &in.Default, &out.Default - *out = new(bool) - **out = **in - } - if in.ID != nil { - in, out := &in.ID, &out.ID - *out = new(string) - **out = **in - } - if in.Key != nil { - in, out := &in.Key, &out.Key - *out = new(string) - **out = **in - } - if in.KeyName != nil { - in, out := &in.KeyName, &out.KeyName - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeyObservation. -func (in *SSHKeyObservation) DeepCopy() *SSHKeyObservation { - if in == nil { - return nil - } - out := new(SSHKeyObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKeyParameters) DeepCopyInto(out *SSHKeyParameters) { - *out = *in - if in.Default != nil { - in, out := &in.Default, &out.Default - *out = new(bool) - **out = **in - } - if in.Key != nil { - in, out := &in.Key, &out.Key - *out = new(string) - **out = **in - } - if in.KeyName != nil { - in, out := &in.KeyName, &out.KeyName - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeyParameters. -func (in *SSHKeyParameters) DeepCopy() *SSHKeyParameters { - if in == nil { - return nil - } - out := new(SSHKeyParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKeySpec) DeepCopyInto(out *SSHKeySpec) { - *out = *in - in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) - in.ForProvider.DeepCopyInto(&out.ForProvider) - in.InitProvider.DeepCopyInto(&out.InitProvider) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeySpec. -func (in *SSHKeySpec) DeepCopy() *SSHKeySpec { - if in == nil { - return nil - } - out := new(SSHKeySpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SSHKeyStatus) DeepCopyInto(out *SSHKeyStatus) { - *out = *in - in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) - in.AtProvider.DeepCopyInto(&out.AtProvider) -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeyStatus. -func (in *SSHKeyStatus) DeepCopy() *SSHKeyStatus { - if in == nil { - return nil - } - out := new(SSHKeyStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *User) DeepCopyInto(out *User) { *out = *in @@ -703,6 +514,7 @@ func (in *UserInitParameters) DeepCopyInto(out *UserInitParameters) { *out = new(string) **out = **in } + out.PasswordSecretRef = in.PasswordSecretRef } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserInitParameters. diff --git a/apis/me/v1alpha1/zz_generated.managed.go b/apis/me/v1alpha1/zz_generated.managed.go index 5846085..e2acf6c 100644 --- a/apis/me/v1alpha1/zz_generated.managed.go +++ b/apis/me/v1alpha1/zz_generated.managed.go @@ -127,66 +127,6 @@ func (mg *Oauth2Client) SetWriteConnectionSecretToReference(r *xpv1.SecretRefere mg.Spec.WriteConnectionSecretToReference = r } -// GetCondition of this SSHKey. -func (mg *SSHKey) GetCondition(ct xpv1.ConditionType) xpv1.Condition { - return mg.Status.GetCondition(ct) -} - -// GetDeletionPolicy of this SSHKey. -func (mg *SSHKey) GetDeletionPolicy() xpv1.DeletionPolicy { - return mg.Spec.DeletionPolicy -} - -// GetManagementPolicies of this SSHKey. -func (mg *SSHKey) GetManagementPolicies() xpv1.ManagementPolicies { - return mg.Spec.ManagementPolicies -} - -// GetProviderConfigReference of this SSHKey. -func (mg *SSHKey) GetProviderConfigReference() *xpv1.Reference { - return mg.Spec.ProviderConfigReference -} - -// GetPublishConnectionDetailsTo of this SSHKey. -func (mg *SSHKey) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { - return mg.Spec.PublishConnectionDetailsTo -} - -// GetWriteConnectionSecretToReference of this SSHKey. -func (mg *SSHKey) GetWriteConnectionSecretToReference() *xpv1.SecretReference { - return mg.Spec.WriteConnectionSecretToReference -} - -// SetConditions of this SSHKey. -func (mg *SSHKey) SetConditions(c ...xpv1.Condition) { - mg.Status.SetConditions(c...) -} - -// SetDeletionPolicy of this SSHKey. -func (mg *SSHKey) SetDeletionPolicy(r xpv1.DeletionPolicy) { - mg.Spec.DeletionPolicy = r -} - -// SetManagementPolicies of this SSHKey. -func (mg *SSHKey) SetManagementPolicies(r xpv1.ManagementPolicies) { - mg.Spec.ManagementPolicies = r -} - -// SetProviderConfigReference of this SSHKey. -func (mg *SSHKey) SetProviderConfigReference(r *xpv1.Reference) { - mg.Spec.ProviderConfigReference = r -} - -// SetPublishConnectionDetailsTo of this SSHKey. -func (mg *SSHKey) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { - mg.Spec.PublishConnectionDetailsTo = r -} - -// SetWriteConnectionSecretToReference of this SSHKey. -func (mg *SSHKey) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { - mg.Spec.WriteConnectionSecretToReference = r -} - // GetCondition of this User. func (mg *User) GetCondition(ct xpv1.ConditionType) xpv1.Condition { return mg.Status.GetCondition(ct) diff --git a/apis/me/v1alpha1/zz_generated.managedlist.go b/apis/me/v1alpha1/zz_generated.managedlist.go index 4d4461d..6d8bd32 100644 --- a/apis/me/v1alpha1/zz_generated.managedlist.go +++ b/apis/me/v1alpha1/zz_generated.managedlist.go @@ -25,15 +25,6 @@ func (l *Oauth2ClientList) GetItems() []resource.Managed { return items } -// GetItems of this SSHKeyList. -func (l *SSHKeyList) GetItems() []resource.Managed { - items := make([]resource.Managed, len(l.Items)) - for i := range l.Items { - items[i] = &l.Items[i] - } - return items -} - // GetItems of this UserList. func (l *UserList) GetItems() []resource.Managed { items := make([]resource.Managed, len(l.Items)) diff --git a/apis/me/v1alpha1/zz_group_types.go b/apis/me/v1alpha1/zz_group_types.go index a0b8ba9..cd67dc4 100755 --- a/apis/me/v1alpha1/zz_group_types.go +++ b/apis/me/v1alpha1/zz_group_types.go @@ -79,11 +79,11 @@ type GroupStatus struct { // +kubebuilder:storageversion // Group is the Schema for the Groups API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Group struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/me/v1alpha1/zz_oauth2client_types.go b/apis/me/v1alpha1/zz_oauth2client_types.go index d85cab9..e173059 100755 --- a/apis/me/v1alpha1/zz_oauth2client_types.go +++ b/apis/me/v1alpha1/zz_oauth2client_types.go @@ -95,11 +95,11 @@ type Oauth2ClientStatus struct { // +kubebuilder:storageversion // Oauth2Client is the Schema for the Oauth2Clients API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Oauth2Client struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/me/v1alpha1/zz_sshkey_types.go b/apis/me/v1alpha1/zz_sshkey_types.go deleted file mode 100755 index 16bf42c..0000000 --- a/apis/me/v1alpha1/zz_sshkey_types.go +++ /dev/null @@ -1,118 +0,0 @@ -/* -Copyright 2022 Upbound Inc. -*/ - -// Code generated by upjet. DO NOT EDIT. - -package v1alpha1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime/schema" - - v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" -) - -type SSHKeyInitParameters struct { - - // True when this public Ssh key is used for rescue mode and reinstallations - Default *bool `json:"default,omitempty" tf:"default,omitempty"` - - // ASCII encoded public Ssh key - Key *string `json:"key,omitempty" tf:"key,omitempty"` - - // Name of this public Ssh key - KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"` -} - -type SSHKeyObservation struct { - - // True when this public Ssh key is used for rescue mode and reinstallations - Default *bool `json:"default,omitempty" tf:"default,omitempty"` - - ID *string `json:"id,omitempty" tf:"id,omitempty"` - - // ASCII encoded public Ssh key - Key *string `json:"key,omitempty" tf:"key,omitempty"` - - // Name of this public Ssh key - KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"` -} - -type SSHKeyParameters struct { - - // True when this public Ssh key is used for rescue mode and reinstallations - // +kubebuilder:validation:Optional - Default *bool `json:"default,omitempty" tf:"default,omitempty"` - - // ASCII encoded public Ssh key - // +kubebuilder:validation:Optional - Key *string `json:"key,omitempty" tf:"key,omitempty"` - - // Name of this public Ssh key - // +kubebuilder:validation:Optional - KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"` -} - -// SSHKeySpec defines the desired state of SSHKey -type SSHKeySpec struct { - v1.ResourceSpec `json:",inline"` - ForProvider SSHKeyParameters `json:"forProvider"` - // THIS IS A BETA FIELD. It will be honored - // unless the Management Policies feature flag is disabled. - // InitProvider holds the same fields as ForProvider, with the exception - // of Identifier and other resource reference fields. The fields that are - // in InitProvider are merged into ForProvider when the resource is created. - // The same fields are also added to the terraform ignore_changes hook, to - // avoid updating them after creation. This is useful for fields that are - // required on creation, but we do not desire to update them after creation, - // for example because of an external controller is managing them, like an - // autoscaler. - InitProvider SSHKeyInitParameters `json:"initProvider,omitempty"` -} - -// SSHKeyStatus defines the observed state of SSHKey. -type SSHKeyStatus struct { - v1.ResourceStatus `json:",inline"` - AtProvider SSHKeyObservation `json:"atProvider,omitempty"` -} - -// +kubebuilder:object:root=true -// +kubebuilder:subresource:status -// +kubebuilder:storageversion - -// SSHKey is the Schema for the SSHKeys API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" -// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" -// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" -// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} -type SSHKey struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.key) || (has(self.initProvider) && has(self.initProvider.key))",message="spec.forProvider.key is a required parameter" - // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.keyName) || (has(self.initProvider) && has(self.initProvider.keyName))",message="spec.forProvider.keyName is a required parameter" - Spec SSHKeySpec `json:"spec"` - Status SSHKeyStatus `json:"status,omitempty"` -} - -// +kubebuilder:object:root=true - -// SSHKeyList contains a list of SSHKeys -type SSHKeyList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []SSHKey `json:"items"` -} - -// Repository type metadata. -var ( - SSHKey_Kind = "SSHKey" - SSHKey_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: SSHKey_Kind}.String() - SSHKey_KindAPIVersion = SSHKey_Kind + "." + CRDGroupVersion.String() - SSHKey_GroupVersionKind = CRDGroupVersion.WithKind(SSHKey_Kind) -) - -func init() { - SchemeBuilder.Register(&SSHKey{}, &SSHKeyList{}) -} diff --git a/apis/me/v1alpha1/zz_user_terraformed.go b/apis/me/v1alpha1/zz_user_terraformed.go index 7ab3aba..c248687 100755 --- a/apis/me/v1alpha1/zz_user_terraformed.go +++ b/apis/me/v1alpha1/zz_user_terraformed.go @@ -21,7 +21,7 @@ func (mg *User) GetTerraformResourceType() string { // GetConnectionDetailsMapping for this User func (tr *User) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"password": "spec.forProvider.passwordSecretRef"} + return map[string]string{"password": "passwordSecretRef"} } // GetObservation of this User diff --git a/apis/me/v1alpha1/zz_user_types.go b/apis/me/v1alpha1/zz_user_types.go index 04a8e87..0382a1e 100755 --- a/apis/me/v1alpha1/zz_user_types.go +++ b/apis/me/v1alpha1/zz_user_types.go @@ -35,6 +35,9 @@ type UserInitParameters struct { // User's login suffix Login *string `json:"login,omitempty" tf:"login,omitempty"` + + // User's password + PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"` } type UserObservation struct { @@ -128,11 +131,11 @@ type UserStatus struct { // +kubebuilder:storageversion // User is the Schema for the Users API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type User struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/nas/v1alpha1/zz_generated.deepcopy.go b/apis/nas/v1alpha1/zz_generated.deepcopy.go index b78d1cc..86b7bea 100644 --- a/apis/nas/v1alpha1/zz_generated.deepcopy.go +++ b/apis/nas/v1alpha1/zz_generated.deepcopy.go @@ -69,6 +69,11 @@ func (in *NashaPartitionAccess) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NashaPartitionAccessInitParameters) DeepCopyInto(out *NashaPartitionAccessInitParameters) { *out = *in + if in.ACLDescription != nil { + in, out := &in.ACLDescription, &out.ACLDescription + *out = new(string) + **out = **in + } if in.IP != nil { in, out := &in.IP, &out.IP *out = new(string) @@ -136,6 +141,11 @@ func (in *NashaPartitionAccessList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NashaPartitionAccessObservation) DeepCopyInto(out *NashaPartitionAccessObservation) { *out = *in + if in.ACLDescription != nil { + in, out := &in.ACLDescription, &out.ACLDescription + *out = new(string) + **out = **in + } if in.ID != nil { in, out := &in.ID, &out.ID *out = new(string) @@ -176,6 +186,11 @@ func (in *NashaPartitionAccessObservation) DeepCopy() *NashaPartitionAccessObser // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NashaPartitionAccessParameters) DeepCopyInto(out *NashaPartitionAccessParameters) { *out = *in + if in.ACLDescription != nil { + in, out := &in.ACLDescription, &out.ACLDescription + *out = new(string) + **out = **in + } if in.IP != nil { in, out := &in.IP, &out.IP *out = new(string) diff --git a/apis/nas/v1alpha1/zz_nashapartition_types.go b/apis/nas/v1alpha1/zz_nashapartition_types.go index fc5885c..dc3dd8a 100755 --- a/apis/nas/v1alpha1/zz_nashapartition_types.go +++ b/apis/nas/v1alpha1/zz_nashapartition_types.go @@ -89,11 +89,11 @@ type NashaPartitionStatus struct { // +kubebuilder:storageversion // NashaPartition is the Schema for the NashaPartitions API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type NashaPartition struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/nas/v1alpha1/zz_nashapartitionaccess_types.go b/apis/nas/v1alpha1/zz_nashapartitionaccess_types.go index a0c92e9..2dce414 100755 --- a/apis/nas/v1alpha1/zz_nashapartitionaccess_types.go +++ b/apis/nas/v1alpha1/zz_nashapartitionaccess_types.go @@ -14,6 +14,10 @@ import ( ) type NashaPartitionAccessInitParameters struct { + + // A brief description of the ACL + ACLDescription *string `json:"aclDescription,omitempty" tf:"acl_description,omitempty"` + IP *string `json:"ip,omitempty" tf:"ip,omitempty"` PartitionName *string `json:"partitionName,omitempty" tf:"partition_name,omitempty"` @@ -24,6 +28,10 @@ type NashaPartitionAccessInitParameters struct { } type NashaPartitionAccessObservation struct { + + // A brief description of the ACL + ACLDescription *string `json:"aclDescription,omitempty" tf:"acl_description,omitempty"` + ID *string `json:"id,omitempty" tf:"id,omitempty"` IP *string `json:"ip,omitempty" tf:"ip,omitempty"` @@ -37,6 +45,10 @@ type NashaPartitionAccessObservation struct { type NashaPartitionAccessParameters struct { + // A brief description of the ACL + // +kubebuilder:validation:Optional + ACLDescription *string `json:"aclDescription,omitempty" tf:"acl_description,omitempty"` + // +kubebuilder:validation:Optional IP *string `json:"ip,omitempty" tf:"ip,omitempty"` @@ -78,11 +90,11 @@ type NashaPartitionAccessStatus struct { // +kubebuilder:storageversion // NashaPartitionAccess is the Schema for the NashaPartitionAccesss API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type NashaPartitionAccess struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/nas/v1alpha1/zz_nashapartitionsnapshot_types.go b/apis/nas/v1alpha1/zz_nashapartitionsnapshot_types.go index 56aa658..707794c 100755 --- a/apis/nas/v1alpha1/zz_nashapartitionsnapshot_types.go +++ b/apis/nas/v1alpha1/zz_nashapartitionsnapshot_types.go @@ -71,11 +71,11 @@ type NashaPartitionSnapshotStatus struct { // +kubebuilder:storageversion // NashaPartitionSnapshot is the Schema for the NashaPartitionSnapshots API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type NashaPartitionSnapshot struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/network/v1alpha1/zz_privatenetwork_types.go b/apis/network/v1alpha1/zz_privatenetwork_types.go index 368a391..aa86470 100755 --- a/apis/network/v1alpha1/zz_privatenetwork_types.go +++ b/apis/network/v1alpha1/zz_privatenetwork_types.go @@ -118,11 +118,11 @@ type PrivateNetworkStatus struct { // +kubebuilder:storageversion // PrivateNetwork is the Schema for the PrivateNetworks API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type PrivateNetwork struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/network/v1alpha1/zz_subnet_types.go b/apis/network/v1alpha1/zz_subnet_types.go index 944b8e1..d67806d 100755 --- a/apis/network/v1alpha1/zz_subnet_types.go +++ b/apis/network/v1alpha1/zz_subnet_types.go @@ -151,11 +151,11 @@ type SubnetStatus struct { // +kubebuilder:storageversion // Subnet is the Schema for the Subnets API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Subnet struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/privatesql/v1alpha1/zz_generated.deepcopy.go b/apis/privatesql/v1alpha1/zz_generated.deepcopy.go index 65bbdbf..75cbaf7 100644 --- a/apis/privatesql/v1alpha1/zz_generated.deepcopy.go +++ b/apis/privatesql/v1alpha1/zz_generated.deepcopy.go @@ -755,6 +755,11 @@ func (in *PrivatedatabaseInitParameters) DeepCopyInto(out *PrivatedatabaseInitPa *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -987,6 +992,11 @@ func (in *PrivatedatabaseParameters) DeepCopyInto(out *PrivatedatabaseParameters *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -1297,6 +1307,7 @@ func (in *PrivatedatabaseUserGrantStatus) DeepCopy() *PrivatedatabaseUserGrantSt // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PrivatedatabaseUserInitParameters) DeepCopyInto(out *PrivatedatabaseUserInitParameters) { *out = *in + out.PasswordSecretRef = in.PasswordSecretRef if in.ServiceName != nil { in, out := &in.ServiceName, &out.ServiceName *out = new(string) diff --git a/apis/privatesql/v1alpha1/zz_privatedatabase_types.go b/apis/privatesql/v1alpha1/zz_privatedatabase_types.go index 0729f01..c1daace 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabase_types.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabase_types.go @@ -62,12 +62,17 @@ type OrderInitParameters struct { } type OrderObservation struct { + + // date Date *string `json:"date,omitempty" tf:"date,omitempty"` + // Information about a Bill entry Details []DetailsObservation `json:"details,omitempty" tf:"details,omitempty"` + // expiration date ExpirationDate *string `json:"expirationDate,omitempty" tf:"expiration_date,omitempty"` + // order id OrderID *float64 `json:"orderId,omitempty" tf:"order_id,omitempty"` } @@ -226,6 +231,9 @@ type PrivatedatabaseInitParameters struct { // Name displayed in customer panel for your private database DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -325,6 +333,10 @@ type PrivatedatabaseParameters struct { // +kubebuilder:validation:Optional DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -373,11 +385,11 @@ type PrivatedatabaseStatus struct { // +kubebuilder:storageversion // Privatedatabase is the Schema for the Privatedatabases API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Privatedatabase struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/privatesql/v1alpha1/zz_privatedatabasedatabase_types.go b/apis/privatesql/v1alpha1/zz_privatedatabasedatabase_types.go index 32ebc11..391c2db 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabasedatabase_types.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabasedatabase_types.go @@ -72,11 +72,11 @@ type PrivatedatabaseDatabaseStatus struct { // +kubebuilder:storageversion // PrivatedatabaseDatabase is the Schema for the PrivatedatabaseDatabases API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type PrivatedatabaseDatabase struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/privatesql/v1alpha1/zz_privatedatabaseuser_terraformed.go b/apis/privatesql/v1alpha1/zz_privatedatabaseuser_terraformed.go index 512db91..fa1b933 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabaseuser_terraformed.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabaseuser_terraformed.go @@ -21,7 +21,7 @@ func (mg *PrivatedatabaseUser) GetTerraformResourceType() string { // GetConnectionDetailsMapping for this PrivatedatabaseUser func (tr *PrivatedatabaseUser) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"password": "spec.forProvider.passwordSecretRef"} + return map[string]string{"password": "passwordSecretRef"} } // GetObservation of this PrivatedatabaseUser diff --git a/apis/privatesql/v1alpha1/zz_privatedatabaseuser_types.go b/apis/privatesql/v1alpha1/zz_privatedatabaseuser_types.go index ad2c232..0f97b8e 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabaseuser_types.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabaseuser_types.go @@ -15,6 +15,9 @@ import ( type PrivatedatabaseUserInitParameters struct { + // Password for the new user ( alphanumeric and 8 characters minimum ) + PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"` + // The internal name of your private database ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"` @@ -75,11 +78,11 @@ type PrivatedatabaseUserStatus struct { // +kubebuilder:storageversion // PrivatedatabaseUser is the Schema for the PrivatedatabaseUsers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type PrivatedatabaseUser struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/privatesql/v1alpha1/zz_privatedatabaseusergrant_types.go b/apis/privatesql/v1alpha1/zz_privatedatabaseusergrant_types.go index b2dc926..57339eb 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabaseusergrant_types.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabaseusergrant_types.go @@ -92,11 +92,11 @@ type PrivatedatabaseUserGrantStatus struct { // +kubebuilder:storageversion // PrivatedatabaseUserGrant is the Schema for the PrivatedatabaseUserGrants API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type PrivatedatabaseUserGrant struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/privatesql/v1alpha1/zz_privatedatabasewhitelist_types.go b/apis/privatesql/v1alpha1/zz_privatedatabasewhitelist_types.go index edbb671..a967680 100755 --- a/apis/privatesql/v1alpha1/zz_privatedatabasewhitelist_types.go +++ b/apis/privatesql/v1alpha1/zz_privatedatabasewhitelist_types.go @@ -101,11 +101,11 @@ type PrivatedatabaseWhitelistStatus struct { // +kubebuilder:storageversion // PrivatedatabaseWhitelist is the Schema for the PrivatedatabaseWhitelists API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type PrivatedatabaseWhitelist struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/registry/v1alpha1/zz_containerregistry_types.go b/apis/registry/v1alpha1/zz_containerregistry_types.go index e6c5957..f01c260 100755 --- a/apis/registry/v1alpha1/zz_containerregistry_types.go +++ b/apis/registry/v1alpha1/zz_containerregistry_types.go @@ -157,11 +157,11 @@ type ContainerRegistryStatus struct { // +kubebuilder:storageversion // ContainerRegistry is the Schema for the ContainerRegistrys API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ContainerRegistry struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/registry/v1alpha1/zz_containerregistryiprestrictionsmanagement_types.go b/apis/registry/v1alpha1/zz_containerregistryiprestrictionsmanagement_types.go index 14a755e..e736c23 100755 --- a/apis/registry/v1alpha1/zz_containerregistryiprestrictionsmanagement_types.go +++ b/apis/registry/v1alpha1/zz_containerregistryiprestrictionsmanagement_types.go @@ -99,11 +99,11 @@ type ContainerRegistryIPRestrictionsManagementStatus struct { // +kubebuilder:storageversion // ContainerRegistryIPRestrictionsManagement is the Schema for the ContainerRegistryIPRestrictionsManagements API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ContainerRegistryIPRestrictionsManagement struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/registry/v1alpha1/zz_containerregistryiprestrictionsregistry_types.go b/apis/registry/v1alpha1/zz_containerregistryiprestrictionsregistry_types.go index 605ed81..143fe9c 100755 --- a/apis/registry/v1alpha1/zz_containerregistryiprestrictionsregistry_types.go +++ b/apis/registry/v1alpha1/zz_containerregistryiprestrictionsregistry_types.go @@ -99,11 +99,11 @@ type ContainerRegistryIPRestrictionsRegistryStatus struct { // +kubebuilder:storageversion // ContainerRegistryIPRestrictionsRegistry is the Schema for the ContainerRegistryIPRestrictionsRegistrys API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ContainerRegistryIPRestrictionsRegistry struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/registry/v1alpha1/zz_containerregistryoidc_terraformed.go b/apis/registry/v1alpha1/zz_containerregistryoidc_terraformed.go index 3847f95..ef895bf 100755 --- a/apis/registry/v1alpha1/zz_containerregistryoidc_terraformed.go +++ b/apis/registry/v1alpha1/zz_containerregistryoidc_terraformed.go @@ -21,7 +21,7 @@ func (mg *ContainerRegistryOIDC) GetTerraformResourceType() string { // GetConnectionDetailsMapping for this ContainerRegistryOIDC func (tr *ContainerRegistryOIDC) GetConnectionDetailsMapping() map[string]string { - return map[string]string{"oidc_client_secret": "spec.forProvider.oidcClientSecretSecretRef"} + return map[string]string{"oidc_client_secret": "oidcClientSecretSecretRef"} } // GetObservation of this ContainerRegistryOIDC diff --git a/apis/registry/v1alpha1/zz_containerregistryoidc_types.go b/apis/registry/v1alpha1/zz_containerregistryoidc_types.go index ae26684..4bd1bb8 100755 --- a/apis/registry/v1alpha1/zz_containerregistryoidc_types.go +++ b/apis/registry/v1alpha1/zz_containerregistryoidc_types.go @@ -22,6 +22,8 @@ type ContainerRegistryOIDCInitParameters struct { OidcClientID *string `json:"oidcClientId,omitempty" tf:"oidc_client_id,omitempty"` + OidcClientSecretSecretRef v1.SecretKeySelector `json:"oidcClientSecretSecretRef" tf:"-"` + OidcEndpoint *string `json:"oidcEndpoint,omitempty" tf:"oidc_endpoint,omitempty"` OidcGroupsClaim *string `json:"oidcGroupsClaim,omitempty" tf:"oidc_groups_claim,omitempty"` @@ -155,11 +157,11 @@ type ContainerRegistryOIDCStatus struct { // +kubebuilder:storageversion // ContainerRegistryOIDC is the Schema for the ContainerRegistryOIDCs API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ContainerRegistryOIDC struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/registry/v1alpha1/zz_containerregistryuser_types.go b/apis/registry/v1alpha1/zz_containerregistryuser_types.go index dbcf61a..99c2f47 100755 --- a/apis/registry/v1alpha1/zz_containerregistryuser_types.go +++ b/apis/registry/v1alpha1/zz_containerregistryuser_types.go @@ -113,11 +113,11 @@ type ContainerRegistryUserStatus struct { // +kubebuilder:storageversion // ContainerRegistryUser is the Schema for the ContainerRegistryUsers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ContainerRegistryUser struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/registry/v1alpha1/zz_generated.deepcopy.go b/apis/registry/v1alpha1/zz_generated.deepcopy.go index 7089b7e..f4b9166 100644 --- a/apis/registry/v1alpha1/zz_generated.deepcopy.go +++ b/apis/registry/v1alpha1/zz_generated.deepcopy.go @@ -677,6 +677,7 @@ func (in *ContainerRegistryOIDCInitParameters) DeepCopyInto(out *ContainerRegist *out = new(string) **out = **in } + out.OidcClientSecretSecretRef = in.OidcClientSecretSecretRef if in.OidcEndpoint != nil { in, out := &in.OidcEndpoint, &out.OidcEndpoint *out = new(string) diff --git a/apis/storage/v1alpha1/zz_projectregionstoragepresign_types.go b/apis/storage/v1alpha1/zz_projectregionstoragepresign_types.go index 7f735aa..d589d7a 100755 --- a/apis/storage/v1alpha1/zz_projectregionstoragepresign_types.go +++ b/apis/storage/v1alpha1/zz_projectregionstoragepresign_types.go @@ -112,11 +112,11 @@ type ProjectRegionStoragePresignStatus struct { // +kubebuilder:storageversion // ProjectRegionStoragePresign is the Schema for the ProjectRegionStoragePresigns API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectRegionStoragePresign struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/vminstances/v1alpha1/zz_projectworkflowbackup_types.go b/apis/vminstances/v1alpha1/zz_projectworkflowbackup_types.go index 3da66d6..dd7b898 100755 --- a/apis/vminstances/v1alpha1/zz_projectworkflowbackup_types.go +++ b/apis/vminstances/v1alpha1/zz_projectworkflowbackup_types.go @@ -104,11 +104,11 @@ type ProjectWorkflowBackupStatus struct { // +kubebuilder:storageversion // ProjectWorkflowBackup is the Schema for the ProjectWorkflowBackups API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type ProjectWorkflowBackup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/vrack/v1alpha1/zz_cloudproject_types.go b/apis/vrack/v1alpha1/zz_cloudproject_types.go index ce1f4b3..25a25d7 100755 --- a/apis/vrack/v1alpha1/zz_cloudproject_types.go +++ b/apis/vrack/v1alpha1/zz_cloudproject_types.go @@ -67,11 +67,11 @@ type CloudprojectStatus struct { // +kubebuilder:storageversion // Cloudproject is the Schema for the Cloudprojects API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Cloudproject struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/vrack/v1alpha1/zz_dedicatedserver_types.go b/apis/vrack/v1alpha1/zz_dedicatedserver_types.go index 368a61b..f129447 100755 --- a/apis/vrack/v1alpha1/zz_dedicatedserver_types.go +++ b/apis/vrack/v1alpha1/zz_dedicatedserver_types.go @@ -67,11 +67,11 @@ type DedicatedServerStatus struct { // +kubebuilder:storageversion // DedicatedServer is the Schema for the DedicatedServers API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type DedicatedServer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/vrack/v1alpha1/zz_dedicatedserverinterface_types.go b/apis/vrack/v1alpha1/zz_dedicatedserverinterface_types.go index e7eb65f..1e4fde9 100755 --- a/apis/vrack/v1alpha1/zz_dedicatedserverinterface_types.go +++ b/apis/vrack/v1alpha1/zz_dedicatedserverinterface_types.go @@ -67,11 +67,11 @@ type DedicatedServerInterfaceStatus struct { // +kubebuilder:storageversion // DedicatedServerInterface is the Schema for the DedicatedServerInterfaces API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type DedicatedServerInterface struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/vrack/v1alpha1/zz_generated.conversion_hubs.go b/apis/vrack/v1alpha1/zz_generated.conversion_hubs.go index 2a05b36..547fa6b 100755 --- a/apis/vrack/v1alpha1/zz_generated.conversion_hubs.go +++ b/apis/vrack/v1alpha1/zz_generated.conversion_hubs.go @@ -6,9 +6,6 @@ Copyright 2022 Upbound Inc. package v1alpha1 -// Hub marks this type as a conversion hub. -func (tr *Vrack) Hub() {} - // Hub marks this type as a conversion hub. func (tr *Cloudproject) Hub() {} @@ -23,3 +20,6 @@ func (tr *IP) Hub() {} // Hub marks this type as a conversion hub. func (tr *Iploadbalancing) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *Vrack) Hub() {} diff --git a/apis/vrack/v1alpha1/zz_generated.deepcopy.go b/apis/vrack/v1alpha1/zz_generated.deepcopy.go index 8aa1a71..fff6734 100644 --- a/apis/vrack/v1alpha1/zz_generated.deepcopy.go +++ b/apis/vrack/v1alpha1/zz_generated.deepcopy.go @@ -1471,6 +1471,11 @@ func (in *VrackInitParameters) DeepCopyInto(out *VrackInitParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderInitParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) @@ -1623,6 +1628,11 @@ func (in *VrackParameters) DeepCopyInto(out *VrackParameters) { *out = new(string) **out = **in } + if in.Order != nil { + in, out := &in.Order, &out.Order + *out = make([]OrderParameters, len(*in)) + copy(*out, *in) + } if in.OvhSubsidiary != nil { in, out := &in.OvhSubsidiary, &out.OvhSubsidiary *out = new(string) diff --git a/apis/vrack/v1alpha1/zz_ip_types.go b/apis/vrack/v1alpha1/zz_ip_types.go index b5c10b2..072f4d4 100755 --- a/apis/vrack/v1alpha1/zz_ip_types.go +++ b/apis/vrack/v1alpha1/zz_ip_types.go @@ -81,11 +81,11 @@ type IPStatus struct { // +kubebuilder:storageversion // IP is the Schema for the IPs API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type IP struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/vrack/v1alpha1/zz_iploadbalancing_types.go b/apis/vrack/v1alpha1/zz_iploadbalancing_types.go index 3cf8f97..a414308 100755 --- a/apis/vrack/v1alpha1/zz_iploadbalancing_types.go +++ b/apis/vrack/v1alpha1/zz_iploadbalancing_types.go @@ -71,11 +71,11 @@ type IploadbalancingStatus struct { // +kubebuilder:storageversion // Iploadbalancing is the Schema for the Iploadbalancings API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Iploadbalancing struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/apis/vrack/v1alpha1/zz_vrack_types.go b/apis/vrack/v1alpha1/zz_vrack_types.go index ca00e23..bee4d35 100755 --- a/apis/vrack/v1alpha1/zz_vrack_types.go +++ b/apis/vrack/v1alpha1/zz_vrack_types.go @@ -62,12 +62,17 @@ type OrderInitParameters struct { } type OrderObservation struct { + + // date Date *string `json:"date,omitempty" tf:"date,omitempty"` + // Information about a Bill entry Details []DetailsObservation `json:"details,omitempty" tf:"details,omitempty"` + // expiration date ExpirationDate *string `json:"expirationDate,omitempty" tf:"expiration_date,omitempty"` + // order id OrderID *float64 `json:"orderId,omitempty" tf:"order_id,omitempty"` } @@ -229,6 +234,9 @@ type VrackInitParameters struct { // yourvrackname Name *string `json:"name,omitempty" tf:"name,omitempty"` + // Details about an Order + Order []OrderInitParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -283,6 +291,10 @@ type VrackParameters struct { // +kubebuilder:validation:Optional Name *string `json:"name,omitempty" tf:"name,omitempty"` + // Details about an Order + // +kubebuilder:validation:Optional + Order []OrderParameters `json:"order,omitempty" tf:"order,omitempty"` + // Ovh Subsidiary // +kubebuilder:validation:Optional OvhSubsidiary *string `json:"ovhSubsidiary,omitempty" tf:"ovh_subsidiary,omitempty"` @@ -328,11 +340,11 @@ type VrackStatus struct { // +kubebuilder:storageversion // Vrack is the Schema for the Vracks API. -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" -// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ovh} +// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,lb} type Vrack struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` diff --git a/build b/build index bd5297b..3cf6663 160000 --- a/build +++ b/build @@ -1 +1 @@ -Subproject commit bd5297bd16c113cbc5ed1905b1d96aa1cb3078ec +Subproject commit 3cf6663fafcf22f5cb3e7b90cf21d981faa52230 diff --git a/config/additional_ip/config.go b/config/additional_ip/config.go index af225aa..e991706 100644 --- a/config/additional_ip/config.go +++ b/config/additional_ip/config.go @@ -11,13 +11,23 @@ func Configure(p *config.Provider) { p.AddResourceConfigurator("ovh_cloud_project_failover_ip_attach", func(r *config.Resource) { r.ShortGroup = shortGroup }) - p.AddResourceConfigurator("ovh_ip_reverse", func(r *config.Resource) { + p.AddResourceConfigurator("ovh_ip_mitigation", func(r *config.Resource) { r.ShortGroup = shortGroup }) p.AddResourceConfigurator("ovh_ip_move", func(r *config.Resource) { r.ShortGroup = shortGroup }) + p.AddResourceConfigurator("ovh_ip_reverse", func(r *config.Resource) { + r.ShortGroup = shortGroup + }) p.AddResourceConfigurator("ovh_ip_service", func(r *config.Resource) { r.ShortGroup = shortGroup }) + p.AddResourceConfigurator("ovh_ip_firewall", func(r *config.Resource) { + r.ShortGroup = shortGroup + }) + p.AddResourceConfigurator("ovh_ip_firewall_rule", func(r *config.Resource) { + r.ShortGroup = shortGroup + }) + } diff --git a/config/dns/config.go b/config/dns/config.go index b5cd9dd..0e57dc5 100644 --- a/config/dns/config.go +++ b/config/dns/config.go @@ -11,10 +11,14 @@ func Configure(p *config.Provider) { p.AddResourceConfigurator("ovh_domain_zone", func(r *config.Resource) { r.ShortGroup = shortName }) + p.AddResourceConfigurator("ovh_domain_zone_dnssec", func(r *config.Resource) { + r.ShortGroup = shortName + }) p.AddResourceConfigurator("ovh_domain_zone_record", func(r *config.Resource) { r.ShortGroup = shortName }) p.AddResourceConfigurator("ovh_domain_zone_redirection", func(r *config.Resource) { r.ShortGroup = shortName }) + } diff --git a/config/external_name.go b/config/external_name.go index e27ba35..35ff0c0 100644 --- a/config/external_name.go +++ b/config/external_name.go @@ -79,34 +79,39 @@ var ExternalNameConfigs = map[string]config.ExternalName{ // The ovh_cloud_project_alerting resource uses a nested type which is not supported yet in upjet. // there is an open issue in upjet regarding this issue: https://github.com/crossplane/upjet/issues/372 // "ovh_cloud_project_alerting": config.IdentifierFromProvider, - "ovh_cloud_project_user": config.IdentifierFromProvider, - "ovh_cloud_project_user_s3_credential": config.IdentifierFromProvider, - "ovh_cloud_project_user_s3_policy": config.IdentifierFromProvider, - "ovh_iam_policy": config.IdentifierFromProvider, - "ovh_iam_resource_group": config.IdentifierFromProvider, - "ovh_iam_permissions_group": config.IdentifierFromProvider, - "ovh_me_identity_group": config.IdentifierFromProvider, - "ovh_me_identity_user": config.IdentifierFromProvider, - "ovh_me_ssh_key": config.IdentifierFromProvider, - "ovh_me_api_oauth2_client": config.IdentifierFromProvider, - "ovh_cloud_project_failover_ip_attach": config.IdentifierFromProvider, - "ovh_ip_reverse": config.IdentifierFromProvider, - "ovh_ip_move": config.IdentifierFromProvider, - "ovh_ip_service": config.IdentifierFromProvider, - "ovh_dedicated_ceph_acl": config.IdentifierFromProvider, - "ovh_dedicated_server_install_task": config.IdentifierFromProvider, - "ovh_dedicated_server_reboot_task": config.IdentifierFromProvider, - "ovh_dedicated_server_update": config.IdentifierFromProvider, - "ovh_me_installation_template": config.IdentifierFromProvider, - "ovh_me_installation_template_partition_scheme": config.IdentifierFromProvider, - "ovh_me_installation_template_partition_scheme_hardware_raid": config.IdentifierFromProvider, - "ovh_me_installation_template_partition_scheme_partition": config.IdentifierFromProvider, + "ovh_cloud_project_user": config.IdentifierFromProvider, + "ovh_cloud_project_user_s3_credential": config.IdentifierFromProvider, + "ovh_cloud_project_user_s3_policy": config.IdentifierFromProvider, + "ovh_iam_policy": config.IdentifierFromProvider, + "ovh_iam_resource_group": config.IdentifierFromProvider, + "ovh_iam_permissions_group": config.IdentifierFromProvider, + "ovh_me_identity_group": config.IdentifierFromProvider, + "ovh_me_identity_user": config.IdentifierFromProvider, + "ovh_me_ssh_key": config.IdentifierFromProvider, + "ovh_me_api_oauth2_client": config.IdentifierFromProvider, + "ovh_cloud_project_failover_ip_attach": config.IdentifierFromProvider, + "ovh_ip_reverse": config.IdentifierFromProvider, + "ovh_ip_move": config.IdentifierFromProvider, + "ovh_ip_service": config.IdentifierFromProvider, + "ovh_ip_firewall": config.IdentifierFromProvider, + "ovh_ip_firewall_rule": config.IdentifierFromProvider, + "ovh_ip_mitigation": config.IdentifierFromProvider, + "ovh_dedicated_ceph_acl": config.IdentifierFromProvider, + "ovh_dedicated_server_install_task": config.IdentifierFromProvider, + "ovh_dedicated_server_reboot_task": config.IdentifierFromProvider, + "ovh_dedicated_server_update": config.IdentifierFromProvider, + "ovh_me_installation_template": config.IdentifierFromProvider, + "ovh_me_installation_template_partition_scheme": config.IdentifierFromProvider, + "ovh_me_installation_template_partition_scheme_hardware_raid": config.IdentifierFromProvider, + "ovh_me_installation_template_partition_scheme_partition": config.IdentifierFromProvider, "ovh_me_ipxe_script": config.IdentifierFromProvider, "ovh_dedicated_server_networking": config.IdentifierFromProvider, "ovh_domain_zone": config.IdentifierFromProvider, + "ovh_domain_zone_dnssec": config.IdentifierFromProvider, "ovh_domain_zone_record": config.IdentifierFromProvider, "ovh_domain_zone_redirection": config.IdentifierFromProvider, "ovh_iploadbalancing": config.IdentifierFromProvider, + "ovh_iploadbalancing_udp_frontend": config.IdentifierFromProvider, "ovh_iploadbalancing_http_farm": config.IdentifierFromProvider, "ovh_iploadbalancing_http_farm_server": config.IdentifierFromProvider, "ovh_iploadbalancing_http_frontend": config.IdentifierFromProvider, @@ -122,6 +127,7 @@ var ExternalNameConfigs = map[string]config.ExternalName{ "ovh_dbaas_logs_cluster": config.IdentifierFromProvider, "ovh_dbaas_logs_graylog_output_stream": config.IdentifierFromProvider, "ovh_dbaas_logs_input": config.IdentifierFromProvider, + "ovh_dbaas_logs_token": config.IdentifierFromProvider, "ovh_cloud_project_database": config.IdentifierFromProvider, "ovh_cloud_project_database_database": config.IdentifierFromProvider, "ovh_cloud_project_database_integration": config.IdentifierFromProvider, @@ -151,6 +157,7 @@ var ExternalNameConfigs = map[string]config.ExternalName{ "ovh_dedicated_nasha_partition_access": config.IdentifierFromProvider, "ovh_dedicated_nasha_partition_snapshot": config.IdentifierFromProvider, "ovh_cloud_project_region_storage_presign": config.IdentifierFromProvider, + "ovh_cloud_project_region_loadbalancer_log_subscription": config.IdentifierFromProvider, "ovh_hosting_privatedatabase": config.IdentifierFromProvider, "ovh_hosting_privatedatabase_database": config.IdentifierFromProvider, "ovh_hosting_privatedatabase_user": config.IdentifierFromProvider, @@ -162,7 +169,8 @@ var ExternalNameConfigs = map[string]config.ExternalName{ "ovh_vrack_dedicated_server_interface": config.IdentifierFromProvider, "ovh_vrack_ip": config.IdentifierFromProvider, "ovh_vrack_iploadbalancing": config.IdentifierFromProvider, - "ovh_cloud_project_gateway": config.IdentifierFromProvider, + // "ovh_vps": config.IdentifierFromProvider, + "ovh_cloud_project_gateway": config.IdentifierFromProvider, } // ExternalNameConfigurations applies all external name configs listed in the diff --git a/config/lb/config.go b/config/lb/config.go index 49630a9..f9e6e5e 100644 --- a/config/lb/config.go +++ b/config/lb/config.go @@ -47,4 +47,10 @@ func Configure(p *config.Provider) { p.AddResourceConfigurator("ovh_iploadbalancing_vrack_network", func(r *config.Resource) { r.ShortGroup = shortGroup }) + p.AddResourceConfigurator("ovh_iploadbalancing_udp_frontend", func(r *config.Resource) { + r.ShortGroup = shortGroup + }) + p.AddResourceConfigurator("ovh_cloud_project_region_loadbalancer_log_subscription", func(r *config.Resource) { + p.ShortName = shortGroup + }) } diff --git a/config/logs/config.go b/config/logs/config.go index 5ce5f67..c129f79 100644 --- a/config/logs/config.go +++ b/config/logs/config.go @@ -17,4 +17,8 @@ func Configure(p *config.Provider) { p.AddResourceConfigurator("ovh_dbaas_logs_input", func(r *config.Resource) { r.ShortGroup = shortGroup }) + p.AddResourceConfigurator("ovh_dbaas_logs_token", func(r *config.Resource) { + r.ShortGroup = shortGroup + }) + } diff --git a/config/me/config.go b/config/me/config.go index 5547507..e7e3da0 100644 --- a/config/me/config.go +++ b/config/me/config.go @@ -19,10 +19,6 @@ func Configure(p *config.Provider) { Type: "github.com/edixos/provider-ovh/apis/me/v1alpha1.Group", } }) - p.AddResourceConfigurator("ovh_me_ssh_key", func(r *config.Resource) { - r.ShortGroup = shortGroup - r.Kind = "SSHKey" - }) p.AddResourceConfigurator("ovh_me_api_oauth2_client", func(r *config.Resource) { r.ShortGroup = shortGroup r.Kind = "Oauth2Client" diff --git a/config/provider-metadata.yaml b/config/provider-metadata.yaml index 45d8c68..887044c 100644 --- a/config/provider-metadata.yaml +++ b/config/provider-metadata.yaml @@ -6,6 +6,7 @@ resources: name: OVH title: OVH argumentDocs: + OVH_CLOUD_LOADBALANCER_ID_TEST: '- The ID of the LoadBalancer to use.' OVH_CLOUD_PROJECT_CONTAINERREGISTRY_OIDC_ENDPOINT_TEST: '- The OIDC endpoint of the container registry to test.' OVH_CLOUD_PROJECT_CONTAINERREGISTRY_REGION_TEST: '- The region of the container registry to test.' OVH_CLOUD_PROJECT_DATABASE_ENGINE_TEST: '- The name of the database engine to test.' @@ -57,6 +58,9 @@ resources: application_secret: |- - (Optional) The API Application Secret. If omitted, the OVH_APPLICATION_SECRET environment variable is used. + client_id.ovh-ca: for OVHcloud Canada API + client_id.ovh-eu: for OVHcloud Europe API + client_id.ovh-us: for OVHcloud US API consumer_key: |- - (Optional) The API Consumer key. If omitted, the OVH_CONSUMER_KEY environment variable is used. @@ -72,2856 +76,975 @@ resources: soyoustart-ca: for So you Start Canada API soyoustart-eu: for So you Start Europe API importStatements: [] - cloud_project.html.markdown: + cloud_project.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project.html.markdownsubcategory : "Account Management"' - name: cloud_project.html.markdown - title: cloud_project.html.markdown - argumentDocs: - access: '- project access right for the identity that trigger the terraform script.' - catalog_name: '- Catalog name' - configuration: '- (Optional) Representation of a configuration item for personalizing product' - date: '- date' - description: '- A description associated with the user.' - details: '- Information about a Bill entry' - domain: '- expiration date' - duration: '- (Required) duration' - expiration_date: '- expiration date' - label: '- (Required) Identifier of the resource' - order: '- Details about the order that was used to create the public cloud project' - order_detail_id: '- order detail id' - order_id: '- order id, the same as the id' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code. This value must be adapted depending on your OVH_ENDPOINT value. It''s project.2018 for ovh-{eu,ca} and project when using ovh-us.' - plan_option: '- (Optional) Product Plan to order' - pricing_mode: '- (Required) Pricing model identifier' - project_id: '- openstack project id' - project_name: '- openstack project name' - quantity: '- quantity' - status: '- project status' - urn: '- The URN of the cloud project' - value: '- (Required) Path to the resource in API.OVH.COM' - importStatements: [] - cloud_project_alerting.html.markdown: - subCategory: "" - description: 'cloud_project_alerting.html.markdownsubcategory : "Account Management"' - name: cloud_project_alerting.html.markdown - title: cloud_project_alerting.html.markdown - argumentDocs: - creationDate: '- Alerting creation date' - currency_code: '- Currency of the monthly threshold' - delay: '- Delay between two alerts in seconds' - email: '- Email to contact' - formatted_monthly_threshold: '- Formatted monthly threshold for this alerting' - id: '- Alert ID' - monthly_threshold: '- Monthly threshold for this alerting in currency' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - text: ': Text representation of the monthly threshold' - value: ': Value of the monthly threshold' - importStatements: [] - cloud_project_capabilities_containerregistry.html.markdown: - subCategory: "" - description: 'cloud_project_capabilities_containerregistry.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_capabilities_containerregistry.html.markdown - title: cloud_project_capabilities_containerregistry.html.markdown - argumentDocs: - code: '- Plan code from the catalog' - created_at: '- Plan creation date' - features: '- Features of the plan' - id: '- Plan ID' - image_storage: '- Docker image storage limits in bytes' - name: '- Plan name' - parallel_request: '- Parallel requests on Docker image API (/v2 Docker registry API)' - plans: '- Available plans in the region' - region_name: '- The region name' - registry_limits: '- Container registry limits' - result: '- List of container registry capability for a single region' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - updated_at: '- Plan last update date' - vulnerability: '- Vulnerability scanning' - importStatements: [] - cloud_project_capabilities_containerregistry_filter.html.markdown: - subCategory: "" - description: 'cloud_project_capabilities_containerregistry_filter.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_capabilities_containerregistry_filter.html.markdown - title: cloud_project_capabilities_containerregistry_filter.html.markdown - argumentDocs: - code: '- Plan code from the catalog' - created_at: '- Plan creation date' - features: '- Features of the plan' - id: '- Plan ID' - image_storage: '- Docker image storage limits in bytes' - name: '- Plan name' - parallel_request: '- Parallel requests on Docker image API (/v2 Docker registry API)' - plan_name: '- The plan name. It can be ''SMALL'', ''MEDIUM'' or ''LARGE''.' - region: '- The region name' - registry_limits: '- Container registry limits' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - updated_at: '- Plan last update date' - vulnerability: '- Vulnerability scanning' - importStatements: [] - cloud_project_containerregistries.html.markdown: - subCategory: "" - description: 'cloud_project_containerregistries.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistries.html.markdown - title: cloud_project_containerregistries.html.markdown - argumentDocs: - created_at: '- Registry creation date' - id: '- Registry ID' - name: '- Registry name' - project_id: '- Project ID of your registry' - region: '- Region of the registry' - result: '- The list of container registries associated with the project.' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - size: '- Current size of the registry (bytes)' - status: '- Registry status' - updated_at: '- Registry last update date' - url: '- Access url of the registry' - version: '- Version of your registry' - importStatements: [] - cloud_project_containerregistry.html.markdown: - subCategory: "" - description: 'cloud_project_containerregistry.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry.html.markdown - title: cloud_project_containerregistry.html.markdown - argumentDocs: - code: '- Plan code from the catalog' - created_at: '- Registry creation date' - features: '- Features of the plan' - id: '- Registry ID' - image_storage: '- Docker image storage limits in bytes' - name: '- Registry name' - parallel_request: '- Parallel requests on Docker image API (/v2 Docker registry API)' - plan: '- Plan of the registry' - plan_id: '- Plan ID of the registry' - project_id: '- Project ID of your registry' - region: '- Region of the registry' - registry_limits: '- Container registry limits' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - size: '- Current size of the registry (bytes)' - status: '- Registry status' - updated_at: '- Plan last update date' - url: '- Access url of the registry' - version: '- Version of your registry' - vulnerability: '- Vulnerability scanning' - importStatements: [] - cloud_project_containerregistry_ip_restrictions_management.html.markdown: - subCategory: "" - description: 'cloud_project_containerregistry_ip_restrictions_management.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry_ip_restrictions_management.html.markdown - title: cloud_project_containerregistry_ip_restrictions_management.html.markdown - argumentDocs: - description: '- The Description of Whitelisted IpBlock.' - ip_block: '- Whitelisted IpBlock (CIDR format).' - ip_restrictions: '- IP restrictions applied on Harbor UI and API.' - registry_id: '- The id of the Managed Private Registry.' - service_name: '- (Optional) The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used.' + name: cloud_project.html Resource - terraform-provider-ovh + title: cloud_project.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_containerregistry_ip_restrictions_registry.html.markdown: + cloud_project_alerting.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_containerregistry_ip_restrictions_registry.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry_ip_restrictions_registry.html.markdown - title: cloud_project_containerregistry_ip_restrictions_registry.html.markdown - argumentDocs: - description: '- The Description of Whitelisted IpBlock.' - ip_block: '- Whitelisted IpBlock (CIDR format).' - ip_restrictions: '- IP restrictions applied on artifact manager component.' - registry_id: '- The id of the Managed Private Registry.' - service_name: '- (Optional) The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used.' + name: cloud_project_alerting.html Resource - terraform-provider-ovh + title: cloud_project_alerting.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_containerregistry_oidc.html.markdown: + cloud_project_capabilities_containerregistry.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_containerregistry_oidc.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry_oidc.html.markdown - title: cloud_project_containerregistry_oidc.html.markdown - argumentDocs: - create: '- (Default 10m)' - delete: '- (Default 10m)' - delete_users: '- Delete existing users from Harbor. OIDC can''t be enabled if there is at least one user already created. This parameter is only used at OIDC configuration creation. Changing this value recreates the resource.' - oidc_admin_group: '- Specify an OIDC admin group name. All OIDC users in this group will have harbor admin privilege. Keep it blank if you do not want to.' - oidc_auto_onboard: '- Skip the onboarding screen, so user cannot change its username. Username is provided from ID Token.' - oidc_client_id: '- The client ID with which Harbor is registered as client application with the OIDC provider.' - oidc_client_secret: '- The secret for the Harbor client application.' - oidc_endpoint: '- The URL of an OIDC-compliant server.' - oidc_groups_claim: '- The name of Claim in the ID token whose value is the list of group names.' - oidc_name: '- The name of the OIDC provider.' - oidc_scope: '- The scope sent to OIDC server during authentication. It''s a comma-separated string that must contain ''openid'' and usually also contains ''profile'' and ''email''. To obtain refresh tokens it should also contain ''offline_access''.' - oidc_user_claim: '- The name of the claim in the ID Token where the username is retrieved from. If not specified, it will default to ''name'' (only useful when automatic Onboarding is enabled).' - oidc_verify_cert: '- Set it to false if your OIDC server is hosted via self-signed certificate.' - registry_id: '- The ID of the Managed Private Registry. Changing this value recreates the resource.' - service_name: '- The ID of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used. Changing this value recreates the resource.' - update: '- (Default 10m)' - importStatements: [] - cloud_project_containerregistry_user.html.markdown: - subCategory: "" - description: 'cloud_project_containerregistry_user.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry_user.html.markdown - title: cloud_project_containerregistry_user.html.markdown - argumentDocs: - email: '- User email' - id: '- User ID' - password: '- (Sensitive) User password' - registry_id: '- Registry ID' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user: '- User name' - importStatements: [] - cloud_project_containerregistry_users.html.markdown: - subCategory: "" - description: 'cloud_project_containerregistry_users.html.markdownsubcategory : "Managed Private Registry"' - name: cloud_project_containerregistry_users.html.markdown - title: cloud_project_containerregistry_users.html.markdown - argumentDocs: - email: '- User email' - id: '- User ID' - registry_id: '- Registry ID' - result: '- The list of users of the container registry associated with the project.' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user: '- User name' - importStatements: [] - cloud_project_database.html.markdown: - subCategory: "" - description: 'cloud_project_database.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database.html.markdown - title: cloud_project_database.html.markdown - argumentDocs: - advanced_configuration: '- (Optional) Advanced configuration key / value.' - backup_regions: '- List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field' - backup_time: '- Time on which backups start every day.' - component: '- Type of component the URI relates to.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the cluster.' - delete: '- (Default 20m)' - description: '- (Optional) Small description of the database service.' - disk_size: '- (Optional) The disk size (in GB) of the database service.' - disk_type: '- Defines the disk type of the database service.' - domain: '- Domain of the cluster.' - endpoints: '- List of all endpoints objects of the service.' - engine: |- - - (Required, Forces new resource) The database engine you want to deploy. To get a full list of available engine visit. - public documentation. - flavor: |- - - (Required) A valid OVHcloud public cloud database flavor name in which the nodes will be started. - Ex: "db1-7". Changing this value upgrade the nodes with the new flavor. - You can find the list of flavor names: https://www.ovhcloud.com/fr/public-cloud/prices/ - id: '- Public Cloud Database Service ID' - kafka_rest_api: '- (Optional) Defines whether the REST API is enabled on a kafka cluster' - maintenance_time: '- Time on which maintenances can start every day.' - network_id: '- (Optional, Forces new resource) Private network id in which the node should be deployed. It''s the regional openstackId of the private network' - network_type: '- Type of network of the cluster.' - nodes: |- - - (Required, Minimum Items: 1) List of nodes object. - Multi region cluster are not yet available, all node should be identical. - opensearch_acls_enabled: '- (Optional) Defines whether the ACLs are enabled on an OpenSearch cluster' - path: '- Path of the endpoint.' - plan: '- (Required) Plan of the cluster.' - port: '- Connection port for the endpoint.' - region: |- - - (Required, Forces new resource) Public cloud region in which the node should be deployed. - Ex: "GRA'. - scheme: '- Scheme used to generate the URI.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - ssl: '- Defines whether the endpoint uses SSL.' - ssl_mode: '- SSL mode used to connect to the service if the SSL is enabled.' - status: '- Current status of the cluster.' - subnet_id: '- (Optional, Forces new resource) Private subnet ID in which the node is.' - update: '- (Default 40m)' - uri: '- URI of the endpoint.' - version: '- (Required) The version of the engine in which the service should be deployed' - importStatements: [] - cloud_project_database_capabilities.html.markdown: - subCategory: "" - description: 'cloud_project_database_capabilities.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_capabilities.html.markdown - title: cloud_project_database_capabilities.html.markdown - argumentDocs: - backup_retention: '- Automatic backup retention duration.' - core: '- Flavor core number.' - default_version: '- Default version used for the engine.' - description: '- Description of the engine.' - engines: '- Database engines available.' - flavors: '- Flavors available.' - memory: '- Flavor ram size in GB.' - name: '- Engine name.' - options: '- Options available.' - plans: '- Plans available.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - ssl_modes: '- SSL modes for this engine.' - storage: '- Flavor disk size in GB.' - type: '- Type of the option.' - versions: '- Versions available for this engine.' - importStatements: [] - cloud_project_database_certificates.html.markdown: - subCategory: "" - description: 'cloud_project_database_certificates.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_certificates.html.markdown - title: cloud_project_database_certificates.html.markdown - argumentDocs: - ca: '- CA certificate used for the service.' - cluster_id: '- (Required) Cluster ID' - engine: |- - - (Required) The engine of the database cluster you want database information. To get a full list of available engine visit: - public documentation. - Available engines: - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_database.html.markdown: - subCategory: "" - description: 'cloud_project_database_database.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_database.html.markdown - title: cloud_project_database_database.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - default: '- Defines if the database has been created by default.' - delete: '- (Default 20m)' - engine: |- - - (Required, Forces new resource) The engine of the database cluster you want to add. You can find the complete list of available engine in the public documentation. - Available engines: - id: '- ID of the database.' - name: '- (Required, Forces new resource) Name of the database.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_databases.html.markdown: - subCategory: "" - description: 'cloud_project_database_databases.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_databases.html.markdown - title: cloud_project_database_databases.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - database_ids: '- The list of databases ids of the database cluster associated with the project.' - engine: |- - - (Required) The engine of the database cluster you want to list databases. To get a full list of available engine visit: - public documentation. - Available engines: - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_integration.html.markdown: - subCategory: "" - description: 'cloud_project_database_integration.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_integration.html.markdown - title: cloud_project_database_integration.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - destination_service_id: '- (Required, Forces new resource) ID of the destination service.' - engine: |- - - (Required, Forces new resource) The engine of the database cluster you want to add. You can find the complete list of available engine in the public documentation. - All engines available exept mongodb. - id: '- - ID of the integration.' - parameters: '- (Optional, Forces new resource) Parameters for the integration.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - source_service_id: '- (Required, Forces new resource) ID of the source service.' - status: '- Current status of the integration.' - type: |- - - (Optional, Forces new resource) Type of the integration. - Available types: - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_integrations.html.markdown: - subCategory: "" - description: 'cloud_project_database_integrations.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_integrations.html.markdown - title: cloud_project_database_integrations.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - engine: |- - - (Required) The engine of the database cluster you want to list integrations. To get a full list of available engine visit: - public documentation. - All engines available exept mongodb - integration_ids: '- The list of integrations ids of the database cluster associated with the project.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_ip_restriction.html.markdown: - subCategory: "" - description: 'cloud_project_database_ip_restriction.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_ip_restriction.html.markdown - title: cloud_project_database_ip_restriction.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - description: '- (Optional) Description of the IP restriction.' - engine: |- - - (Required, Forces new resource) The engine of the database cluster you want to add an IP restriction. To get a full list of available engine visit. - public documentation. - ip: '- (Required, Forces new resource) Authorized IP.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the IP restriction.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_ip_restrictions.html.markdown: - subCategory: "" - description: 'cloud_project_database_ip_restrictions.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_ip_restrictions.html.markdown - title: cloud_project_database_ip_restrictions.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - engine: |- - - (Required) The engine of the database cluster you want to list IP restrictions. To get a full list of available engine visit: - public documentation. - ips: '- The list of IP restriction of the database associated with the project.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_kafka_acl.html.markdown: - subCategory: "" - description: 'cloud_project_database_kafka_acl.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_acl.html.markdown - title: cloud_project_database_kafka_acl.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - id: '- ID of the ACL.' - permission: |- - - (Required, Forces new resource) Permission to give to this username on this topic. - Available permissions: - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - topic: '- (Required, Forces new resource) Topic affected by this ACL.' - username: '- (Required, Forces new resource) Username affected by this ACL.' - importStatements: [] - cloud_project_database_kafka_acls.html.markdown: - subCategory: "" - description: 'cloud_project_database_kafka_acls.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_acls.html.markdown - title: cloud_project_database_kafka_acls.html.markdown - argumentDocs: - acl_ids: '- The list of ACLs ids of the kafka cluster associated with the project.' - cluster_id: '- (Required) Cluster ID' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. + name: cloud_project_capabilities_containerregistry.html Resource - terraform-provider-ovh + title: cloud_project_capabilities_containerregistry.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_database_kafka_schemaregistryacl.html.markdown: + cloud_project_capabilities_containerregistry_filter.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_database_kafka_schemaregistryacl.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_schemaregistryacl.html.markdown - title: cloud_project_database_kafka_schemaregistryacl.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - id: '- ID of the ACL.' - permission: |- - - (Required, Forces new resource) Permission to give to this username on this resource. - Available permissions: - resource: '- (Required, Forces new resource) Resource affected by this schema registry ACL.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - username: '- (Required, Forces new resource) Username affected by this schema registry ACL.' - importStatements: [] - cloud_project_database_kafka_schemaregistryacls.html.markdown: - subCategory: "" - description: 'cloud_project_database_kafka_schemaregistryacls.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_schemaregistryacls.html.markdown - title: cloud_project_database_kafka_schemaregistryacls.html.markdown - argumentDocs: - acl_ids: '- The list of schema refistry ACLs ids of the kafka cluster associated with the project.' - cluster_id: '- (Required) Cluster ID' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. + name: cloud_project_capabilities_containerregistry_filter.html Resource - terraform-provider-ovh + title: cloud_project_capabilities_containerregistry_filter.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_database_kafka_topic.html.markdown: + cloud_project_containerregistries.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_database_kafka_topic.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_topic.html.markdown - title: cloud_project_database_kafka_topic.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - id: '- ID of the topic.' - min_insync_replicas: '- (Optional, Forces new resource) Minimum insync replica accepted for this topic. Should be superior to 0' - name: '- (Required, Forces new resource) Name of the topic. No spaces allowed.' - partitions: '- (Optional, Forces new resource) Number of partitions for this topic. Should be superior to 0' - replication: '- (Optional, Forces new resource) Number of replication for this topic. Should be superior to 1' - retention_bytes: '- (Optional, Forces new resource) Number of bytes for the retention of the data for this topic. Inferior to 0 means unlimited' - retention_hours: '- (Optional, Forces new resource) Number of hours for the retention of the data for this topic. Should be superior to -2. Inferior to 0 means unlimited' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_kafka_topics.html.markdown: - subCategory: "" - description: 'cloud_project_database_kafka_topics.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_topics.html.markdown - title: cloud_project_database_kafka_topics.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - topic_ids: '- The list of topics ids of the kafka cluster associated with the project.' + name: cloud_project_containerregistries.html Resource - terraform-provider-ovh + title: cloud_project_containerregistries.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_database_kafka_user_access.html.markdown: + cloud_project_containerregistry.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_database_kafka_user_access.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_kafka_user_access.html.markdown - title: cloud_project_database_kafka_user_access.html.markdown - argumentDocs: - cert: '- User cert.' - cluster_id: '- (Required) Cluster ID' - key: '- (Sensitive) User key for the cert.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user_id: '- (Required) User ID' - importStatements: [] - cloud_project_database_m3db_namespace.html.markdown: - subCategory: "" - description: 'cloud_project_database_m3db_namespace.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_m3db_namespace.html.markdown - title: cloud_project_database_m3db_namespace.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - id: '- ID of the namespace.' - name: '- (Required, Forces new resource) Name of the namespace.' - resolution: '- (Optional) Resolution for an aggregated namespace. Should follow Rfc3339 e.g P2D, PT48H.' - retention_block_data_expiration_duration: '- (Optional) Controls how long we wait before expiring stale data. Should follow Rfc3339 e.g P2D, PT48H.' - retention_block_size_duration: '- (Optional) Controls how long to keep a block in memory before flushing to a fileset on disk. Should follow Rfc3339 e.g P2D, PT48H.' - retention_buffer_future_duration: '- (Optional) Controls how far into the future writes to the namespace will be accepted. Should follow Rfc3339 e.g P2D, PT48H.' - retention_buffer_past_duration: '- (Optional) Controls how far into the past writes to the namespace will be accepted. Should follow Rfc3339 e.g P2D, PT48H.' - retention_period_duration: '- (Required) Controls the duration of time that M3DB will retain data for the namespace. Should follow Rfc3339 e.g P2D, PT48H.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - snapshot_enabled: '- (Optional) Defines whether M3DB will create snapshot files for this namespace.' - type: '- Type of namespace.' - update: '- (Default 20m)' - writes_to_commit_log_enabled: '- (Optional) Defines whether M3DB will include writes to this namespace in the commit log.' - importStatements: [] - cloud_project_database_m3db_namespaces.html.markdown: - subCategory: "" - description: 'cloud_project_database_m3db_namespaces.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_m3db_namespaces.html.markdown - title: cloud_project_database_m3db_namespaces.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - namespace_ids: '- The list of namespaces ids of the M3DB cluster associated with the project.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. + name: cloud_project_containerregistry.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_database_m3db_user.html.markdown: + cloud_project_containerregistry_ip_restrictions_management.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_database_m3db_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_m3db_user.html.markdown - title: cloud_project_database_m3db_user.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - group: '- (Optional) Group of the user:' - id: '- ID of the user.' - name: '- (Required, Forces new resource) Name of the user. A user named "avnadmin" is map with already created admin user instead of create a new user.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_mongodb_user.html.markdown: - subCategory: "" - description: 'cloud_project_database_mongodb_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_mongodb_user.html.markdown - title: cloud_project_database_mongodb_user.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - id: '- ID of the user.' - name: '- (Required, Forces new resource) Name of the user.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - roles: |- - - (Optional: if omit, default role) Roles the user belongs to. Since version 0.37.0, the authentication database must be indicated for all roles - Available roles: - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_opensearch_pattern.html.markdown: - subCategory: "" - description: 'cloud_project_database_opensearch_pattern.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_opensearch_pattern.html.markdown - title: cloud_project_database_opensearch_pattern.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - delete: '- (Default 20m)' - id: '- ID of the pattern.' - max_index_count: '- (Optional, Forces new resource) Maximum number of index for this pattern.' - pattern: '- (Required, Forces new resource) Pattern format.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_database_opensearch_patterns.html.markdown: - subCategory: "" - description: 'cloud_project_database_opensearch_patterns.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_opensearch_patterns.html.markdown - title: cloud_project_database_opensearch_patterns.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - pattern_ids: '- The list of patterns ids of the opensearch cluster associated with the project.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. + name: cloud_project_containerregistry_ip_restrictions_management.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry_ip_restrictions_management.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_database_opensearch_user.html.markdown: + cloud_project_containerregistry_ip_restrictions_registry.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_database_opensearch_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_opensearch_user.html.markdown - title: cloud_project_database_opensearch_user.html.markdown - argumentDocs: - acls: '- (Optional) Acls of the user.' - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - id: '- ID of the user.' - name: '- (Required, Forces new resource) Username affected by this acl. A user named "avnadmin" is map with already created admin user and reset his password instead of create a new user.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - pattern: '- (Required) Pattern of the ACL.' - permission: |- - - (Required) Permission of the ACL - Available permission: - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_postgresql_connection_pool.html.markdown: - subCategory: "" - description: 'cloud_project_database_postgresql_connection_pool.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_postgresql_connection_pool.html.markdown - title: cloud_project_database_postgresql_connection_pool.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - database_id: '- (Required, Forces new resource) Database ID for a database that belongs to the Database cluster given above.' - delete: '- (Default 20m)' - mode: |- - - (Required) Connection mode to the connection pool - Available modes: - name: '- (Required, Forces new resource) Name of the connection pool.' - port: '- Port of the connection pool.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - size: '- (Required) Size of the connection pool.' - ssl_mode: '- Ssl connection mode for the pool.' - update: '- (Default 20m)' - uri: '- Connection URI to the pool.' - user_id: '- (Optional) Database user authorized to connect to the pool, if none all the users are allowed.' - importStatements: [] - cloud_project_database_postgresql_user.html.markdown: - subCategory: "" - description: 'cloud_project_database_postgresql_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_postgresql_user.html.markdown - title: cloud_project_database_postgresql_user.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - id: '- ID of the user.' - name: '- (Required, Forces new resource) Name of the user. A user named "avnadmin" is map with already created admin user and reset his password instead of create a new user.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - roles: |- - - (Optional: if omit, default role) Roles the user belongs to. - Available roles: - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_redis_user.html.markdown: - subCategory: "" - description: 'cloud_project_database_redis_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_redis_user.html.markdown - title: cloud_project_database_redis_user.html.markdown - argumentDocs: - categories: '- (Optional) Categories of the user.' - channels: '- (Optional: if omit, all channels) Channels of the user.' - cluster_id: '- (Required, Forces new resource) Cluster ID.' - commands: '- (Optional) Commands of the user.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - id: '- ID of the user.' - keys: '- (Optional) Keys of the user.' - name: '- (Required, Forces new resource) Name of the user. A user named "avnadmin" is map with already created admin user and reset his password instead of create a new user.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_user.html.markdown: - subCategory: "" - description: 'cloud_project_database_user.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_user.html.markdown - title: cloud_project_database_user.html.markdown - argumentDocs: - cluster_id: '- (Required, Forces new resource) Cluster ID.' - create: '- (Default 20m)' - created_at: '- Date of the creation of the user.' - delete: '- (Default 20m)' - engine: |- - - (Required, Forces new resource) The engine of the database cluster you want to add. You can find the complete list of available engine in the public documentation. - Available engines: - id: '- ID of the user.' - name: '- (Required, Forces new resource) Name of the user. A user named "avnadmin" is map with already created admin user and reset his password instead of create a new user. The "Grafana" engine only allows the "avnadmin" mapping.' - password: '- (Sensitive) Password of the user.' - password_reset: '- (Optional) Arbitrary string to change to trigger a password update. Use the terraform refresh command after executing terraform apply to update the output with the new password.' - service_name: |- - - (Required, Forces new resource) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status of the user.' - update: '- (Default 20m)' - importStatements: [] - cloud_project_database_users.html.markdown: - subCategory: "" - description: 'cloud_project_database_users.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_database_users.html.markdown - title: cloud_project_database_users.html.markdown - argumentDocs: - cluster_id: '- (Required) Cluster ID' - engine: |- - - (Required) The engine of the database cluster you want to list users. To get a full list of available engine visit: - public documentation. - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user_ids: '- The list of users ids of the database cluster associated with the project.' - importStatements: [] - cloud_project_databases.html.markdown: - subCategory: "" - description: 'cloud_project_databases.html.markdownsubcategory : "Managed Databases"' - name: cloud_project_databases.html.markdown - title: cloud_project_databases.html.markdown - argumentDocs: - cluster_ids: '- The list of managed databases ids of the project.' - engine: |- - - (Required) The database engine you want to list. To get a full list of available engine visit: - public documentation. - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_failover_ip_attach.html.markdown: - subCategory: "" - description: 'cloud_project_failover_ip_attach.html.markdownsubcategory : "Additional IP"' - name: cloud_project_failover_ip_attach.html.markdown - title: cloud_project_failover_ip_attach.html.markdown - argumentDocs: - block: '- The IP block' - continentCode: '- The Ip continent' - geoloc: '- The Ip location' - id: '- The Ip id' - ip: '- The failover ip address to attach' - progress: '- Current operation progress in percent' - routed_to: '- The GUID of an instance to which the failover IP address is be attached' - routedTo: '- Instance where ip is routed to' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Ip status, can be ok or operationPending' - subType: '- IP sub type, can be cloud or ovh' - importStatements: [] - cloud_project_gateway.html.markdown: - subCategory: Gateway - description: 'cloud_project_gateway.html.markdownsubcategory: "Gateway"' - name: cloud_project_gateway.html.markdown - title: cloud_project_gateway.html.markdown - argumentDocs: - model: '- (Required) The model of the gateway.' - name: '- (Required) The name of the gateway.' - network_id: '- (Required) The ID of the private network.' - region: '- (Required) The region of the gateway.' - service_name: '- (Required) The ID of the private network.' - status: '- The status of the gateway.' - subnet_id: '- (Required) The ID of the subnet.' - importStatements: [] - cloud_project_kube.html.markdown: - subCategory: "" - description: 'cloud_project_kube.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube.html.markdown - title: cloud_project_kube.html.markdown - argumentDocs: - admissionplugins: '- (Optional) Kubernetes API server admission plugins customization' - apiserver: '- Kubernetes API server customization' - client_certificate: '- The kubernetes API server client certificate.' - client_key: '- The kubernetes API server client key.' - cluster_ca_certificate: '- The kubernetes API server CA certificate.' - control_plane_is_up_to_date: '- True if control-plane is up-to-date.' - create: '- (Default 10m)' - customization: '- Deprecated (Optional) Use customization_apiserver and customization_kube_proxy instead. Kubernetes cluster customization' - customization_apiserver: '- Kubernetes API server customization' - customization_kube_proxy: '- Kubernetes kube-proxy customization' - default_vrack_gateway: '- If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled.' - delete: '- (Default 10m)' - disabled: '- (Optional) Array of admission plugins disabled, default is [] and only AlwaysPulImages can be disabled at this time.' - enabled: '- (Optional) Array of admission plugins enabled, default is ["NodeRestriction","AlwaysPulImages"] and only these admission plugins can be enabled at this time.' - host: '- The kubernetes API server URL.' - id: '- Managed Kubernetes Service ID' - iptables: '- (Optional) Kubernetes cluster kube-proxy customization of iptables specific config (durations format is RFC3339 duration, e.g. PT60S)' - ipvs: '- (Optional) Kubernetes cluster kube-proxy customization of IPVS specific config (durations format is RFC3339 duration, e.g. PT60S)' - is_up_to_date: '- True if all nodes and control-plane are up-to-date.' - kube_proxy: '- Kubernetes kube-proxy customization' - kube_proxy_mode: '- (Optional) Selected mode for kube-proxy. Changing this value recreates the resource, including ETCD user data. Defaults to iptables.' - kubeconfig: '- The kubeconfig file. Use this file to connect to your kubernetes cluster.' - kubeconfig_attributes: '- The kubeconfig file attributes.' - min_sync_period: '- (Optional) Period that iptables rules are refreshed, in RFC3339 duration format (e.g. PT60S). Must be greater than 0.' - name: '- (Optional) The name of the kubernetes cluster.' - next_upgrade_versions: '- Kubernetes versions available for upgrade.' - nodes_url: '- Cluster nodes URL.' - private_network_configuration: '- (Optional) The private network configuration. If this is set then the 2 parameters below shall be defined.' - private_network_id: '- (Optional) OpenStack private network (or vRack) ID to use. Changing this value recreates the resource, including ETCD user data. Defaults - not use private network.' - private_network_routing_as_default: '- Defines whether routing should default to using the nodes'' private interface, instead of their public interface. Default is false.' - region: '- a valid OVHcloud public cloud region ID in which the kubernetes cluster will be available. Ex.: "GRA1". Defaults to all public cloud regions. Changing this value recreates the resource.' - scheduler: '- (Optional) IPVS scheduler.' - service_name: '- The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used. Changing this value recreates the resource.' - status: '- Cluster status. Should be normally set to ''READY''.' - sync_period: '- (Optional) Minimum period that iptables rules are refreshed, in RFC3339 duration format (e.g. PT60S).' - tcp_fin_timeout: '- (Optional) Timeout value used for IPVS TCP sessions after receiving a FIN in RFC3339 duration (e.g. PT60S). The default value is PT0S, which preserves the current timeout value on the system.' - tcp_timeout: '- (Optional) Timeout value used for idle IPVS TCP sessions in RFC3339 duration (e.g. PT60S). The default value is PT0S, which preserves the current timeout value on the system.' - udp_timeout: '- (Optional) timeout value used for IPVS UDP packets in RFC3339 duration (e.g. PT60S). The default value is PT0S, which preserves the current timeout value on the system.' - update: '- (Default 10m)' - update_policy: '- Cluster update policy. Choose between [ALWAYS_UPDATE, MINIMAL_DOWNTIME, NEVER_UPDATE].' - url: '- Management URL of your cluster.' - version: '- (Optional) kubernetes version to use. Changing this value updates the resource. Defaults to the latest available.' - importStatements: [] - cloud_project_kube_iprestrictions.html.markdown: - subCategory: "" - description: 'cloud_project_kube_iprestrictions.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube_iprestrictions.html.markdown - title: cloud_project_kube_iprestrictions.html.markdown - argumentDocs: - create: '- (Default 10m)' - delete: '- (Default 5m)' - ips: '- List of CIDR authorized to interact with the managed Kubernetes cluster.' - kube_id: '- The id of the managed Kubernetes cluster. Changing this value recreates the resource.' - service_name: '- The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used. Changing this value recreates the resource.' - update: '- (Default 5m)' - importStatements: [] - cloud_project_kube_nodepool.html.markdown: - subCategory: "" - description: 'cloud_project_kube_nodepool.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube_nodepool.html.markdown - title: cloud_project_kube_nodepool.html.markdown - argumentDocs: - annotations: '- Annotations to apply to each node' - anti_affinity: '- (Optional) should the pool use the anti-affinity feature. Default to false. Changing this value recreates the resource.' - autoscale: '- (Optional) Enable auto-scaling for the pool. Default to false.' - autoscaling_scale_down_unneeded_time_seconds: |- - - (Optional) scaleDownUnneededTimeSeconds autoscaling parameter - How long a node should be unneeded before it is eligible for scale down - autoscaling_scale_down_unready_time_seconds: |- - - (Optional) scaleDownUnreadyTimeSeconds autoscaling parameter - How long an unready node should be unneeded before it is eligible for scale down - autoscaling_scale_down_utilization_threshold: |- - - (Optional) scaleDownUtilizationThreshold autoscaling parameter - Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down - available_nodes: '- Number of nodes which are actually ready in the pool' - create: '- (Default 20m)' - created_at: '- Creation date' - current_nodes: '- Number of nodes present in the pool' - delete: '- (Default 10m)' - desired_nodes: '- number of nodes to start.' - effect: '- mandatory possible values: NoExecute, NoSchedule, PreferNoSchedule' - finalizers: '- Finalizers to apply to each node. A finalizer name must be fully qualified, e.g. kubernetes.io/pv-protection , where you prefix it with hostname of your service which is related to the controller responsible for the finalizer.' - flavor: '- Flavor name' - flavor_name: |- - - a valid OVHcloud public cloud flavor ID in which the nodes will be started. Ex: "b2-7". You can find the list of flavor IDs: https://www.ovhcloud.com/fr/public-cloud/prices/. - Changing this value recreates the resource. - key: '- mandatory' - kube_id: '- The id of the managed kubernetes cluster. Changing this value recreates the resource.' - labels: '- Labels to apply to each node' - max_nodes: '- maximum number of nodes allowed in the pool. Setting desired_nodes over this value will raise an error.' - metadata: '- Metadata of each node in the pool' - min_nodes: '- minimum number of nodes allowed in the pool. Setting desired_nodes under this value will raise an error.' - monthly_billed: '- (Optional) should the nodes be billed on a monthly basis. Default to false. Changing this value recreates the resource.' - name: '- (Optional) The name of the nodepool. Warning: _ char is not allowed! Changing this value recreates the resource.' - project_id: '- Project id' - service_name: '- The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used. Changing this value recreates the resource.' - size_status: '- Status describing the state between number of nodes wanted and available ones' - spec: '- Spec of each node in the pool' - status: '- Current status' - taints: '- Taints to apply to each node NodeSpec kubernetes documentation' - 'template ': '- (Optional) Managed Kubernetes nodepool template, which is a complex object constituted by two main nested objects:' - unschedulable: '- If true, set nodes as un-schedulable' - up_to_date_nodes: '- Number of nodes with the latest version installed in the pool' - update: '- (Default 10m)' - updated_at: '- Last update date' - value: '- (Optional)' - importStatements: [] - cloud_project_kube_nodepool_nodes.html.markdown: - subCategory: "" - description: 'cloud_project_kube_nodepool_nodes.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube_nodepool_nodes.html.markdown - title: cloud_project_kube_nodepool_nodes.html.markdown - argumentDocs: - created_at: '- Creation date.' - deployed_at: '- (Optional) Date of the effective deployment.' - flavor: '- Flavor name.' - id: '- ID of the node.' - instance_id: '- Openstack ID of the underlying VM of the node.' - is_up_to_date: '- Is the node in the target version of the cluster.' - kube_id: '- The ID of the managed kubernetes cluster.' - name: '- Name of the node pool from which we want the nodes.' - node_pool_id: '- Managed kubernetes node pool ID.' - nodes: '- List of all nodes composing the kubernetes cluster.' - project_id: '- Public cloud project ID.' - service_name: |- - - (Optional) The ID of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status.' - updated_at: '- Last update date.' - version: '- Version in which the node is.' - importStatements: [] - cloud_project_kube_nodes.html.markdown: - subCategory: "" - description: 'cloud_project_kube_nodes.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube_nodes.html.markdown - title: cloud_project_kube_nodes.html.markdown - argumentDocs: - created_at: '- Creation date' - deployed_at: '- (Optional) Date of the effective deployment' - flavor: '- Flavor name' - id: '- ID of the node' - instance_id: '- Openstack ID of the underlying VM of the node' - is_up_to_date: '- Is the node in the target version of the cluster' - kube_id: '- The ID of the managed kubernetes cluster.' - name: '- Name of the node' - node_pool_id: '- Managed kubernetes node pool ID' - nodes: '- List of all nodes composing the kubernetes cluster' - project_id: '- Public cloud project ID' - service_name: |- - - (Optional) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- Current status' - updated_at: '- Last update date' - version: '- Version in which the node is' - importStatements: [] - cloud_project_kube_oidc.html.markdown: - subCategory: "" - description: 'cloud_project_kube_oidc.html.markdownsubcategory : "Managed Kubernetes Service"' - name: cloud_project_kube_oidc.html.markdown - title: cloud_project_kube_oidc.html.markdown - argumentDocs: - client_id: '- The OIDC client ID.' - create: '- (Default 10m)' - delete: '- (Default 10m)' - issuer_url: '- The OIDC issuer url.' - kube_id: '- The ID of the managed kubernetes cluster. Changing this value recreates the resource.' - oidcCaContent: '- Content of the certificate for the CA, in Base64 format, that signed your identity provider''s web certificate. Defaults to the host''s root CAs.' - oidcGroupsClaim: '- Array of JWT claim to use as the user''s group. If the claim is present it must be an array of strings.' - oidcGroupsPrefix: '- Prefix prepended to group claims to prevent clashes with existing names (such as system:groups). For example, the value oidc: will create group names like oidc:engineering and oidc:infra.' - oidcRequiredClaim: '- Array of key=value pairs that describe required claims in the ID Token. If set, the claims are verified to be present in the ID Token with a matching value."' - oidcSigningAlgs: '- Array of signing algorithms accepted. Default is RS256.' - oidcUsernameClaim: '- JWT claim to use as the username. By default, sub, which is expected to be a unique identifier of the end user. Admins can choose other claims, such as email or name, depending on their provider. However, claims other than email will be prefixed with the issuer URL to prevent naming clashes with other plugins.' - oidcUsernamePrefix: '- Prefix prepended to username claims to prevent clashes with existing names (such as system:users). For example, the value oidc: will create usernames like oidc:jane.doe. If this field isn''t set and oidcUsernameClaim is a value other than email the prefix defaults to issuer_url where issuer_url is the value of oidcIssuerUrl. The value - can be used to disable all prefixing.' - service_name: '- The ID of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used. Changing this value recreates the resource.' - update: '- (Default 10m)' - importStatements: [] - cloud_project_network_private.html.markdown: - subCategory: "" - description: 'cloud_project_network_private.html.markdownsubcategory : "Public Cloud Network"' - name: cloud_project_network_private.html.markdown - title: cloud_project_network_private.html.markdown - argumentDocs: - id: '- The id of the network' - name: '- (Required) The name of the network.' - regions: |- - - an array of valid OVHcloud public cloud region ID in which the network - will be available. Ex.: "GRA1". Defaults to all public cloud regions. - regions_attributes: '- A map representing information about the region.' - regions_attributes/openstackid: '- The private network id in the region.' - regions_attributes/region: '- The id of the region.' - regions_attributes/status: '- The status of the network in the region.' - regions_status: '- (Deprecated) A map representing the status of the network per region.' - regions_status/region: '- (Deprecated) The id of the region.' - regions_status/status: '- (Deprecated) The status of the network in the region.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- the status of the network. should be normally set to ''ACTIVE''.' - type: '- the type of the network. Either ''private'' or ''public''.' - vlan_id: |- - - a vlan id to associate with the network. - Changing this value recreates the resource. Defaults to 0. - importStatements: [] - cloud_project_network_private_subnet.html.markdown: - subCategory: "" - description: 'cloud_project_network_private_subnet.html.markdownsubcategory : "Public Cloud Network"' - name: cloud_project_network_private_subnet.html.markdown - title: cloud_project_network_private_subnet.html.markdown - argumentDocs: - cidr: '- Ip Block representing the subnet cidr.' - dhcp: |- - - (Optional) Enable DHCP. - Changing this forces a new resource to be created. Defaults to false. - _ - dhcp_id: '- See Argument Reference above.' - end: |- - - (Required) Last ip for this region. - Changing this value recreates the subnet. - gateway_ip: '- The IP of the gateway' - ip_pools: '- List of ip pools allocated in the subnet.' - ip_pools/dhcp: '- DHCP enabled.' - ip_pools/end: '- Last ip for this region.' - ip_pools/network: '- Global network with cidr.' - ip_pools/region: '- Region where this subnet is created.' - ip_pools/start: '- First ip for this region.' - network: |- - - (Required) Global network in CIDR format. - Changing this value recreates the subnet - network_id: |- - - (Required) The id of the network. - Changing this forces a new resource to be created. - no_gateway: |- - - Set to true if you don't want to set a default gateway IP. - Changing this value recreates the resource. Defaults to false. - region: |- - - The region in which the network subnet will be created. - Ex.: "GRA1". Changing this value recreates the resource. - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - start: |- - - (Required) First ip for this region. - Changing this value recreates the subnet. - importStatements: [] - cloud_project_region.html.markdown: - subCategory: "" - description: 'cloud_project_region.html.markdownsubcategory : "Account Management"' - name: cloud_project_region.html.markdown - title: cloud_project_region.html.markdown - argumentDocs: - continent_code: |- - - the code of the geographic continent the region is running. - E.g.: EU for Europe, US for America... - datacenter_location: |- - - The location code of the datacenter. - E.g.: "GRA", meaning Gravelines, for region "GRA1" - name: |- - - (Required) The name of the region associated with the public cloud - project. - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - services: '- The list of public cloud services running within the region' - status: '- the status of the service' - importStatements: [] - cloud_project_region_storage_presign.html.markdown: - subCategory: "" - description: 'cloud_project_region_storage_presign.html.markdownsubcategory : "Object Storage"' - name: cloud_project_region_storage_presign.html.markdown - title: cloud_project_region_storage_presign.html.markdown - argumentDocs: - expire: '- (Required) Define, in seconds, for how long your URL will be valid.' - method: '- (Required) The method you want to use to interact with your object. Can be either ''GET'' or ''PUT''.' - name: '- (Required) The name of your S3 storage container/bucket.' - object: '- (Required) The name of the object in your S3 bucket.' - region_name: |- - - (Required) The region in which your storage is located. - Ex.: "GRA". - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - url: '- Computed URL result.' - importStatements: [] - cloud_project_regions.html.markdown: - subCategory: "" - description: 'cloud_project_regions.html.markdownsubcategory : "Account Management"' - name: cloud_project_regions.html.markdown - title: cloud_project_regions.html.markdown - argumentDocs: - has_services_up: |- - - (Optional) List of services which has to be UP in regions. - Example: "image", "instance", "network", "storage", "volume", "workflow", ... - If left blank, returns all regions associated with the service_name. - names: '- The list of regions associated with the project, filtered by services UP.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_user.html.markdown: - subCategory: "" - description: 'cloud_project_user.html.markdownsubcategory : "Account Management"' - name: cloud_project_user.html.markdown - title: cloud_project_user.html.markdown - argumentDocs: - creation_date: '- the date the user was created.' - description: '- A description associated with the user.' - id: '- id of the role' - name: '- name of the role' - openstack_rc: |- - - a convenient map representing an openstack_rc file. - Note: no password nor sensitive token is set in this map. - password: |- - - (Sensitive) the password generated for the user. The password can - be used with the Openstack API. This attribute is sensitive and will only be - retrieve once during creation. - permissions: '- list of permissions associated with the role' - role_name: '- The name of a role. See role_names.' - role_names: '- A list of role names. Values can be:' - roles: '- A list of roles associated with the user.' - service_name: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- the status of the user. should be normally set to ''ok''.' - username: |- - - the username generated for the user. This username can be used with - the Openstack API. - importStatements: [] - cloud_project_user_s3_credential.html.markdown: - subCategory: "" - description: 'cloud_project_user_s3_credential.html.markdownsubcategory : "Account Management"' - name: cloud_project_user_s3_credential.html.markdown - title: cloud_project_user_s3_credential.html.markdown - argumentDocs: - access_key_id: '- the Access Key ID' - secret_access_key: '- (Sensitive) the Secret Access Key' - service_name: |- - - (Required) The ID of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user_id: '- (Required) The ID of a public cloud project''s user.' - importStatements: [] - cloud_project_user_s3_credentials.html.markdown: - subCategory: "" - description: 'cloud_project_user_s3_credentials.html.markdownsubcategory : "Account Management"' - name: cloud_project_user_s3_credentials.html.markdown - title: cloud_project_user_s3_credentials.html.markdown - argumentDocs: - access_key_ids: '- The list of the Access Key ID associated with this user.' - service_name: |- - - (Required) The ID of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user_id: '- (Required) The ID of a public cloud project''s user.' + name: cloud_project_containerregistry_ip_restrictions_registry.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry_ip_restrictions_registry.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_user_s3_policy.html.markdown: + cloud_project_containerregistry_oidc.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_user_s3_policy.html.markdownsubcategory : "Account Management"' - name: cloud_project_user_s3_policy.html.markdown - title: cloud_project_user_s3_policy.html.markdown - argumentDocs: - policy: '- (Required) The policy document. This is a JSON formatted string. See examples of policies on public documentation.' - service_name: |- - - (Required) The ID of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - user_id: '- (Required) The ID of a public cloud project''s user.' + name: cloud_project_containerregistry_oidc.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry_oidc.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - cloud_project_users.html.markdown: + cloud_project_containerregistry_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'cloud_project_users.html.markdownsubcategory : "Account Management"' - name: cloud_project_users.html.markdown - title: cloud_project_users.html.markdown - argumentDocs: - creation_date: '- the date the user was created.' - description: '- See Argument Reference above.' - id: '- id of the role' - name: '- name of the role' - permissions: '- list of permissions associated with the role' - roles: '- A list of roles associated with the user.' - service_name: |- - - (Required) The ID of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - status: '- the status of the user. should be normally set to ''ok''.' - user_id: '- The ID of a public cloud project''s user.' - username: |- - - the username generated for the user. This username can be used with - the Openstack API. - users: '- The list of users of a public cloud project.' - importStatements: [] - cloud_project_vrack.html.markdown: - subCategory: "" - description: 'cloud_project_vrack.html.markdownsubcategory : "Public Cloud Network"' - name: cloud_project_vrack.html.markdown - title: cloud_project_vrack.html.markdown - argumentDocs: - decription: '- The description of the vrack' - id: '- The id of the vrack' - name: '- The name of the vrack' - service_name: |- - - The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - importStatements: [] - cloud_project_workflow_backup.html.markdown: - subCategory: "" - description: 'cloud_project_workflow_backup.html.markdownsubcategory : "VM Instances"' - name: cloud_project_workflow_backup.html.markdown - title: cloud_project_workflow_backup.html.markdown - argumentDocs: - backup_name: '- (Optional) The name of the backup files that are created. If empty, the name attribute is used.' - cron: '- (Mandatory) The cron periodicity at which the backup workflow is scheduled' - instanceId: the id of the instance to back up - max_execution_count: '- (Optional) The number of times the worflow is run. Default value is 0 which means that the workflow will be scheduled continously until its deletion' - name: '- (Mandatory) The worflow name that is used in the UI' - region_name: '- (Mandatory) The name of the openstack region.' - rotation: '- (Mandatory) The number of backup that are retained.' - service_name: '- (Optional) The id of the public cloud project. If omitted, the OVH_CLOUD_PROJECT_SERVICE environment variable is used.' - importStatements: [] - dbaas_logs_cluster.html.markdown: - subCategory: "" - description: 'dbaas_logs_cluster.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_cluster.html.markdown - title: dbaas_logs_cluster.html.markdown - argumentDocs: - archive_allowed_networks: '- List of IP blocks' - cluster_id: '- Cluster ID. If not provided, the default cluster_id is used' - cluster_type: '- type of cluster (DEDICATED, PRO or TRIAL)' - dedicated_input_pem: '- PEM for dedicated inputs' - direct_input_allowed_networks: '- List of IP blocks' - direct_input_pem: '- PEM for direct inputs' - hostname: '- cluster hostname hosting tenant' - is_default: '- true if all content generated by given service will be placed on this cluster' - is_unlocked: '- true if given service can perform advanced operations on cluster' - query_allowed_networks: '- List of IP blocks' - region: '- datacenter localization' - service_name: '- (Required) The service name' - urn: '- URN of the DBaaS' - importStatements: [] - dbaas_logs_clusters.html.markdown: - subCategory: "" - description: 'dbaas_logs_clusters.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_clusters.html.markdown - title: dbaas_logs_clusters.html.markdown - argumentDocs: - service_name: '- The service name. It''s the ID of your Logs Data Platform instance.' - uuids: is the cluster id + name: cloud_project_containerregistry_user.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dbaas_logs_graylog_output_stream.html.markdown: + cloud_project_containerregistry_users.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dbaas_logs_graylog_output_stream.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_graylog_output_stream.html.markdown - title: dbaas_logs_graylog_output_stream.html.markdown - argumentDocs: - can_alert: '- Indicates if the current user can create alert on the stream' - cold_storage_compression: '- Cold storage compression method. One of "LZMA", "GZIP", "DEFLATED", "ZSTD"' - cold_storage_content: '- ColdStorage content. One of "ALL", "GLEF", "PLAIN"' - cold_storage_enabled: '- Is Cold storage enabled?' - cold_storage_notify_enabled: '- Notify on new Cold storage archive' - cold_storage_retention: '- Cold storage retention in year' - cold_storage_target: '- ColdStorage destination. One of "PCA", "PCS"' - created_at: '- Stream creation' - description: '- (Required) Stream description' - indexing_enabled: '- Enable ES indexing' - indexing_max_size: '- Maximum indexing size (in GB)' - indexing_notify_enabled: '- If set, notify when size is near 80, 90 or 100 % of the maximum configured setting' - is_editable: '- Indicates if you are allowed to edit entry' - is_shareable: '- Indicates if you are allowed to share entry' - nb_alert_condition: '- Number of alert condition' - nb_archive: '- Number of coldstored archivesr' - parent_stream_id: '- Parent stream ID' - pause_indexing_on_max_size: '- If set, pause indexing when maximum size is reach' - retention_id: '- Retention ID' - service_name: '- (Required) The service name' - stream_id: '- Stream ID' - title: '- (Required) Stream description' - updated_at: '- Stream last updater' - web_socket_enabled: '- Enable Websocket' - importStatements: [] - dbaas_logs_input.html.markdown: - subCategory: "" - description: 'dbaas_logs_input.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_input.html.markdown - title: dbaas_logs_input.html.markdown - argumentDocs: - allowed_networks: '- List of IP blocks' - configuration: '- (Required) Input configuration' - created_at: '- Input creation' - description: '- (Required) Input description' - engine_id: '- (Required) Input engine ID' - exposed_port: '- Port' - filter_section: '- (Optional) The filter section of logstash.conf' - flowgger: '- (Optional) Flowgger configuration' - hostname: '- Hostname' - input_id: '- Input ID' - input_section: '- (Required) The filter section of logstash.conf' - is_restart_required: '- Indicate if input need to be restarted' - log_format: '- Type of format to decode. One of "RFC5424", "LTSV", "GELF", "CAPNP"' - log_framing: '- Indicates how messages are delimited. One of "LINE", "NUL", "SYSLEN", "CAPNP"' - logstash: '- (Optional) Logstash configuration' - nb_instance: '- Number of instance running' - pattern_section: '- (Optional) The list of customs Grok patterns' - public_address: '- Input IP address' - service_name: '- (Required) service name' - ssl_certificate: '- Input SSL certificate' - status: '- init: configuration required, pending: ready to start, running: available' - stream_id: '- (Required) Associated Graylog stream' - title: '- (Required) Input title' - updated_at: '- Input last update' - importStatements: [] - dbaas_logs_input_engine.html.markdown: - subCategory: "" - description: 'dbaas_logs_input_engine.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_input_engine.html.markdown - title: dbaas_logs_input_engine.html.markdown - argumentDocs: - is_deprecated: '- Indicates if engine will soon not be supported.' - name: '- The name of the logs input engine.' - service_name: '- The service name. It''s the ID of your Logs Data Platform instance.' - version: '- Software version' + name: cloud_project_containerregistry_users.html Resource - terraform-provider-ovh + title: cloud_project_containerregistry_users.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dbaas_logs_output_graylog_stream.html.markdown: + cloud_project_database.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dbaas_logs_output_graylog_stream.html.markdownsubcategory : "Logs Data Platform"' - name: dbaas_logs_output_graylog_stream.html.markdown - title: dbaas_logs_output_graylog_stream.html.markdown - argumentDocs: - cold_storage_compression: '- Cold storage compression method' - cold_storage_content: '- ColdStorage content' - cold_storage_enabled: '- Is Cold storage enabled?' - cold_storage_notify_enabled: '- Notify on new Cold storage archive' - cold_storage_retention: '- Cold storage retention in year' - cold_storage_target: '- ColdStorage destination' - created_at: '- Stream creation' - description: '- Stream description' - indexing_enabled: '- Enable ES indexing' - indexing_max_size: '- Maximum indexing size (in GB)' - indexing_notify_enabled: '- If set, notify when size is near 80, 90 or 100 % of the maximum configured setting' - is_editable: '- Indicates if you are allowed to edit entry' - is_shareable: '- Indicates if you are allowed to share entry' - nb_alert_condition: '- Number of alert condition' - nb_archive: '- Number of coldstored archives' - parent_stream_id: '- Parent stream ID' - pause_indexing_on_max_size: '- If set, pause indexing when maximum size is reach' - retention_id: '- Retention ID' - service_name: '- The service name. It''s the ID of your Logs Data Platform instance.' - stream_id: '- Stream ID' - title: '- Stream description' - updated_at: '- Stream last update' - web_socket_enabled: '- Enable Websocket' - importStatements: [] - dedicated_ceph.html.markdown: - subCategory: "" - description: 'dedicated_ceph.html.markdownsubcategory : "Cloud Disk Array"' - name: dedicated_ceph.html.markdown - title: dedicated_ceph.html.markdown - argumentDocs: - ceph_mons: '- list of CEPH monitors IPs' - ceph_version: '- CEPH cluster version' - crush_tunables: '- CRUSH algorithm settings. Possible values' - label: '- CEPH cluster label' - region: '- cluster region' - service_name: '- (Required) The service name of the dedicated CEPH cluster.' - size: '- Cluster size in TB' - state: '- the state of the cluster' - status: '- the status of the service' - urn: '- URN of the CEPH instance' - importStatements: [] - dedicated_ceph_acl.markdown: - subCategory: "" - description: 'dedicated_ceph_acl.markdownsubcategory : "Cloud Disk Array"' - name: dedicated_ceph_acl.markdown - title: dedicated_ceph_acl.markdown - argumentDocs: - family: '- IP family. IPv4 or IPv6' - netmask: '- (Required) The network mask to apply' - network: '- (Required) The network IP to authorize' - service_name: '- (Required) The internal name of your dedicated CEPH' + name: cloud_project_database.html Resource - terraform-provider-ovh + title: cloud_project_database.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_installation_templates.html.markdown: + cloud_project_database_capabilities.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_installation_templates.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_installation_templates.html.markdown - title: dedicated_installation_templates.html.markdown - argumentDocs: - result: '- The list of installation templates IDs available for dedicated servers.' + name: cloud_project_database_capabilities.html Resource - terraform-provider-ovh + title: cloud_project_database_capabilities.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_nasha.html.markdown: + cloud_project_database_certificates.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_nasha.html.markdownsubcategory : "NAS-HA"' - name: dedicated_nasha.html.markdown - title: dedicated_nasha.html.markdown - argumentDocs: - can_create_partition: '- True, if partition creation is allowed on this HA-NAS' - custom_name: '- The name you give to the HA-NAS' - datacenter: '- area of HA-NAS' - disk_type: '- the disk type of the HA-NAS. Possible values are: hdd, ssd, nvme' - ip: '- Access IP of HA-NAS' - monitored: '- Send an email to customer if any issue is detected' - service_name: '- (Required) The service_name of your dedicated HA-NAS.' - urn: '- the URN of the HA-NAS instance' - zpool_capacity: '- percentage of HA-NAS space used in %' - zpool_size: '- the size of the HA-NAS in GB' - importStatements: [] - dedicated_nasha_partition.markdown: - subCategory: "" - description: 'dedicated_nasha_partition.markdownsubcategory : "NAS-HA"' - name: dedicated_nasha_partition.markdown - title: dedicated_nasha_partition.markdown - argumentDocs: - capacity: '- Percentage of partition space used in %' - description: '- A brief description of the partition' - name: '- (Required) name of the partition' - protocol: '- (Required) one of "NFS", "CIFS" or "NFS_CIFS"' - service_name: '- (Required) The internal name of your HA-NAS (it has to be ordered via OVHcloud interface)' - size: '- (Required) size of the partition in GB' - used_by_snapshots: '- Percentage of partition space used by snapshots in %' - importStatements: [] - dedicated_nasha_partition_access.markdown: - subCategory: "" - description: 'dedicated_nasha_partition_access.markdownsubcategory : "NAS-HA"' - name: dedicated_nasha_partition_access.markdown - title: dedicated_nasha_partition_access.markdown - argumentDocs: - ip: '- (Required) ip block in x.x.x.x/x format' - partition_name: '- (Required) name of the partition' - service_name: '- (Required) The internal name of your HA-NAS (it has to be ordered via OVHcloud interface)' - type: '- (Required) one of "readwrite", "readonly"' + name: cloud_project_database_certificates.html Resource - terraform-provider-ovh + title: cloud_project_database_certificates.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_nasha_partition_snapshot.markdown: + cloud_project_database_database.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_nasha_partition_snapshot.markdownsubcategory : "NAS-HA"' - name: dedicated_nasha_partition_snapshot.markdown - title: dedicated_nasha_partition_snapshot.markdown - argumentDocs: - partition_name: '- (Required) name of the partition' - service_name: '- (Required) The internal name of your HA-NAS (it has to be ordered via OVHcloud interface)' - type: '- (Required) Snapshot interval, allowed : day-1, day-2, day-3, day-7, hour-1, hour-6' + name: cloud_project_database_database.html Resource - terraform-provider-ovh + title: cloud_project_database_database.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_server.html.markdown: + cloud_project_database_databases.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_server.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server.html.markdown - title: dedicated_server.html.markdown - argumentDocs: - boot_id: '- Boot id of the server' - boot_script: '- Boot script of the server' - commercial_range: '- Dedicated server commercial range' - datacenter: '- Dedicated datacenter localisation (bhs1,bhs2,...)' - display_name: '- Dedicated server display name' - enabled: '- VirtualNetworkInterface activation state' - enabled_public_vnis: '- List of enabled public VNI uuids' - enabled_vrack_aggregation_vnis: '- List of enabled vrack_aggregation VNI uuids' - enabled_vrack_vnis: '- List of enabled vrack VNI uuids' - ip: '- Dedicated server ip (IPv4)' - ips: '- Dedicated server ip blocks' - link_speed: '- Link speed of the server' - mode: '- VirtualNetworkInterface mode (public,vrack,vrack_aggregation)' - monitoring: '- Icmp monitoring state' - name: '- Dedicated server name' - nics: '- NetworkInterfaceControllers bound to this VirtualNetworkInterface' - os: '- Operating system' - professional_use: '- Does this server have professional use option' - rack: '- Rack id of the server' - rescue_mail: '- Rescue mail of the server' - reverse: '- Dedicated server reverse' - root_device: '- Root device of the server' - server_id: '- Server id' - server_name: '- Server bound to this VirtualNetworkInterface' - service_name: '- (Required) The service_name of your dedicated server.' - state: '- Error, hacked, hackedBlocked, ok' - support_level: '- Dedicated server support level (critical, fastpath, gs, pro)' - urn: '- URN of the dedicated server instance' - uuid: '- VirtualNetworkInterface unique id' - vnis: '- The list of Virtualnetworkinterface associated with this server' - vrack: '- vRack name' - importStatements: [] - dedicated_server_boots.html.markdown: - subCategory: "" - description: 'dedicated_server_boots.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server_boots.html.markdown - title: dedicated_server_boots.html.markdown - argumentDocs: - boot_type: '- (Optional) Filter the value of bootType property (harddisk, rescue, ipxeCustomerScript, internal, network)' - kernel: '- (Optional) Filter the value of kernel property (iPXE script name)' - result: '- The list of dedicated server netboots.' - service_name: '- (Required) The internal name of your dedicated server.' + name: cloud_project_database_databases.html Resource - terraform-provider-ovh + title: cloud_project_database_databases.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_server_install_task.html.markdown: + cloud_project_database_integration.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_server_install_task.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server_install_task.html.markdown - title: dedicated_server_install_task.html.markdown - argumentDocs: - bootid_on_destroy: '- If set, reboot the server on the specified boot id during destroy phase.' - comment: '- Details of this task. (should be Install asked)' - details: '- see details block below.' - details.change_log: '- Template change log details.' - details.custom_hostname: '- Set up the server using the provided hostname instead of the default hostname.' - details.disk_group_id: '- Disk group id.' - details.install_rtm: '- set to true to install RTM.' - details.install_sql_server: '- set to true to install sql server (Windows template only).' - details.language: '- language.' - details.no_raid: '- set to true to disable RAID.' - details.post_installation_script_link: '- Indicate the URL where your postinstall customisation script is located.' - details.post_installation_script_return: '- Indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''.' - details.reset_hw_raid: '- set to true to make a hardware raid reset.' - details.soft_raid_devices: '- soft raid devices.' - details.ssh_key_name: '- Name of the ssh key that should be installed. Password login will be disabled.' - details.use_distrib_kernel: '- Use the distribution''s native kernel instead of the recommended OVHcloud Kernel.' - details.use_spla: '- set to true to use SPLA.' - done_date: '- Completion date in RFC3339 format.' - function: '- Function name (should be hardInstall).' - id: '- The task id' - last_update: '- Last update in RFC3339 format.' - partition_scheme_name: '- Partition scheme name.' - service_name: '- (Required) The service_name of your dedicated server.' - start_date: '- Task creation date in RFC3339 format.' - status: '- Task status (should be done)' - template_name: '- (Required) Template name.' - importStatements: [] - dedicated_server_reboot_task.html.markdown: - subCategory: "" - description: 'dedicated_server_reboot_task.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server_reboot_task.html.markdown - title: dedicated_server_reboot_task.html.markdown - argumentDocs: - comment: '- Details of this task. (should be Reboot asked)' - done_date: '- Completion date in RFC3339 format.' - function: '- Function name (should be hardReboot).' - id: '- The task id' - keepers: '- List of values tracked to trigger reboot, used also to form implicit dependencies.' - last_update: '- Last update in RFC3339 format.' - service_name: '- (Required) The service_name of your dedicated server.' - start_date: '- Task creation date in RFC3339 format.' - status: '- Task status (should be done)' - importStatements: [] - dedicated_server_specifications_hardware.html.markdown: - subCategory: "" - description: 'dedicated_server_specifications_hardware.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server_specifications_hardware.html.markdown - title: dedicated_server_specifications_hardware.html.markdown - argumentDocs: - boot_mode: '- Server boot mode' - cores_per_processor: '- Number of cores per processor' - default_hardware_raid_size: '- Default hardware raid size for this server' - default_hardware_raid_type: '- Default hardware raid type configured on this server' - description: '- Commercial name of this server' - disk_group_id: '- Identifier of this disk group' - disk_groups: '- Details about the groups of disks in the server' - disk_size: '- Disk capacity' - disk_type: '- Type of the disk (SSD, SATA, SAS, ...)' - expansion_cards: '- Details about the server''s expansion cards' - form_factor: '- Server form factor' - memory_size: '- RAM capacity' - motherboard: '- Server motherboard' - number_of_disks: '- Number of disks in this group' - number_of_processors: '- Number of processors in this dedicated server' - processor_architecture: '- Processor architecture bit' - processor_name: '- Processor name' - raid_controller: '- Raid controller, if any, managing this group of disks' - service_name: '- (Required) The internal name of your dedicated server.' - threads_per_processor: '- Number of threads per processor' - type: '- Expansion card type enum' - usb_keys: '- Capacity of the USB keys installed on your server, if any' - importStatements: [] - dedicated_server_update.html.markdown: - subCategory: "" - description: 'dedicated_server_update.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_server_update.html.markdown - title: dedicated_server_update.html.markdown - argumentDocs: - boot_id: '- boot id of the server' - boot_script: '- boot script of the server' - monitoring: '- Icmp monitoring state' - service_name: '- (Required) The service_name of your dedicated server.' - state: '- error, hacked, hackedBlocked, ok' + name: cloud_project_database_integration.html Resource - terraform-provider-ovh + title: cloud_project_database_integration.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - dedicated_servers.html.markdown: + cloud_project_database_integrations.html Resource - terraform-provider-ovh: subCategory: "" - description: 'dedicated_servers.html.markdownsubcategory : "Dedicated Server"' - name: dedicated_servers.html.markdown - title: dedicated_servers.html.markdown - argumentDocs: - result: '- The list of dedicated servers IDs associated with your OVHcloud Account.' + name: cloud_project_database_integrations.html Resource - terraform-provider-ovh + title: cloud_project_database_integrations.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - domain_zone.html.markdown: + cloud_project_database_ip_restriction.html Resource - terraform-provider-ovh: subCategory: "" - description: 'domain_zone.html.markdownsubcategory : "Domain names"' - name: domain_zone.html.markdown - title: domain_zone.html.markdown - argumentDocs: - dnssec_supported: '- Is DNSSEC supported by this zone' - has_dns_anycast: '- hasDnsAnycast flag of the DNS zone' - last_update: '- Last update date of the DNS zone' - name: '- (Required) The name of the domain zone.' - name_servers: '- Name servers that host the DNS zone' - urn: '- URN of the DNS zone' - importStatements: [] - hosting_privatedatabase.html.markdown: - subCategory: "" - description: 'hosting_privatedatabase.html.markdownsubcategory : "Web Cloud Private SQL"' - name: hosting_privatedatabase.html.markdown - title: hosting_privatedatabase.html.markdown - argumentDocs: - catalog_name: '- Catalog name' - configuration: '- (Optional) Representation of a configuration item for personalizing product' - cpu: '- Number of CPU on your private database' - datacenter: '- Datacenter where this private database is located' - date: '- date' - description: '- Custom description on your privatedatabase order.' - details: '- Information about a Bill entry' - display_name: '- Name displayed in customer panel for your private database' - domain: '- expiration date' - duration: '- (Required) duration.' - expiration_date: '- expiration date' - hostname: '- Private database hostname' - hostname_ftp: '- Private database FTP hostname' - id: '- Private database id' - infrastructure: '- Infrastructure where service was stored' - label: '- (Required) Identifier of the resource' - offer: '- Type of the private database offer' - order: '- Details about your Order' - order_detail_id: '- order detail id' - order_id: '- order id' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code.' - plan_option: ': Product Plan to order' - port: ': Private database service port' - port_ftp: ': Private database FTP port' - pricing_mode: '- (Required) Pricing model identifier' - quantity: '- quantity' - quota_size: ': Space allowed (in MB) on your private database' - quota_used: ': Sapce used (in MB) on your private database' - ram: ': Amount of ram (in MB) on your private database' - server: ': Private database server name' - service_name: ': Service name' - state: ': Private database state' - type: ': Private database type' - urn: '- URN of the private database, used when writing IAM policies' - value: '- (Required) Path to the resource in API.OVH.COM' - version: ': Private database available versions' - version_label: ': Private database version label' - version_number: ': Private database version number' - importStatements: [] - hosting_privatedatabase_database.html.markdown: - subCategory: "" - description: 'hosting_privatedatabase_database.html.markdownsubcategory : "Web Cloud Private SQL"' - name: hosting_privatedatabase_database.html.markdown - title: hosting_privatedatabase_database.html.markdown - argumentDocs: - database_name: '- (Required) Name of your new database' - service_name: '- The internal name of your private database.' + name: cloud_project_database_ip_restriction.html Resource - terraform-provider-ovh + title: cloud_project_database_ip_restriction.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - hosting_privatedatabase_user.html.markdown: + cloud_project_database_ip_restrictions.html Resource - terraform-provider-ovh: subCategory: "" - description: 'hosting_privatedatabase_user.html.markdownsubcategory : "Web Cloud Private SQL"' - name: hosting_privatedatabase_user.html.markdown - title: hosting_privatedatabase_user.html.markdown - argumentDocs: - password: '- (Required) Password for the new user (alphanumeric, minimum one number and 8 characters minimum)' - service_name: '- The internal name of your private database.' - user_name: '- (Required) User name used to connect on your databases' + name: cloud_project_database_ip_restrictions.html Resource - terraform-provider-ovh + title: cloud_project_database_ip_restrictions.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - hosting_privatedatabase_user_grant.html.markdown: + cloud_project_database_kafka_acl.html Resource - terraform-provider-ovh: subCategory: "" - description: 'hosting_privatedatabase_user_grant.html.markdownsubcategory : "Web Cloud Private SQL"' - name: hosting_privatedatabase_user_grant.html.markdown - title: hosting_privatedatabase_user_grant.html.markdown - argumentDocs: - database_name: '- (Required) Database name where add grant.' - grant: '- (Required) Database name where add grant. Values can be:' - service_name: '- The internal name of your private database.' - user_name: '- (Required) User name used to connect on your databases.' + name: cloud_project_database_kafka_acl.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_acl.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - hosting_privatedatabase_whitelist.html.markdown: + cloud_project_database_kafka_acls.html Resource - terraform-provider-ovh: subCategory: "" - description: 'hosting_privatedatabase_whitelist.html.markdownsubcategory : "Web Cloud Private SQL"' - name: hosting_privatedatabase_whitelist.html.markdown - title: hosting_privatedatabase_whitelist.html.markdown - argumentDocs: - ip: '- (Required) The whitelisted IP in your instance.' - name: '- (Required) Custom name for your Whitelisted IP.' - service: '- (Required) Authorize this IP to access service port. Values can be true or false' - service_name: '- The internal name of your private database.' - sftp: '- (Required) Authorize this IP to access SFTP port. Values can be true or false' + name: cloud_project_database_kafka_acls.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_acls.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - iam_permissions_group.html.markdown: + cloud_project_database_kafka_schemaregistryacl.html Resource - terraform-provider-ovh: subCategory: "" - description: 'iam_permissions_group.html.markdownsubcategory : "Account Management"' - name: iam_permissions_group.html.markdown - title: iam_permissions_group.html.markdown - argumentDocs: - allow: '- Set of actions allowed by the permissions group.' - created_at: '- Creation date of this group.' - deny: '- Set of actions that will be denied no matter what permissions group exists.' - description: '- Group description.' - except: '- Set of actions that will be subtracted from the allow list.' - name: '- Name of the permissions group.' - owner: '- Owner of the permissions group.' - read_only: '- Indicates that the permissions group is a default one.' - updated_at: '- Date of the last update of this group.' - urn: '- URN of the permissions group.' - importStatements: [] - iam_permissions_groups.markdown: - subCategory: "" - description: 'iam_permissions_groups.markdownsubcategory : "Account Management"' - name: iam_permissions_groups.markdown - title: iam_permissions_groups.markdown - argumentDocs: - allow: '- Set of actions allowed by the permissions group.' - created_at: '- Creation date of this group.' - deny: '- Set of actions that will always be denied even if it is explicitly allowed by a policy.' - description: '- Group description.' - except: '- Set of actions that will be subtracted from the allow list.' - name: '- Name of the permissions group.' - owner: '- Owner of the permissions group.' - read_only: '- Indicates that this is a default permissions group, managed by OVHcloud.' - updated_at: '- Date of the last update of this group.' - urn: '- URN of the permissions group.' - importStatements: [] - iam_policies.html.markdown: - subCategory: "" - description: 'iam_policies.html.markdownsubcategory : "Account Management"' - name: iam_policies.html.markdown - title: iam_policies.html.markdown - argumentDocs: - id: '- Hash of the list of the policy IDs.' - policies: '- List of the policies IDs.' + name: cloud_project_database_kafka_schemaregistryacl.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_schemaregistryacl.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - iam_policy.html.markdown: + cloud_project_database_kafka_schemaregistryacls.html Resource - terraform-provider-ovh: subCategory: "" - description: 'iam_policy.html.markdownsubcategory : "Account Management"' - name: iam_policy.html.markdown - title: iam_policy.html.markdown - argumentDocs: - allow: '- List of actions allowed on resources by identities' - created_at: '- Creation date of this group.' - deny: '- List of actions that will always be denied even if also allowed by this policy or another one.' - description: '- Description of the policy' - except: '- List of overrides of action that must not be allowed even if they are caught by allow. Only makes sens if allow contains wildcards.' - identities: '- List of identities affected by the policy' - name: '- Name of the policy, must be unique' - owner: '- Owner of the policy.' - permissions_groups: '- Set of permissions groups included in the policy. At evaluation, these permissions groups are each evaluated independently (notably, excepts actions only affect actions in the same permission group).' - read_only: '- Indicates that the policy is a default one.' - resources: '- List of resources affected by the policy' - updated_at: '- Date of the last update of this group.' - importStatements: [] - iam_reference_actions.html.markdown: - subCategory: "" - description: 'iam_reference_actions.html.markdownsubcategory : "Account Management"' - name: iam_reference_actions.html.markdown - title: iam_reference_actions.html.markdown - argumentDocs: - action: '- Name of the action' - actions: '- List of actions' - categories: '- List of the categories of the action' - description: '- Description of the action' - resource_type: '- Resource type the action is related to' - type: '- Kind of resource we want the actions for' - importStatements: [] - iam_reference_resource_type.markdown: - subCategory: "" - description: 'iam_reference_resource_type.markdownsubcategory : "Account Management"' - name: iam_reference_resource_type.markdown - title: iam_reference_resource_type.markdown - argumentDocs: - id: '- hash of the list of the resource types' - types: '- List of resource types' + name: cloud_project_database_kafka_schemaregistryacls.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_schemaregistryacls.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - iam_resource_group.html.markdown: + cloud_project_database_kafka_topic.html Resource - terraform-provider-ovh: subCategory: "" - description: 'iam_resource_group.html.markdownsubcategory : "Account Management"' - name: iam_resource_group.html.markdown - title: iam_resource_group.html.markdown - argumentDocs: - created_at: '- Date of the creation of the resource group' - id: '- Id of the resource group' - name: '- Name of the resource group' - owner: '- Name of the account owning the resource group' - read_only: '- Marks that the resource group is not editable. Usually means that this is a default resource group created by OVHcloud' - resources: '- Set of the URNs of the resources contained in the resource group. All urns must be ones of valid resources' - updated_at: '- Date of the last modification of the resource group' - urn: '- URN of the resource group, used when writing policies' - importStatements: [] - iam_resource_groups.html.markdown: - subCategory: "" - description: 'iam_resource_groups.html.markdownsubcategory : "Account Management"' - name: iam_resource_groups.html.markdown - title: iam_resource_groups.html.markdown - argumentDocs: - id: '- Hash of the list of the resource groups IDs.' - resource_groups: '- List of the resource groups IDs.' + name: cloud_project_database_kafka_topic.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_topic.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - ip_move.html.markdown: + cloud_project_database_kafka_topics.html Resource - terraform-provider-ovh: subCategory: "" - description: 'ip_move.html.markdownsubcategory : "Additional IP"' - name: ip_move.html.markdown - title: ip_move.html.markdown - argumentDocs: - can_be_terminated: '- Whether IP service can be terminated' - country: '- Country' - description: '- Description attached to the IP' - ip: '- (Required) IP block that we want to attach to a different service' - organisation_id: '- IP block organisation Id' - routed_to: |- - - (Required) Service to route the IP to. If null, the IP will be parked - instead of moved - service_name: '- (Required) Name of the service to route the IP to. IP will be parked if this value is an empty string' - task_start_date: '- Starting date and time field of the current IP task that is in charge of changing the service the IP is attached to' - task_status: '- Status field of the current IP task that is in charge of changing the service the IP is attached to' - type: '- Possible values for ip type' - importStatements: [] - ip_reverse.html.markdown: - subCategory: "" - description: 'ip_reverse.html.markdownsubcategory : "Additional IP"' - name: ip_reverse.html.markdown - title: ip_reverse.html.markdown - argumentDocs: - ip: '- (Required) The IP block to which the IP belongs' - ip_reverse: '- (Required) The IP to set the reverse of' - reverse: '- (Required) The value of the reverse' + name: cloud_project_database_kafka_topics.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_topics.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - ip_service.html.markdown: + cloud_project_database_kafka_user_access.html Resource - terraform-provider-ovh: subCategory: "" - description: 'ip_service.html.markdownsubcategory : "Additional IP"' - name: ip_service.html.markdown - title: ip_service.html.markdown - argumentDocs: - can_be_terminated: '- can be terminated' - catalog_name: '- Catalog name' - configuration: '- (Optional) Representation of a configuration item for personalizing product' - country: '- country' - date: '- date' - description: '- Custom description on your ip.' - details: '- Information about a Bill entry' - domain: '- expiration date' - duration: '- (Required) duration' - expiration_date: '- expiration date' - ip: '- ip block' - label: '- (Required) Identifier of the resource' - order: '- Details about an Order' - order_detail_id: '- order detail id' - order_id: '- order id' - organisation_id: '- IP block organisation Id' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code' - plan_option: '- (Optional) Product Plan to order' - pricing_mode: '- (Required) Pricing model identifier' - quantity: '- quantity' - routed_to: '- Routage information' - service_name: '- Service where ip is routed to' - type: '- Possible values for ip type' - value: '- (Required) Path to the resource in API.OVH.COM' - importStatements: [] - iploadbalancing.html.markdown: - subCategory: "" - description: 'iploadbalancing.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing.html.markdown - title: iploadbalancing.html.markdown - argumentDocs: - catalog_name: '- Catalog name' - configuration: '- (Optional) Representation of a configuration item for personalizing product' - date: '- date' - description: '- description' - details: '- Information about a Bill entry' - display_name: '- Set the name displayed in ManagerV6 for your iplb (max 50 chars)' - domain: '- expiration date' - duration: '- (Required) duration' - expiration_date: '- expiration date' - ip_loadbalancing: '- Your IP load balancing' - ipv4: '- The IPV4 associated to your IP load balancing' - ipv6: '- The IPV6 associated to your IP load balancing. DEPRECATED.' - label: '- (Required) Identifier of the resource' - metrics_token: '- The metrics token associated with your IP load balancing' - name: '- The zone three letter code' - offer: '- The offer of your IP load balancing' - order: '- Details about an Order' - order_detail_id: '- order detail id' - order_id: '- order id' - orderable_zone: '- Available additional zone for your Load Balancer' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code' - plan_option: '- (Optional) Product Plan to order' - pricing_mode: '- (Required) Pricing model identifier' - quantity: '- quantity' - service_name: '- The internal name of your IP load balancing' - ssl_configuration: '- Modern oldest compatible clients : Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8. Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7. Intermediate if null. one of "intermediate", "modern".' - state: '- Current state of your IP' - urn: '- URN of the load balancer, used when writing IAM policies' - value: '- (Required) Path to the resource in API.OVH.COM' - vrack_eligibility: '- Vrack eligibility' - vrack_name: '- Name of the vRack on which the current Load Balancer is attached to, as it is named on vRack product' - zone: '- Location where your service is' - importStatements: [] - iploadbalancing_http_farm.html.markdown: - subCategory: "" - description: 'iploadbalancing_http_farm.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_http_farm.html.markdown - title: iploadbalancing_http_farm.html.markdown - argumentDocs: - balance: '- Load balancing algorithm. roundrobin if null (first, leastconn, roundrobin, source)' - display_name: '- Readable label for loadbalancer farm' - force_ssl: '- Force use of SSL (TLS)' - interval: '- probe interval, Value between 30 and 3600 seconds, default 30' - match: '- What to match pattern against (contains, default, internal, matches, status)' - method: '- HTTP probe method (GET, HEAD, OPTIONS, internal)' - negate: '- Negate probe result' - pattern: '- Pattern to match against match' - port: '- Port attached to your farm ([1..49151]). Inherited from frontend if null' - probe: '- define a backend healthcheck probe' - service_name: '- (Required) The internal name of your IP load balancing' - stickiness: "- \tStickiness type. No stickiness if null (sourceIp, cookie)" - type: '- (Required) Valid values : http, internal, mysql, oco, pgsql, smtp, tcp' - url: '- URL for HTTP probe type.' - vrack_network_id: '- Internal Load Balancer identifier of the vRack private network to attach to your farm, mandatory when your Load Balancer is attached to a vRack' - zone: '- (Required) Zone where the farm will be defined (ie. GRA, BHS also supports ALL)' - importStatements: [] - iploadbalancing_http_farm_server.html.markdown: - subCategory: "" - description: 'iploadbalancing_http_farm_server.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_http_farm_server.html.markdown - title: iploadbalancing_http_farm_server.html.markdown - argumentDocs: - address: '- Address of the backend server (IP from either internal or OVHcloud network)' - backup: '- is it a backup server used in case of failure of all the non-backup backends' - cookie: '- Value of the stickiness cookie used for this backend.' - display_name: '- Label for the server' - farm_id: '- ID of the farm this server is attached to' - on_marked_down: '- enable action when backend marked down. (shutdown-sessions)' - port: '- Port that backend will respond on' - probe: '- defines if backend will be probed to determine health and keep as active in farm if healthy' - proxy_protocol_version: '- version of the PROXY protocol used to pass origin connection information from loadbalancer to receiving service (v1, v2, v2-ssl, v2-ssl-cn)' - service_name: '- (Required) The internal name of your IP load balancing' - ssl: '- is the connection ciphered with SSL (TLS)' - status: '- backend status - active or inactive' - weight: '- used in loadbalancing algorithm' - importStatements: [] - iploadbalancing_http_frontend.html.markdown: - subCategory: "" - description: 'iploadbalancing_http_frontend.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_http_frontend.html.markdown - title: iploadbalancing_http_frontend.html.markdown - argumentDocs: - allowed_source: '- Restrict IP Load Balancing access to these ip block. No restriction if null. List of IP blocks.' - dedicated_ipfo: '- Only attach frontend on these ip. No restriction if null. List of Ip blocks.' - default_farm_id: '- Default TCP Farm of your frontend' - default_ssl_id: '- Default ssl served to your customer' - disabled: '- Disable your frontend. Default: ''false''' - display_name: '- Human readable name for your frontend, this field is for you' - hsts: '- HTTP Strict Transport Security. Default: ''false''' - http_header: '- HTTP headers to add to the frontend. List of string.' - id: '- Id of your frontend' - port: |- - - Port(s) attached to your frontend. Supports single port (numerical value), - range (2 dash-delimited increasing ports) and comma-separated list of 'single port' - and/or 'range'. Each port must be in the [1;49151] range - redirect_location: '- Redirection HTTP''' - service_name: '- (Required) The internal name of your IP load balancing' - ssl: '- SSL deciphering. Default: ''false''' - zone: '- (Required) Zone where the frontend will be defined (ie. gra, bhs also supports all)' - importStatements: [] - iploadbalancing_http_route.html.markdown: - subCategory: "" - description: 'iploadbalancing_http_route.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_http_route.html.markdown - title: iploadbalancing_http_route.html.markdown - argumentDocs: - action: '- (Required) Action triggered when all rules match' - display_name: '- Human readable name for your route, this field is for you' - field: '- Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules' - frontend_id: '- Route traffic for this frontend' - match: '- Matching operator. Not all operators are available for all fields. See "availableRules"' - negate: '- Invert the matching operator effect' - pattern: '- Value to match against this match. Interpretation if this field depends on the match and field' - rule_id: '- Id of your rule' - rules: '- List of rules to match to trigger action' - service_name: '- (Required) The internal name of your IP load balancing' - status: '- HTTP status code for "redirect" and "reject" actions' - sub_field: '- Name of sub-field, if applicable. This may be a Cookie or Header name for instance' - target: '- Farm ID for "farm" action type or URL template for "redirect" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target' - type: '- (Required) Action to trigger if all the rules of this route matches' - weight: '- Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action' - importStatements: [] - iploadbalancing_http_route_rule.html.markdown: - subCategory: "" - description: 'iploadbalancing_http_route_rule.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_http_route_rule.html.markdown - title: iploadbalancing_http_route_rule.html.markdown - argumentDocs: - display_name: '- Human readable name for your rule, this field is for you' - field: '- (Required) Name of the field to match like "protocol" or "host". See "/ipLoadbalancing/{serviceName}/availableRouteRules" for a list of available rules' - match: '- (Required) Matching operator. Not all operators are available for all fields. See "/ipLoadbalancing/{serviceName}/availableRouteRules"' - negate: '- Invert the matching operator effect' - pattern: '- Value to match against this match. Interpretation if this field depends on the match and field' - route_id: '- (Required) The route to apply this rule' - service_name: '- (Required) The internal name of your IP load balancing' - sub_field: '- Name of sub-field, if applicable. This may be a Cookie or Header name for instance' - importStatements: [] - iploadbalancing_refresh.html.markdown: - subCategory: "" - description: 'iploadbalancing_refresh.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_refresh.html.markdown - title: iploadbalancing_refresh.html.markdown - argumentDocs: - keepers: '- List of values tracked to trigger refresh, used also to form implicit dependencies' - service_name: '- (Required) The internal name of your IP load balancing' + name: cloud_project_database_kafka_user_access.html Resource - terraform-provider-ovh + title: cloud_project_database_kafka_user_access.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - iploadbalancing_tcp_farm.html.markdown: + cloud_project_database_log_subscription.html Resource - terraform-provider-ovh: subCategory: "" - description: 'iploadbalancing_tcp_farm.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_tcp_farm.html.markdown - title: iploadbalancing_tcp_farm.html.markdown - argumentDocs: - balance: '- Load balancing algorithm. roundrobin if null (first, leastconn, roundrobin, source)' - display_name: '- Readable label for loadbalancer farm' - force_ssl: '- Force use of SSL (TLS)' - interval: '- probe interval, Value between 30 and 3600 seconds, default 30' - match: '- What to match pattern against (contains, default, internal, matches, status)' - method: '- HTTP probe method (GET, HEAD, OPTIONS, internal)' - negate: '- Negate probe result' - pattern: '- Pattern to match against match' - port: '- Port attached to your farm ([1..49151]). Inherited from frontend if null' - probe: '- define a backend healthcheck probe' - service_name: '- (Required) The internal name of your IP load balancing' - stickiness: "- \tStickiness type. No stickiness if null (sourceIp)" - type: '- (Required) Valid values : http, internal, mysql, oco, pgsql, smtp, tcp' - url: '- URL for HTTP probe type.' - vrack_network_id: '- Internal Load Balancer identifier of the vRack private network to attach to your farm, mandatory when your Load Balancer is attached to a vRack' - zone: '- (Required) Zone where the farm will be defined (ie. GRA, BHS also supports ALL)' - importStatements: [] - iploadbalancing_tcp_farm_server.html.markdown: - subCategory: "" - description: 'iploadbalancing_tcp_farm_server.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_tcp_farm_server.html.markdown - title: iploadbalancing_tcp_farm_server.html.markdown - argumentDocs: - address: '- Address of the backend server (IP from either internal or OVHcloud network)' - backup: '- is it a backup server used in case of failure of all the non-backup backends' - cookie: '- Value of the stickiness cookie used for this backend.' - display_name: '- Label for the server' - farm_id: '- ID of the farm this server is attached to' - on_marked_down: '- enable action when backend marked down. (shutdown-sessions)' - port: '- Port that backend will respond on' - probe: '- defines if backend will be probed to determine health and keep as active in farm if healthy' - proxy_protocol_version: '- version of the PROXY protocol used to pass origin connection information from loadbalancer to receiving service (v1, v2, v2-ssl, v2-ssl-cn)' - service_name: '- (Required) The internal name of your IP load balancing' - ssl: '- is the connection ciphered with SSL (TLS)' - status: '- backend status - active or inactive' - weight: '- used in loadbalancing algorithm' - importStatements: [] - iploadbalancing_tcp_frontend.html.markdown: - subCategory: "" - description: 'iploadbalancing_tcp_frontend.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_tcp_frontend.html.markdown - title: iploadbalancing_tcp_frontend.html.markdown - argumentDocs: - allowed_source: '- Restrict IP Load Balancing access to these ip block. No restriction if null. List of IP blocks.' - dedicated_ipfo: '- Only attach frontend on these ip. No restriction if null. List of Ip blocks.' - default_farm_id: '- Default TCP Farm of your frontend' - default_ssl_id: '- Default ssl served to your customer' - disabled: '- Disable your frontend. Default: ''false''' - display_name: '- Human readable name for your frontend, this field is for you' - id: '- Id of your frontend' - port: |- - - Port(s) attached to your frontend. Supports single port (numerical value), - range (2 dash-delimited increasing ports) and comma-separated list of 'single port' - and/or 'range'. Each port must be in the [1;49151] range - service_name: '- (Required) The internal name of your IP load balancing' - ssl: '- SSL deciphering. Default: ''false''' - zone: '- (Required) Zone where the frontend will be defined (ie. gra, bhs also supports all)' - importStatements: [] - iploadbalancing_tcp_route.html.markdown: - subCategory: "" - description: 'iploadbalancing_tcp_route.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_tcp_route.html.markdown - title: iploadbalancing_tcp_route.html.markdown - argumentDocs: - action: '- (Required) Action triggered when all rules match' - display_name: '- Human readable name for your route, this field is for you' - field: '- Name of the field to match like "protocol" or "host" "/ipLoadbalancing/{serviceName}/route/availableRules" for a list of available rules' - frontend_id: '- Route traffic for this frontend' - match: '- Matching operator. Not all operators are available for all fields. See "availableRules"' - negate: '- Invert the matching operator effect' - pattern: '- Value to match against this match. Interpretation if this field depends on the match and field' - rule_id: '- Id of your rule' - rules: '- List of rules to match to trigger action' - service_name: '- (Required) The internal name of your IP load balancing' - status: '- Route status. Routes in "ok" state are ready to operate' - sub_field: '- Name of sub-field, if applicable. This may be a Cookie or Header name for instance' - target: '- Farm ID for "farm" action type, empty for others.' - type: '- (Required) Action to trigger if all the rules of this route matches' - weight: '- Route priority ([0..255]). 0 if null. Highest priority routes are evaluated first. Only the first matching route will trigger an action' - importStatements: [] - iploadbalancing_tcp_route_rule.html.markdown: - subCategory: "" - description: 'iploadbalancing_tcp_route_rule.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_tcp_route_rule.html.markdown - title: iploadbalancing_tcp_route_rule.html.markdown - argumentDocs: - display_name: '- Human readable name for your rule, this field is for you' - field: '- (Required) Name of the field to match like "protocol" or "host". See "/ipLoadbalancing/{serviceName}/availableRouteRules" for a list of available rules' - match: '- (Required) Matching operator. Not all operators are available for all fields. See "/ipLoadbalancing/{serviceName}/availableRouteRules"' - negate: '- Invert the matching operator effect' - pattern: '- Value to match against this match. Interpretation if this field depends on the match and field' - route_id: '- (Required) The route to apply this rule' - service_name: '- (Required) The internal name of your IP load balancing' - sub_field: '- Name of sub-field, if applicable. This may be a Cookie or Header name for instance' - importStatements: [] - iploadbalancing_vrack_network.html.markdown: - subCategory: "" - description: 'iploadbalancing_vrack_network.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_vrack_network.html.markdown - title: iploadbalancing_vrack_network.html.markdown - argumentDocs: - display_name: '- Human readable name for your vrack network' - farm_id: '- This attribute is there for documentation purpose only and isnt passed to the OVHcloud API as it may conflicts with http/tcp farms vrack_network_id attribute' - nat_ip: '- (Required) An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer' - service_name: '- (Required) The internal name of your IP load balancing' - subnet: '- (Required) IP block of the private network in the vRack' - vlan: '- VLAN of the private network in the vRack. 0 if the private network is not in a VLAN' - vrack_network_id: '- (Required) Internal Load Balancer identifier of the vRack private network' - importStatements: [] - iploadbalancing_vrack_networks.html.markdown: - subCategory: "" - description: 'iploadbalancing_vrack_networks.html.markdownsubcategory : "Load Balancer (IPLB)"' - name: iploadbalancing_vrack_networks.html.markdown - title: iploadbalancing_vrack_networks.html.markdown - argumentDocs: - result: '- The list of vrack network ids.' - service_name: '- (Required) The internal name of your IP load balancing' - subnet: '- Filters networks on the subnet.' - vlan_id: '- Filters networks on the vlan id.' + name: cloud_project_database_log_subscription.html Resource - terraform-provider-ovh + title: cloud_project_database_log_subscription.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me.html.markdown: + cloud_project_database_log_subscriptions.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me.html.markdownsubcategory : "Account Management"' - name: me.html.markdown - title: me.html.markdown - argumentDocs: - address: ': Postal address of the account' - area: ': Area of the account' - birth_city: ': City of birth' - birth_day: ': Birth date' - city: ': City of the account' - code: ': Currency code used by this account (e.g EUR, USD, ...)' - company_national_identification_number: ': This is the national identification number of the company that possess this account' - corporation_type: ': Type of corporation' - country: ': Country of the account' - currency: ':' - customer_code: ': The customer code of this account (a numerical value used for identification when contacting support via phone call)' - email: ': Email address' - fax: ': Fax number' - firstname: ': First name' - italian_sdi: ': Italian SDI' - language: ': Preferred language for this account' - legalform: ': Legal form of the account' - name: ': Name of the account holder' - national_identification_number: ': National Identification Number of this account' - nichandle: ': Nic handle / customer identifier' - organisation: ': Name of the organisation for this account' - ovh_company: ': OVHcloud subsidiary' - ovh_subsidiary: ': OVHcloud subsidiary' - phone: ': Phone number' - phone_country: ': Country code of the phone number' - sex: ': Gender of the account holder' - spare_email: ': Backup email address' - state: ': State of the postal address' - symbol: ': Currency symbol used by this account (e.g €, $, ...)' - urn: ': The resource URN of the account, to be used when writing IAM policies' - vat: ': VAT number' - zip: ': Zipcode of the address' - importStatements: [] - me_api_oauth2_client.html.markdown: - subCategory: "" - description: 'me_api_oauth2_client.html.markdownsubcategory : "Account Management"' - name: me_api_oauth2_client.html.markdown - title: me_api_oauth2_client.html.markdown - argumentDocs: - callback_urls: '- List of callback urls when configuring the AUTHORIZATION_CODE flow.' - client_id: '- Client ID of the created service account.' - client_secret: '- Client secret of the created service account.' - description: '- OAuth2 client description.' - flow: '- The OAuth2 flow to use. AUTHORIZATION_CODE or CLIENT_CREDENTIALS are supported at the moment.' - name: '- OAuth2 client name.' - importStatements: [] - me_api_oauth2_client.markdown: - subCategory: "" - description: 'me_api_oauth2_client.markdownsubcategory : "Account Management"' - name: me_api_oauth2_client.markdown - title: me_api_oauth2_client.markdown - argumentDocs: - callback_urls: '- List of callback urls when configuring the AUTHORIZATION_CODE flow.' - client_id: '- Client ID of an existing OAuth2 service account.' - description: '- OAuth2 client description.' - flow: '- The OAuth2 flow to use. AUTHORIZATION_CODE or CLIENT_CREDENTIALS are supported at the moment.' - name: '- OAuth2 client name.' + name: cloud_project_database_log_subscriptions.html Resource - terraform-provider-ovh + title: cloud_project_database_log_subscriptions.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_api_oauth2_clients.markdown: + cloud_project_database_m3db_namespace.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_api_oauth2_clients.markdownsubcategory : "Account Management"' - name: me_api_oauth2_clients.markdown - title: me_api_oauth2_clients.markdown - argumentDocs: - client_ids: '- The list of all the existing client IDs.' + name: cloud_project_database_m3db_namespace.html Resource - terraform-provider-ovh + title: cloud_project_database_m3db_namespace.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_identity_group.html.markdown: + cloud_project_database_m3db_namespaces.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_identity_group.html.markdownsubcategory : "Account Management"' - name: me_identity_group.html.markdown - title: me_identity_group.html.markdown - argumentDocs: - creation: '- Creation date of this group.' - default_group: '- Is the group a default and immutable one.' - description: '- Group description.' - last_update: '- Date of the last update of this group.' - name: '- Group name.' - role: '- Role associated with the group. Valid roles are ADMIN, REGULAR, UNPRIVILEGED, and NONE.' - urn: '- URN of the user group, used when writing IAM policies' - importStatements: [] - me_identity_group.markdown: - subCategory: "" - description: 'me_identity_group.markdownsubcategory : "Account Management"' - name: me_identity_group.markdown - title: me_identity_group.markdown - argumentDocs: - creation: '- Creation date of this group.' - default_group: '- Is the group a default and immutable one.' - description: '- Group description.' - last_update: '- Date of the last update of this group.' - name: '- Group name.' - role: '- Role associated with the group. Valid roles are ADMIN, REGULAR, UNPRIVILEGED, and NONE.' - urn: '- Identity URN of the group.' - importStatements: [] - me_identity_groups.markdown: - subCategory: "" - description: 'me_identity_groups.markdownsubcategory : "Account Management"' - name: me_identity_groups.markdown - title: me_identity_groups.markdown - argumentDocs: - groups: '- The list of the group names of all the identity groups.' + name: cloud_project_database_m3db_namespaces.html Resource - terraform-provider-ovh + title: cloud_project_database_m3db_namespaces.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_identity_user.html.markdown: + cloud_project_database_m3db_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_identity_user.html.markdownsubcategory : "Account Management"' - name: me_identity_user.html.markdown - title: me_identity_user.html.markdown - argumentDocs: - creation: '- Creation date of this user.' - description: '- User description.' - email: '- User''s email.' - group: '- User''s group.' - last_update: '- Last update of this user.' - login: '- User''s login suffix.' - password: '- User''s password.' - password_last_update: '- When the user changed his password for the last time.' - status: '- Current user''s status.' - urn: '- URN of the user, used when writing IAM policies' - importStatements: [] - me_identity_user.markdown: - subCategory: "" - description: 'me_identity_user.markdownsubcategory : "Account Management"' - name: me_identity_user.markdown - title: me_identity_user.markdown - argumentDocs: - creation: '- Creation date of this user.' - description: '- User description.' - email: '- User''s email.' - group: '- User''s group.' - last_update: '- Last update of this user.' - login: '- User''s login suffix.' - password_last_update: '- When the user changed his password for the last time.' - status: '- Current user''s status.' - urn: '- User''s identity URN.' - user: '- (Required) User''s login.' - importStatements: [] - me_identity_users.markdown: - subCategory: "" - description: 'me_identity_users.markdownsubcategory : "Account Management"' - name: me_identity_users.markdown - title: me_identity_users.markdown - argumentDocs: - users: '- The list of the user''s logins of all the identity users.' + name: cloud_project_database_m3db_user.html Resource - terraform-provider-ovh + title: cloud_project_database_m3db_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_installation_template.html.markdown: + cloud_project_database_mongodb_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_installation_template.html.markdownsubcategory : "Dedicated Server"' - name: me_installation_template.html.markdown - title: me_installation_template.html.markdown - argumentDocs: - available_languages: ': List of all language available for this template.' - base_template_name: ': (Required) The name of an existing installation template, choose one among the list given by ovh_dedicated_installation_templates datasource.' - beta: ': This distribution is new and, although tested and functional, may still display odd behaviour.' - bit_format: ': This template bit format (32 or 64).' - category: ': Category of this template (informative only). (basic, customer, hosting, other, readyToUse, virtualisation).' - change_log: ': (DEPRECATED) Template change log details.' - custom_hostname: ': Set up the server using the provided hostname instead of the default hostname.' - customization: ':' - default_language: ': (Required) The default language of this template.' - deprecated: ': is this distribution deprecated.' - description: ': information about this template.' - distribution: ': the distribution this template is based on.' - family: ': this template family type (bsd,linux,solaris,windows).' - filesystems: ': Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs).' - hard_raid_configuration: ': This distribution supports hardware raid configuration through the OVHcloud API.' - id: ': This template name.' - last_modification: ': Date of last modification of the base image.' - post_installation_script_link: ': Indicate the URL where your postinstall customisation script is located.' - post_installation_script_return: ': indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''.' - rating: ': (DEPRECATED) Rating.' - remove_default_partition_schemes: ': (Required) Remove default partition schemes at creation.' - ssh_key_name: ': Name of the ssh key that should be installed. Password login will be disabled.' - supports_distribution_kernel: ': This distribution supports installation using the distribution''s native kernel instead of the recommended OVHcloud kernel.' - supports_rtm: ': This distribution supports RTM software.' - supports_sql_server: ': This distribution supports the microsoft SQL server.' - template_name: ': (Required) This template name.' - use_distribution_kernel: ': Use the distribution''s native kernel instead of the recommended OV' - importStatements: [] - me_installation_template_partition_scheme.html.markdown: - subCategory: "" - description: 'me_installation_template_partition_scheme.html.markdownsubcategory : "Dedicated Server"' - name: me_installation_template_partition_scheme.html.markdown - title: me_installation_template_partition_scheme.html.markdown - argumentDocs: - id: ': a fake id associated with this partition scheme formatted as follow: template_name/name' - name: ': (Required) (Required) This partition scheme name.' - priority: ': on a reinstall, if a partitioning scheme is not specified, the one with the higher priority will be used by default, among all the compatible partitioning schemes (given the underlying hardware specifications).' - template_name: ': (Required) The template name of the partition scheme.' + name: cloud_project_database_mongodb_user.html Resource - terraform-provider-ovh + title: cloud_project_database_mongodb_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_installation_template_partition_scheme_hardware_raid.html.markdown: + cloud_project_database_opensearch_pattern.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_installation_template_partition_scheme_hardware_raid.html.markdownsubcategory : "Dedicated Server"' - name: me_installation_template_partition_scheme_hardware_raid.html.markdown - title: me_installation_template_partition_scheme_hardware_raid.html.markdown - argumentDocs: - disks: ': Disk List. Syntax is cX:dY for disks and [cX:dY,cX:dY] for groups. With X and Y resp. the controller id and the disk id.' - id: ': a fake id associated with this partition scheme hardware raid group formatted as follow: template_name/scheme_name/name' - mode: ': RAID mode (raid0, raid1, raid10, raid5, raid50, raid6, raid60).' - name: ': Hardware RAID name.' - scheme_name: ': (Required) The partition scheme name.' - step: ': Specifies the creation order of the hardware RAID.' - template_name: ': (Required) The template name of the partition scheme.' - importStatements: [] - me_installation_template_partition_scheme_partition.html.markdown: - subCategory: "" - description: 'me_installation_template_partition_scheme_partition.html.markdownsubcategory : "Dedicated Server"' - name: me_installation_template_partition_scheme_partition.html.markdown - title: me_installation_template_partition_scheme_partition.html.markdown - argumentDocs: - filesystem: ': Partition filesystem. Enum with possibles values:' - id: ': a fake id associated with this partition scheme partition formatted as follow: template_name/scheme_name/mountpoint' - mountpoint: ': (Required) partition mount point.' - order: ': step or order. specifies the creation order of the partition on the disk' - raid: ': raid partition type. Enum with possible values:' - scheme_name: ': (Required) The partition scheme name.' - size: ': size of partition in MB, 0 => rest of the space.' - template_name: ': (Required) The template name of the partition scheme.' - type: ': partition type. Enum with possible values:' - volume_name: ': The volume name needed for proxmox distribution' - importStatements: [] - me_installation_templates.html.markdown: - subCategory: "" - description: 'me_installation_templates.html.markdownsubcategory : "Dedicated Server"' - name: me_installation_templates.html.markdown - title: me_installation_templates.html.markdown - argumentDocs: - result: '- The list of custom installation templates IDs available for dedicated servers.' + name: cloud_project_database_opensearch_pattern.html Resource - terraform-provider-ovh + title: cloud_project_database_opensearch_pattern.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_paymentmean_bankaccount.markdown: + cloud_project_database_opensearch_patterns.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_paymentmean_bankaccount.markdownsubcategory : "Account Management"' - name: me_paymentmean_bankaccount.markdown - title: me_paymentmean_bankaccount.markdown - argumentDocs: - default: |- - - a boolean which tells if the retrieved bank account - is marked as the default payment mean - description: '- the description attribute of the bank account' - description_regexp: |- - - (Optional) a regexp used to filter bank accounts - on their description attributes. - state: |- - - (Optional) Filter bank accounts on their state attribute. - Can be "blockedForIncidents", "valid", "pendingValidation" - use_default: '- (Optional) Retrieve bank account marked as default payment mean.' - use_oldest: |- - - (Optional) Retrieve oldest bank account. - project. - importStatements: [] - me_paymentmean_creditcard.markdown: - subCategory: "" - description: 'me_paymentmean_creditcard.markdownsubcategory : "Account Management"' - name: me_paymentmean_creditcard.markdown - title: me_paymentmean_creditcard.markdown - argumentDocs: - default: |- - - a boolean which tells if the retrieved credit card - is marked as the default payment mean - description: '- the description attribute of the credit card' - description_regexp: |- - - (Optional) a regexp used to filter credit cards - on their description attributes. - state: '- the state attribute of the credit card' - states: |- - - (Optional) Filter credit cards on their state attribute. - Can be "expired", "valid", "tooManyFailures" - use_default: '- (Optional) Retrieve credit card marked as default payment mean.' - use_last_to_expire: |- - - (Optional) Retrieve the credit card that will be the last - to expire according to its expiration date. - importStatements: [] - me_ssh_key.html.markdown: - subCategory: "" - description: 'me_ssh_key.html.markdownsubcategory : "Account Management"' - name: me_ssh_key.html.markdown - title: me_ssh_key.html.markdown - argumentDocs: - default: '- True when this public SSH key is used for rescue mode and reinstallations.' - key: '- (Required) The content of the public key in the form "ssh-algo content", e.g. "ssh-ed25519 AAAAC3...".' - key_name: '- (Required) The friendly name of this SSH key.' + name: cloud_project_database_opensearch_patterns.html Resource - terraform-provider-ovh + title: cloud_project_database_opensearch_patterns.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_ssh_key.markdown: + cloud_project_database_opensearch_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_ssh_key.markdownsubcategory : "Account Management"' - name: me_ssh_key.markdown - title: me_ssh_key.markdown - argumentDocs: - default: '- True when this public SSH key is used for rescue mode and reinstallations.' - key: |- - - The content of the public key. - E.g.: "ssh-ed25519 AAAAC3..." - key_name: '- (Required) The name of the SSH key.' + name: cloud_project_database_opensearch_user.html Resource - terraform-provider-ovh + title: cloud_project_database_opensearch_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - me_ssh_keys.markdown: + cloud_project_database_postgresql_connection_pool.html Resource - terraform-provider-ovh: subCategory: "" - description: 'me_ssh_keys.markdownsubcategory : "Account Management"' - name: me_ssh_keys.markdown - title: me_ssh_keys.markdown - argumentDocs: - names: '- The list of the names of all the SSH keys.' + name: cloud_project_database_postgresql_connection_pool.html Resource - terraform-provider-ovh + title: cloud_project_database_postgresql_connection_pool.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - order_cart.html.markdown: + cloud_project_database_postgresql_connection_pools.html Resource - terraform-provider-ovh: subCategory: "" - description: 'order_cart.html.markdownsubcategory : "Order"' - name: order_cart.html.markdown - title: order_cart.html.markdown - argumentDocs: - assign: '- Assign a shopping cart to a logged in client. Values can be true or false.' - cart_id: '- Cart identifier' - description: '- Description of your cart' - expire: '- Expiration time (format: 2006-01-02T15:04:05+00:00)' - items: '- Items of your cart' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - read_only: '- Indicates if the cart has already been validated' - importStatements: [] - order_cart_product.html.markdown: - subCategory: "" - description: 'order_cart_product.html.markdownsubcategory : "Order"' - name: order_cart_product.html.markdown - title: order_cart_product.html.markdown - argumentDocs: - capacities: '- Capacities of the pricing (type of pricing)' - cart_id: '- (Required) Cart identifier' - currency_code: '- Currency code' - description: '- Description of the pricing' - duration: '- Duration for ordering the product' - interval: '- Interval of renewal' - maximum_quantity: '- Maximum quantity that can be ordered' - maximum_repeat: '- Maximum repeat for renewal' - minimum_quantity: '- Minimum quantity that can be ordered' - minimum_repeat: '- Minimum repeat for renewal' - plan_code: '- Product offer identifier' - price: '- Price of the product (Price with its currency and textual representation)' - price_in_ucents: '- Price of the product in micro-centims' - prices: '- Prices of the product offer' - pricing_mode: '- Pricing model identifier' - pricing_type: '- Pricing type' - product: '- (Required) product' - product_name: '- Name of the product' - product_type: '- Product type' - result: '- products results' - text: '- Textual representation' - value: '- The effective price' - importStatements: [] - order_cart_product_options.html.markdown: - subCategory: "" - description: 'order_cart_product_options.html.markdownsubcategory : "Order"' - name: order_cart_product_options.html.markdown - title: order_cart_product_options.html.markdown - argumentDocs: - capacities: '- Capacities of the pricing (type of pricing)' - cart_id: '- (Required) Cart identifier' - catalog_name: '- Catalog name' - currency_code: '- Currency code' - description: '- Description of the pricing' - duration: '- Duration for ordering the product' - exclusive: '- Define if options of this family are exclusive with each other' - family: '- Option family' - interval: '- Interval of renewal' - mandatory: '- Define if an option of this family is mandatory' - maximum_quantity: '- Maximum quantity that can be ordered' - maximum_repeat: '- Maximum repeat for renewal' - minimum_quantity: '- Minimum quantity that can be ordered' - minimum_repeat: '- Minimum repeat for renewal' - plan_code: '- (Required) Product offer identifier' - price: '- Price of the product (Price with its currency and textual representation)' - price_in_ucents: '- Price of the product in micro-centims' - prices: '- Prices of the product offer' - pricing_mode: '- Pricing model identifier' - pricing_type: '- Pricing type' - product: '- (Required) Product' - product_name: '- Name of the product' - product_type: '- Product type' - result: '- products results' - text: '- Textual representation' - value: '- The effective price' - importStatements: [] - order_cart_product_options_plan.html.markdown: - subCategory: "" - description: 'order_cart_product_options_plan.html.markdownsubcategory : "Order"' - name: order_cart_product_options_plan.html.markdown - title: order_cart_product_options_plan.html.markdown - argumentDocs: - capacities: '- Capacities of the pricing (type of pricing)' - cart_id: '- (Required) Cart identifier' - catalog_name: '- Catalog name' - currency_code: '- Currency code' - description: '- Description of the pricing' - duration: '- Duration for ordering the product' - exclusive: '- Define if options of this family are exclusive with each other' - family: '- Option family' - interval: '- Interval of renewal' - mandatory: '- Define if an option of this family is mandatory' - maximum_quantity: '- Maximum quantity that can be ordered' - maximum_repeat: '- Maximum repeat for renewal' - minimum_quantity: '- Minimum quantity that can be ordered' - minimum_repeat: '- Minimum repeat for renewal' - options_plan_code: '- (Required) options plan code.' - plan_code: '- (Required) Product offer identifier' - price: '- Price of the product (Price with its currency and textual representation)' - price_capacity: '- (Required) Capacity of the pricing (type of pricing)' - price_in_ucents: '- Price of the product in micro-centims' - prices: '- Prices of the product offer' - pricing_mode: '- Pricing model identifier' - pricing_type: '- Pricing type' - product: '- (Required) Product' - product_name: '- Name of the product' - product_type: '- Product type' - selected_price: '- Selected Price according to capacity' - text: '- Textual representation' - value: '- The effective price' - importStatements: [] - order_cart_product_plan.html.markdown: - subCategory: "" - description: 'order_cart_product_plan.html.markdownsubcategory : "Order"' - name: order_cart_product_plan.html.markdown - title: order_cart_product_plan.html.markdown - argumentDocs: - capacities: '- Capacities of the pricing (type of pricing)' - cart_id: '- (Required) Cart identifier' - catalog_name: '- Catalog name' - currency_code: '- Currency code' - description: '- Description of the pricing' - duration: '- Duration for ordering the product' - interval: '- Interval of renewal' - maximum_quantity: '- Maximum quantity that can be ordered' - maximum_repeat: '- Maximum repeat for renewal' - minimum_quantity: '- Minimum quantity that can be ordered' - minimum_repeat: '- Minimum repeat for renewal' - plan_code: '- (Required) Product offer identifier' - price: '- Price of the product (Price with its currency and textual representation)' - price_capacity: '- (Required) Capacity of the pricing (type of pricing)' - price_in_ucents: '- Price of the product in micro-centims' - prices: '- Prices of the product offer' - pricing_mode: '- Pricing model identifier' - pricing_type: '- Pricing type' - product: '- (Required) Product' - product_name: '- Name of the product' - product_type: '- Product type' - selected_price: '- Selected Price according to capacity' - text: '- Textual representation' - value: '- The effective price' - importStatements: [] - ovh_domain_zone: - subCategory: "" - description: 'ovh_domain_zone.html.markdownsubcategory : "Domain names"' - name: ovh_domain_zone - title: ovh_domain_zone.html.markdown - examples: - - name: zone - manifest: |- - { - "ovh_subsidiary": "${data.ovh_order_cart.mycart.ovh_subsidiary}", - "plan": [ - { - "configuration": [ - { - "label": "zone", - "value": "myzone.mydomain.com" - }, - { - "label": "template", - "value": "minimized" - } - ], - "duration": "${data.ovh_order_cart_product_plan.zone.selected_price.0.duration}", - "plan_code": "${data.ovh_order_cart_product_plan.zone.plan_code}", - "pricing_mode": "${data.ovh_order_cart_product_plan.zone.selected_price.0.pricing_mode}" - } - ] - } - references: - ovh_subsidiary: data.ovh_order_cart.mycart.ovh_subsidiary - plan.duration: data.ovh_order_cart_product_plan.zone.selected_price.0.duration - plan.plan_code: data.ovh_order_cart_product_plan.zone.plan_code - plan.pricing_mode: data.ovh_order_cart_product_plan.zone.selected_price.0.pricing_mode - argumentDocs: - catalog_name: '- Catalog name' - configuration: '- (Required) Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template' - date: '- date' - description: '- description' - details: '- Information about a Bill entry' - dnssec_supported: '- Is DNSSEC supported by this zone' - domain: '- expiration date' - duration: '- (Required) duration' - expiration_date: '- expiration date' - has_dns_anycast: '- hasDnsAnycast flag of the DNS zone' - label: '- (Required) Identifier of the resource : zone or template' - last_update: '- Last update date of the DNS zone' - name: '- Zone name' - name_servers: '- Name servers that host the DNS zone' - order: '- Details about an Order' - order_detail_id: '- order detail id' - order_id: '- order id' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code' - plan_option: '- (Optional) Product Plan to order' - pricing_mode: '- (Required) Pricing model identifier' - quantity: '- quantity' - value: '- (Required) For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration.' - importStatements: [] - ovh_domain_zone_record: - subCategory: "" - description: 'ovh_domain_zone_record.html.markdownsubcategory : "Domain names"' - name: ovh_domain_zone_record - title: ovh_domain_zone_record.html.markdown - examples: - - name: test - manifest: |- - { - "fieldtype": "A", - "subdomain": "test", - "target": "0.0.0.0", - "ttl": 3600, - "zone": "testdemo.ovh" - } - argumentDocs: - fieldType: '- The type of the record' - fieldtype: '- (Required) The type of the record' - id: '- The record ID' - subDomain: '- The name of the record' - subdomain: '- (Required) The name of the record. It can be an empty string.' - target: '- (Required) The value of the record' - ttl: '- (Optional) The TTL of the record, it shall be >= to 60.' - zone: '- (Required) The domain to add the record to' - importStatements: [] - ovh_domain_zone_redirection: - subCategory: "" - description: 'ovh_domain_zone_redirection.html.markdownsubcategory : "Domain names"' - name: ovh_domain_zone_redirection - title: ovh_domain_zone_redirection.html.markdown - examples: - - name: test - manifest: |- - { - "subdomain": "test", - "target": "http://www.ovh", - "type": "visiblePermanent", - "zone": "testdemo.ovh" - } - argumentDocs: - description: '- (Optional) A description of this redirection' - id: '- The redirection ID' - invisible: -> Redirection by html frame - keywords: '- (Optional) Keywords to describe this redirection' - subDomain: '- The name of the redirection' - subdomain: '- (Optional) The name of the redirection' - target: '- (Required) The value of the redirection' - title: '- (Optional) Title of this redirection' - type: '- (Required) The type of the redirection, with values:' - visible: -> Redirection by http code 302 - visiblePermanent: -> Redirection by http code 301 - zone: '- (Required) The domain to add the redirection to' - importStatements: [] - vps.html.markdown: - subCategory: "" - description: 'vps.html.markdownsubcategory : "VPS"' - name: vps.html.markdown - title: vps.html.markdown - argumentDocs: - cluster: '- The OVHcloud cluster the vps is in' - datacenter: '- The datacenter in which the vps is located' - datacenter.longname: '- The fullname of the datacenter (ex: "Strasbourg SBG1")' - datacenter.name: '- The short name of the datacenter (ex: "sbg1)' - displayname: '- The displayed name in the OVHcloud web admin' - ips: '- The list of IPs addresses attached to the vps' - keymap: '- The keymap for the ip kvm, valid values "", "fr", "us"' - memory: '- The amount of memory in MB of the vps.' - model: '- A dict describing the type of vps.' - model.name: '- The model name (ex: model1)' - model.offer: '- The model human description (ex: "VPS 2016 SSD 1")' - model.version: '- The model version (ex: "2017v2")' - netbootmode: '- The source of the boot kernel' - offertype: '- The type of offer (ssd, cloud, classic)' - service_name: '- (Required) The service_name of your dedicated server.' - slamonitoring: '- A boolean to indicate if OVHcloud SLA monitoring is active.' - state: '- The state of the vps' - type: '- The type of server' - urn: '- The URN of the vps' - vcore: '- The number of vcore of the vps' - zone: '- The OVHcloud zone where the vps is' - importStatements: [] - vpss.html.markdown: - subCategory: "" - description: 'vpss.html.markdownsubcategory : "VPS"' - name: vpss.html.markdown - title: vpss.html.markdown - argumentDocs: - result: '- The list of VPS IDs associated with your OVH Account.' + name: cloud_project_database_postgresql_connection_pools.html Resource - terraform-provider-ovh + title: cloud_project_database_postgresql_connection_pools.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - vrack.html.markdown: + cloud_project_database_postgresql_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'vrack.html.markdownsubcategory : "vRack"' - name: vrack.html.markdown - title: vrack.html.markdown - argumentDocs: - catalog_name: '- Catalog name' - configuration: '- (Optional) Representation of a configuration item for personalizing product' - date: '- date' - description: '- yourvrackdescription' - details: '- Information about a Bill entry' - domain: '- expiration date' - duration: '- (Required) duration' - expiration_date: '- expiration date' - label: '- (Required) Identifier of the resource' - name: '- yourvrackname' - order: '- Details about an Order' - order_detail_id: '- order detail id' - order_id: '- order id' - ovh_subsidiary: '- (Required) OVHcloud Subsidiary. Country of OVHcloud legal entity you''ll be billed by. List of supported subsidiaries available on API at /1.0/me.json under' - plan: '- (Required) Product Plan to order' - plan_code: '- (Required) Plan code' - plan_option: '- (Optional) Product Plan to order' - pricing_mode: '- (Required) Pricing model identifier' - quantity: '- quantity' - service_name: '- The internal name of your vrack' - urn: '- The URN of the vrack, used with IAM permissions' - value: '- (Required) Path to the resource in API.OVH.COM' - importStatements: [] - vrack_cloudproject.markdown: - subCategory: "" - description: 'vrack_cloudproject.markdownsubcategory : "vRack"' - name: vrack_cloudproject.markdown - title: vrack_cloudproject.markdown - argumentDocs: - project_id: |- - - (Required) The id of the public cloud project. If omitted, - the OVH_CLOUD_PROJECT_SERVICE environment variable is used. - service_name: |- - - (Required) The service name of the vrack. If omitted, - the OVH_VRACK_SERVICE environment variable is used. - importStatements: [] - vrack_dedicated_server.html.markdown: - subCategory: "" - description: 'vrack_dedicated_server.html.markdownsubcategory : "vRack"' - name: vrack_dedicated_server.html.markdown - title: vrack_dedicated_server.html.markdown - argumentDocs: - server_id: '- (Required) The id of the dedicated server.' - service_name: |- - - (Required) The service name of the vrack. If omitted, - the OVH_VRACK_SERVICE environment variable is used. + name: cloud_project_database_postgresql_user.html Resource - terraform-provider-ovh + title: cloud_project_database_postgresql_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - vrack_dedicated_server_interface.html.markdown: + cloud_project_database_redis_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'vrack_dedicated_server_interface.html.markdownsubcategory : "vRack"' - name: vrack_dedicated_server_interface.html.markdown - title: vrack_dedicated_server_interface.html.markdown - argumentDocs: - interface_id: '- (Required) The id of dedicated server network interface.' - service_name: |- - - (Required) The id of the vrack. If omitted, - the OVH_VRACK_SERVICE environment variable is used. + name: cloud_project_database_redis_user.html Resource - terraform-provider-ovh + title: cloud_project_database_redis_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - vrack_ip.html.markdown: + cloud_project_database_user.html Resource - terraform-provider-ovh: subCategory: "" - description: 'vrack_ip.html.markdownsubcategory : "vRack"' - name: vrack_ip.html.markdown - title: vrack_ip.html.markdown - argumentDocs: - block: '- (Required) Your IP block.' - gateway: '- Your gateway' - ip: '- Your IP block' - service_name: '- (Required) The internal name of your vrack' - zone: '- Where you want your block announced on the network' + name: cloud_project_database_user.html Resource - terraform-provider-ovh + title: cloud_project_database_user.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - vrack_iploadbalancing.html.markdown: + cloud_project_database_users.html Resource - terraform-provider-ovh: subCategory: "" - description: 'vrack_iploadbalancing.html.markdownsubcategory : "vRack"' - name: vrack_iploadbalancing.html.markdown - title: vrack_iploadbalancing.html.markdown - argumentDocs: - ip_loadbalancing: '- (Required) The id of the IP Load Balancing.' - service_name: '- (Required) The id of the vrack.' + name: cloud_project_database_users.html Resource - terraform-provider-ovh + title: cloud_project_database_users.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] - vracks.html.markdown: + cloud_project_databases.html Resource - terraform-provider-ovh: subCategory: "" - description: 'vracks.html.markdownsubcategory : "vRack"' - name: vracks.html.markdown - title: vracks.html.markdown - argumentDocs: - result: '- The list of vrack service name available for your OVHcloud account.' - urn: '- The URN of the vps' + name: cloud_project_databases.html Resource - terraform-provider-ovh + title: cloud_project_databases.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_failover_ip_attach.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_failover_ip_attach.html Resource - terraform-provider-ovh + title: cloud_project_failover_ip_attach.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_gateway.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_gateway.html Resource - terraform-provider-ovh + title: cloud_project_gateway.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_gateway_interface.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_gateway_interface.html Resource - terraform-provider-ovh + title: cloud_project_gateway_interface.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube.html Resource - terraform-provider-ovh + title: cloud_project_kube.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube_iprestrictions.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube_iprestrictions.html Resource - terraform-provider-ovh + title: cloud_project_kube_iprestrictions.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube_nodepool.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube_nodepool.html Resource - terraform-provider-ovh + title: cloud_project_kube_nodepool.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube_nodepool_nodes.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube_nodepool_nodes.html Resource - terraform-provider-ovh + title: cloud_project_kube_nodepool_nodes.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube_nodes.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube_nodes.html Resource - terraform-provider-ovh + title: cloud_project_kube_nodes.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_kube_oidc.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_kube_oidc.html Resource - terraform-provider-ovh + title: cloud_project_kube_oidc.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_loadbalancer.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_loadbalancer.html Resource - terraform-provider-ovh + title: cloud_project_loadbalancer.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_loadbalancers.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_loadbalancers.html Resource - terraform-provider-ovh + title: cloud_project_loadbalancers.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_network_private.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_network_private.html Resource - terraform-provider-ovh + title: cloud_project_network_private.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_network_private_subnet.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_network_private_subnet.html Resource - terraform-provider-ovh + title: cloud_project_network_private_subnet.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_region.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_region.html Resource - terraform-provider-ovh + title: cloud_project_region.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_region_loadbalancer_log_subscription Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_region_loadbalancer_log_subscription Resource - terraform-provider-ovh + title: cloud_project_region_loadbalancer_log_subscription Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_region_loadbalancer_log_subscriptions Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_region_loadbalancer_log_subscriptions Resource - terraform-provider-ovh + title: cloud_project_region_loadbalancer_log_subscriptions Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_region_storage_presign.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_region_storage_presign.html Resource - terraform-provider-ovh + title: cloud_project_region_storage_presign.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_regions.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_regions.html Resource - terraform-provider-ovh + title: cloud_project_regions.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_user.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_user.html Resource - terraform-provider-ovh + title: cloud_project_user.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_user_s3_credential.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_user_s3_credential.html Resource - terraform-provider-ovh + title: cloud_project_user_s3_credential.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_user_s3_credentials.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_user_s3_credentials.html Resource - terraform-provider-ovh + title: cloud_project_user_s3_credentials.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_user_s3_policy.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_user_s3_policy.html Resource - terraform-provider-ovh + title: cloud_project_user_s3_policy.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_users.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_users.html Resource - terraform-provider-ovh + title: cloud_project_users.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_vrack.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_vrack.html Resource - terraform-provider-ovh + title: cloud_project_vrack.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_project_workflow_backup.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_project_workflow_backup.html Resource - terraform-provider-ovh + title: cloud_project_workflow_backup.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + cloud_projects.html Resource - terraform-provider-ovh: + subCategory: "" + name: cloud_projects.html Resource - terraform-provider-ovh + title: cloud_projects.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_cluster.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_cluster.html Resource - terraform-provider-ovh + title: dbaas_logs_cluster.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_cluster_retention.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_cluster_retention.html Resource - terraform-provider-ovh + title: dbaas_logs_cluster_retention.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_clusters.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_clusters.html Resource - terraform-provider-ovh + title: dbaas_logs_clusters.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_input.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_input.html Resource - terraform-provider-ovh + title: dbaas_logs_input.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_input_engine.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_input_engine.html Resource - terraform-provider-ovh + title: dbaas_logs_input_engine.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_output_graylog_stream.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_output_graylog_stream.html Resource - terraform-provider-ovh + title: dbaas_logs_output_graylog_stream.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dbaas_logs_token.html Resource - terraform-provider-ovh: + subCategory: "" + name: dbaas_logs_token.html Resource - terraform-provider-ovh + title: dbaas_logs_token.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_ceph.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_ceph.html Resource - terraform-provider-ovh + title: dedicated_ceph.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_ceph_acl Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_ceph_acl Resource - terraform-provider-ovh + title: dedicated_ceph_acl Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_installation_template.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_installation_template.html Resource - terraform-provider-ovh + title: dedicated_installation_template.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_installation_templates.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_installation_templates.html Resource - terraform-provider-ovh + title: dedicated_installation_templates.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_nasha.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_nasha.html Resource - terraform-provider-ovh + title: dedicated_nasha.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_nasha_partition Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_nasha_partition Resource - terraform-provider-ovh + title: dedicated_nasha_partition Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_nasha_partition_access Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_nasha_partition_access Resource - terraform-provider-ovh + title: dedicated_nasha_partition_access Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_nasha_partition_snapshot Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_nasha_partition_snapshot Resource - terraform-provider-ovh + title: dedicated_nasha_partition_snapshot Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server.html Resource - terraform-provider-ovh + title: dedicated_server.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_boots.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_boots.html Resource - terraform-provider-ovh + title: dedicated_server_boots.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_install_task.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_install_task.html Resource - terraform-provider-ovh + title: dedicated_server_install_task.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_reboot_task.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_reboot_task.html Resource - terraform-provider-ovh + title: dedicated_server_reboot_task.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_specifications_hardware.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_specifications_hardware.html Resource - terraform-provider-ovh + title: dedicated_server_specifications_hardware.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_specifications_network.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_specifications_network.html Resource - terraform-provider-ovh + title: dedicated_server_specifications_network.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_server_update.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_server_update.html Resource - terraform-provider-ovh + title: dedicated_server_update.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + dedicated_servers.html Resource - terraform-provider-ovh: + subCategory: "" + name: dedicated_servers.html Resource - terraform-provider-ovh + title: dedicated_servers.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + domain_zone.html Resource - terraform-provider-ovh: + subCategory: "" + name: domain_zone.html Resource - terraform-provider-ovh + title: domain_zone.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + domain_zone_dnssec.html Resource - terraform-provider-ovh: + subCategory: "" + name: domain_zone_dnssec.html Resource - terraform-provider-ovh + title: domain_zone_dnssec.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + hosting_privatedatabase.html Resource - terraform-provider-ovh: + subCategory: "" + name: hosting_privatedatabase.html Resource - terraform-provider-ovh + title: hosting_privatedatabase.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + hosting_privatedatabase_database.html Resource - terraform-provider-ovh: + subCategory: "" + name: hosting_privatedatabase_database.html Resource - terraform-provider-ovh + title: hosting_privatedatabase_database.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + hosting_privatedatabase_user.html Resource - terraform-provider-ovh: + subCategory: "" + name: hosting_privatedatabase_user.html Resource - terraform-provider-ovh + title: hosting_privatedatabase_user.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + hosting_privatedatabase_user_grant.html Resource - terraform-provider-ovh: + subCategory: "" + name: hosting_privatedatabase_user_grant.html Resource - terraform-provider-ovh + title: hosting_privatedatabase_user_grant.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + hosting_privatedatabase_whitelist.html Resource - terraform-provider-ovh: + subCategory: "" + name: hosting_privatedatabase_whitelist.html Resource - terraform-provider-ovh + title: hosting_privatedatabase_whitelist.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_permissions_group.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_permissions_group.html Resource - terraform-provider-ovh + title: iam_permissions_group.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_permissions_groups Resource - terraform-provider-ovh: + subCategory: "" + name: iam_permissions_groups Resource - terraform-provider-ovh + title: iam_permissions_groups Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_policies.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_policies.html Resource - terraform-provider-ovh + title: iam_policies.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_policy.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_policy.html Resource - terraform-provider-ovh + title: iam_policy.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_reference_actions.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_reference_actions.html Resource - terraform-provider-ovh + title: iam_reference_actions.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_reference_resource_type Resource - terraform-provider-ovh: + subCategory: "" + name: iam_reference_resource_type Resource - terraform-provider-ovh + title: iam_reference_resource_type Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_resource_group.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_resource_group.html Resource - terraform-provider-ovh + title: iam_resource_group.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iam_resource_groups.html Resource - terraform-provider-ovh: + subCategory: "" + name: iam_resource_groups.html Resource - terraform-provider-ovh + title: iam_resource_groups.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_firewall.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_firewall.html Resource - terraform-provider-ovh + title: ip_firewall.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_firewall_rule.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_firewall_rule.html Resource - terraform-provider-ovh + title: ip_firewall_rule.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_mitigation.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_mitigation.html Resource - terraform-provider-ovh + title: ip_mitigation.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_move.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_move.html Resource - terraform-provider-ovh + title: ip_move.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_reverse.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_reverse.html Resource - terraform-provider-ovh + title: ip_reverse.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ip_service.html Resource - terraform-provider-ovh: + subCategory: "" + name: ip_service.html Resource - terraform-provider-ovh + title: ip_service.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing.html Resource - terraform-provider-ovh + title: iploadbalancing.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_http_farm.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_http_farm.html Resource - terraform-provider-ovh + title: iploadbalancing_http_farm.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_http_farm_server.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_http_farm_server.html Resource - terraform-provider-ovh + title: iploadbalancing_http_farm_server.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_http_frontend.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_http_frontend.html Resource - terraform-provider-ovh + title: iploadbalancing_http_frontend.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_http_route.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_http_route.html Resource - terraform-provider-ovh + title: iploadbalancing_http_route.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_http_route_rule.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_http_route_rule.html Resource - terraform-provider-ovh + title: iploadbalancing_http_route_rule.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_refresh.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_refresh.html Resource - terraform-provider-ovh + title: iploadbalancing_refresh.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_tcp_farm.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_tcp_farm.html Resource - terraform-provider-ovh + title: iploadbalancing_tcp_farm.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_tcp_farm_server.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_tcp_farm_server.html Resource - terraform-provider-ovh + title: iploadbalancing_tcp_farm_server.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_tcp_frontend.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_tcp_frontend.html Resource - terraform-provider-ovh + title: iploadbalancing_tcp_frontend.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_tcp_route.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_tcp_route.html Resource - terraform-provider-ovh + title: iploadbalancing_tcp_route.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_tcp_route_rule.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_tcp_route_rule.html Resource - terraform-provider-ovh + title: iploadbalancing_tcp_route_rule.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_udp_frontend.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_udp_frontend.html Resource - terraform-provider-ovh + title: iploadbalancing_udp_frontend.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_vrack_network.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_vrack_network.html Resource - terraform-provider-ovh + title: iploadbalancing_vrack_network.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + iploadbalancing_vrack_networks.html Resource - terraform-provider-ovh: + subCategory: "" + name: iploadbalancing_vrack_networks.html Resource - terraform-provider-ovh + title: iploadbalancing_vrack_networks.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me.html Resource - terraform-provider-ovh: + subCategory: "" + name: me.html Resource - terraform-provider-ovh + title: me.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_api_oauth2_client Resource - terraform-provider-ovh: + subCategory: "" + name: me_api_oauth2_client Resource - terraform-provider-ovh + title: me_api_oauth2_client Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_api_oauth2_client.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_api_oauth2_client.html Resource - terraform-provider-ovh + title: me_api_oauth2_client.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_api_oauth2_clients Resource - terraform-provider-ovh: + subCategory: "" + name: me_api_oauth2_clients Resource - terraform-provider-ovh + title: me_api_oauth2_clients Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_group Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_group Resource - terraform-provider-ovh + title: me_identity_group Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_group.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_group.html Resource - terraform-provider-ovh + title: me_identity_group.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_groups Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_groups Resource - terraform-provider-ovh + title: me_identity_groups Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_user Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_user Resource - terraform-provider-ovh + title: me_identity_user Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_user.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_user.html Resource - terraform-provider-ovh + title: me_identity_user.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_identity_users Resource - terraform-provider-ovh: + subCategory: "" + name: me_identity_users Resource - terraform-provider-ovh + title: me_identity_users Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_installation_template.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_installation_template.html Resource - terraform-provider-ovh + title: me_installation_template.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_installation_template_partition_scheme.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_installation_template_partition_scheme.html Resource - terraform-provider-ovh + title: me_installation_template_partition_scheme.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_installation_template_partition_scheme_hardware_raid.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_installation_template_partition_scheme_hardware_raid.html Resource - terraform-provider-ovh + title: me_installation_template_partition_scheme_hardware_raid.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_installation_template_partition_scheme_partition.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_installation_template_partition_scheme_partition.html Resource - terraform-provider-ovh + title: me_installation_template_partition_scheme_partition.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_installation_templates.html Resource - terraform-provider-ovh: + subCategory: "" + name: me_installation_templates.html Resource - terraform-provider-ovh + title: me_installation_templates.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_paymentmean_bankaccount Resource - terraform-provider-ovh: + subCategory: "" + name: me_paymentmean_bankaccount Resource - terraform-provider-ovh + title: me_paymentmean_bankaccount Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + me_paymentmean_creditcard Resource - terraform-provider-ovh: + subCategory: "" + name: me_paymentmean_creditcard Resource - terraform-provider-ovh + title: me_paymentmean_creditcard Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + order_cart.html Resource - terraform-provider-ovh: + subCategory: "" + name: order_cart.html Resource - terraform-provider-ovh + title: order_cart.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + order_cart_product.html Resource - terraform-provider-ovh: + subCategory: "" + name: order_cart_product.html Resource - terraform-provider-ovh + title: order_cart_product.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + order_cart_product_options.html Resource - terraform-provider-ovh: + subCategory: "" + name: order_cart_product_options.html Resource - terraform-provider-ovh + title: order_cart_product_options.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + order_cart_product_options_plan.html Resource - terraform-provider-ovh: + subCategory: "" + name: order_cart_product_options_plan.html Resource - terraform-provider-ovh + title: order_cart_product_options_plan.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + order_cart_product_plan.html Resource - terraform-provider-ovh: + subCategory: "" + name: order_cart_product_plan.html Resource - terraform-provider-ovh + title: order_cart_product_plan.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ovh_domain_zone.html Resource - terraform-provider-ovh: + subCategory: "" + name: ovh_domain_zone.html Resource - terraform-provider-ovh + title: ovh_domain_zone.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ovh_domain_zone_record.html Resource - terraform-provider-ovh: + subCategory: "" + name: ovh_domain_zone_record.html Resource - terraform-provider-ovh + title: ovh_domain_zone_record.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + ovh_domain_zone_redirection.html Resource - terraform-provider-ovh: + subCategory: "" + name: ovh_domain_zone_redirection.html Resource - terraform-provider-ovh + title: ovh_domain_zone_redirection.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vps.html Resource - terraform-provider-ovh: + subCategory: "" + name: vps.html Resource - terraform-provider-ovh + title: vps.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vpss.html Resource - terraform-provider-ovh: + subCategory: "" + name: vpss.html Resource - terraform-provider-ovh + title: vpss.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack.html Resource - terraform-provider-ovh: + subCategory: "" + name: vrack.html Resource - terraform-provider-ovh + title: vrack.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack_cloudproject Resource - terraform-provider-ovh: + subCategory: "" + name: vrack_cloudproject Resource - terraform-provider-ovh + title: vrack_cloudproject Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack_dedicated_server.html Resource - terraform-provider-ovh: + subCategory: "" + name: vrack_dedicated_server.html Resource - terraform-provider-ovh + title: vrack_dedicated_server.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack_dedicated_server_interface.html Resource - terraform-provider-ovh: + subCategory: "" + name: vrack_dedicated_server_interface.html Resource - terraform-provider-ovh + title: vrack_dedicated_server_interface.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack_ip.html Resource - terraform-provider-ovh: + subCategory: "" + name: vrack_ip.html Resource - terraform-provider-ovh + title: vrack_ip.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vrack_iploadbalancing.html Resource - terraform-provider-ovh: + subCategory: "" + name: vrack_iploadbalancing.html Resource - terraform-provider-ovh + title: vrack_iploadbalancing.html Resource - terraform-provider-ovh + argumentDocs: {} + importStatements: [] + vracks.html Resource - terraform-provider-ovh: + subCategory: "" + name: vracks.html Resource - terraform-provider-ovh + title: vracks.html Resource - terraform-provider-ovh + argumentDocs: {} importStatements: [] diff --git a/config/provider.go b/config/provider.go index 419273c..b8b3cb3 100644 --- a/config/provider.go +++ b/config/provider.go @@ -9,6 +9,7 @@ import ( _ "embed" "github.com/edixos/provider-ovh/config/gateway" + "github.com/edixos/provider-ovh/config/vps" "github.com/edixos/provider-ovh/config/cloud" "github.com/edixos/provider-ovh/config/iam" @@ -87,6 +88,7 @@ func GetProvider() *ujconfig.Provider { object_storage.Configure, web_cloud_private_sql.Configure, vrack.Configure, + vps.Configure, gateway.Configure, } { configure(pc) diff --git a/config/schema.json b/config/schema.json index 4558026..b6e096b 100644 --- a/config/schema.json +++ b/config/schema.json @@ -1 +1 @@ -{"format_version":"1.0","provider_schemas":{"registry.terraform.io/ovh/ovh":{"provider":{"version":0,"block":{"attributes":{"application_key":{"type":"string","description":"The OVH API Application Key.","description_kind":"plain","optional":true},"application_secret":{"type":"string","description":"The OVH API Application Secret.","description_kind":"plain","optional":true},"consumer_key":{"type":"string","description":"The OVH API Consumer key.","description_kind":"plain","optional":true},"endpoint":{"type":"string","description":"The OVH API endpoint to target (ex: \"ovh-eu\").","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"ovh_cloud_project":{"version":0,"block":{"attributes":{"access":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"project_id":{"type":"string","description_kind":"plain","computed":true},"project_name":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_alerting":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Alerting creation date","description_kind":"markdown","computed":true},"delay":{"type":"number","description":"Possible values for delay between two alerts in seconds","description_kind":"markdown","required":true},"email":{"type":"string","description":"Email to contact","description_kind":"markdown","required":true},"formatted_monthly_threshold":{"nested_type":{"attributes":{"currency_code":{"type":"string","description_kind":"plain","computed":true},"text":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Formatted monthly threshold for this alerting","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Alerting unique UUID","description_kind":"markdown","computed":true},"monthly_threshold":{"type":"number","description":"Monthly threshold for this alerting in currency","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"The project id","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Registry creation date","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Registry name","description_kind":"plain","required":true},"plan":{"type":["list",["object",{"code":"string","created_at":"string","features":["list",["object",{"vulnerability":"bool"}]],"id":"string","name":"string","registry_limits":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"updated_at":"string"}]],"description":"Plan of the registry","description_kind":"plain","computed":true},"plan_id":{"type":"string","description":"Plan ID of the registry.","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description":"Project ID of your registry","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Current size of the registry (bytes)","description_kind":"plain","computed":true},"status":{"type":"string","description":"Registry status","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Registry last update date","description_kind":"plain","computed":true},"url":{"type":"string","description":"Access url of the registry","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of your registry","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_management":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["list",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","required":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_registry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["list",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","required":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_oidc":{"version":0,"block":{"attributes":{"delete_users":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"oidc_admin_group":{"type":"string","description_kind":"plain","optional":true},"oidc_auto_onboard":{"type":"bool","description_kind":"plain","optional":true},"oidc_client_id":{"type":"string","description_kind":"plain","required":true},"oidc_client_secret":{"type":"string","description_kind":"plain","required":true,"sensitive":true},"oidc_endpoint":{"type":"string","description_kind":"plain","required":true},"oidc_groups_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_name":{"type":"string","description_kind":"plain","required":true},"oidc_scope":{"type":"string","description_kind":"plain","required":true},"oidc_user_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_verify_cert":{"type":"bool","description_kind":"plain","optional":true},"registry_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_user":{"version":0,"block":{"attributes":{"email":{"type":"string","description":"User email.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"login":{"type":"string","description":"Registry name","description_kind":"plain","required":true},"password":{"type":"string","description":"User password","description_kind":"plain","computed":true,"sensitive":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"user":{"type":"string","description":"User name","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database":{"version":0,"block":{"attributes":{"advanced_configuration":{"type":["map","string"],"description":"Advanced configuration key / value","description_kind":"plain","optional":true,"computed":true},"backup_regions":{"type":["list","string"],"description":"List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field","description_kind":"plain","optional":true,"computed":true},"backup_time":{"type":"string","description":"Time on which backups start every day","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Date of the creation of the cluster","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the cluster","description_kind":"plain","optional":true},"disk_size":{"type":"number","description":"Disk size attributes of the cluster","description_kind":"plain","optional":true,"computed":true},"disk_type":{"type":"string","description":"Disk type attributes of the cluster","description_kind":"plain","computed":true},"endpoints":{"type":["list",["object",{"component":"string","domain":"string","path":"string","port":"number","scheme":"string","ssl":"bool","ssl_mode":"string","uri":"string"}]],"description":"List of all endpoints of the service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"flavor":{"type":"string","description":"The node flavor used for this cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kafka_rest_api":{"type":"bool","description":"Defines whether the REST API is enabled on a Kafka cluster","description_kind":"plain","optional":true},"maintenance_time":{"type":"string","description":"Time on which maintenances can start every day","description_kind":"plain","computed":true},"network_type":{"type":"string","description":"Type of network of the cluster","description_kind":"plain","computed":true},"opensearch_acls_enabled":{"type":"bool","description":"Defines whether the ACLs are enabled on an Opensearch cluster","description_kind":"plain","optional":true},"plan":{"type":"string","description":"Plan of the cluster","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the cluster","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of the engine deployed on the cluster","description_kind":"plain","required":true}},"block_types":{"nodes":{"nesting_mode":"list","block":{"attributes":{"network_id":{"type":"string","description":"Private network ID in which the node is. It's the regional openstackId of the private network.","description_kind":"plain","optional":true},"region":{"type":"string","description":"Region of the node","description_kind":"plain","required":true},"subnet_id":{"type":"string","description":"Private subnet ID in which the node is","description_kind":"plain","optional":true}},"description":"List of nodes composing the service","description_kind":"plain"},"min_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_database":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"default":{"type":"bool","description":"Defines if the database has been created by default","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_integration":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"destination_service_id":{"type":"string","description":"ID of the destination service","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"parameters":{"type":["map","string"],"description":"Parameters for the integration","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"source_service_id":{"type":"string","description":"ID of the source service","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the integration","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of the integration","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_ip_restriction":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"description":{"type":"string","description":"Description of the IP restriction","description_kind":"plain","optional":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Authorized IP","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the IP restriction","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_acl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"permission":{"type":"string","description":"Permission to give to this username on this topic","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic":{"type":"string","description":"Topic affected by this acl","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"permission":{"type":"string","description":"Permission to give to this username on this resource","description_kind":"plain","required":true},"resource":{"type":"string","description":"Resource affected by this acl","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topic":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_insync_replicas":{"type":"number","description":"Minimum insync replica accepted for this topic","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the topic","description_kind":"plain","required":true},"partitions":{"type":"number","description":"Number of partitions for this topic","description_kind":"plain","optional":true,"computed":true},"replication":{"type":"number","description":"Number of replication for this topic","description_kind":"plain","optional":true,"computed":true},"retention_bytes":{"type":"number","description":"Number of bytes for the retention of the data for this topic","description_kind":"plain","optional":true,"computed":true},"retention_hours":{"type":"number","description":"Number of hours for the retention of the data for this topic","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespace":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the namespace","description_kind":"plain","required":true},"resolution":{"type":"string","description":"Resolution for an aggregated namespace","description_kind":"plain","required":true},"retention_block_data_expiration_duration":{"type":"string","description":"Controls how long we wait before expiring stale data","description_kind":"plain","optional":true},"retention_block_size_duration":{"type":"string","description":"Controls how long to keep a block in memory before flushing to a fileset on disk","description_kind":"plain","optional":true,"computed":true},"retention_buffer_future_duration":{"type":"string","description":"Controls how far into the future writes to the namespace will be accepted","description_kind":"plain","optional":true},"retention_buffer_past_duration":{"type":"string","description":"Controls how far into the past writes to the namespace will be accepted","description_kind":"plain","optional":true},"retention_period_duration":{"type":"string","description":"Controls the duration of time that M3DB will retain data for the namespace","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"snapshot_enabled":{"type":"bool","description":"Defines whether M3db will create snapshot files for this namespace","description_kind":"plain","optional":true},"type":{"type":"string","description":"Type of namespace","description_kind":"plain","computed":true},"writes_to_commit_log_enabled":{"type":"bool","description":"Defines whether M3db will include writes to this namespace in the commit log","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"group":{"type":"string","description":"Group of the user","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_mongodb_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to with the authentication database","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_pattern":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"max_index_count":{"type":"number","description":"Maximum number of index for this pattern","description_kind":"plain","optional":true},"pattern":{"type":"string","description":"Pattern format","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"acls":{"nesting_mode":"set","block":{"attributes":{"pattern":{"type":"string","description":"Pattern of the ACL","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission of the ACL","description_kind":"plain","required":true}},"description":"Acls of the user","description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"database_id":{"type":"string","description":"Database used for the connection pool","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"Connection mode to the connection pool","description_kind":"plain","required":true},"name":{"type":"string","description":"Name of the connection pool","description_kind":"plain","required":true},"port":{"type":"number","description":"Port of the connection pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Size of the connection pool","description_kind":"plain","required":true},"ssl_mode":{"type":"string","description":"SSL connection mode for the pool","description_kind":"plain","computed":true},"uri":{"type":"string","description":"Connection URI to the pool","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"Database user authorized to connect to the pool, if none all the users are allowed","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_redis_user":{"version":0,"block":{"attributes":{"categories":{"type":["set","string"],"description":"Categories of the user","description_kind":"plain","optional":true},"channels":{"type":["set","string"],"description":"Channels of the user","description_kind":"plain","optional":true,"computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"commands":{"type":["set","string"],"description":"Commands of the user","description_kind":"plain","optional":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keys":{"type":["set","string"],"description":"Keys of the user","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_failover_ip_attach":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"IP block","description_kind":"plain","optional":true,"computed":true},"continent_code":{"type":"string","description":"Ip continent","description_kind":"plain","optional":true,"computed":true},"geo_loc":{"type":"string","description":"Ip location","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"Ip id","description_kind":"plain","computed":true},"ip":{"type":"string","description":"Ip","description_kind":"plain","optional":true,"computed":true},"progress":{"type":"number","description":"Current operation progress in percent","description_kind":"plain","computed":true},"routed_to":{"type":"string","description":"Instance where ip is routed to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"status":{"type":"string","description":"Ip status","description_kind":"plain","computed":true},"sub_type":{"type":"string","description":"IP sub type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_gateway":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"model":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"network_id":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"subnet_id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube":{"version":0,"block":{"attributes":{"control_plane_is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"kube_proxy_mode":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"kubeconfig_attributes":{"type":["list",["object",{"client_certificate":"string","client_key":"string","cluster_ca_certificate":"string","host":"string"}]],"description":"The kubeconfig configuration file of the Kubernetes cluster","description_kind":"plain","computed":true,"sensitive":true},"name":{"type":"string","description_kind":"plain","optional":true},"next_upgrade_versions":{"type":["set","string"],"description_kind":"plain","computed":true},"nodes_url":{"type":"string","description_kind":"plain","computed":true},"private_network_id":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"update_policy":{"type":"string","description_kind":"plain","optional":true,"computed":true},"url":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"customization":{"nesting_mode":"set","block":{"block_types":{"apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain","deprecated":true}},"customization_apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"customization_kube_proxy":{"nesting_mode":"set","block":{"block_types":{"iptables":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"ipvs":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"scheduler":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true},"tcp_fin_timeout":{"type":"string","description_kind":"plain","optional":true},"tcp_timeout":{"type":"string","description_kind":"plain","optional":true},"udp_timeout":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1},"private_network_configuration":{"nesting_mode":"set","block":{"attributes":{"default_vrack_gateway":{"type":"string","description":"If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled.","description_kind":"plain","required":true},"private_network_routing_as_default":{"type":"bool","description":"Defines whether routing should default to using the nodes' private interface, instead of their public interface. Default is false.","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_iprestrictions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description":"List of IP restrictions for the cluster","description_kind":"plain","required":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool":{"version":0,"block":{"attributes":{"anti_affinity":{"type":"bool","description":"Enable anti affinity groups for nodes in the pool","description_kind":"plain","optional":true,"computed":true},"autoscale":{"type":"bool","description":"Enable auto-scaling for the pool","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_unneeded_time_seconds":{"type":"number","description":"scaleDownUnneededTimeSeconds for autoscaling","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_unready_time_seconds":{"type":"number","description":"scaleDownUnreadyTimeSeconds for autoscaling","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_utilization_threshold":{"type":"number","description":"scaleDownUtilizationThreshold for autoscaling","description_kind":"plain","optional":true,"computed":true},"available_nodes":{"type":"number","description":"Number of nodes which are actually ready in the pool","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Creation date","description_kind":"plain","computed":true},"current_nodes":{"type":"number","description":"Number of nodes present in the pool","description_kind":"plain","computed":true},"desired_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"flavor":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"flavor_name":{"type":"string","description":"Flavor name","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"max_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"min_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"monthly_billed":{"type":"bool","description":"Enable monthly billing on all nodes in the pool","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description":"Project id","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"size_status":{"type":"string","description":"Status describing the state between number of nodes wanted and available ones","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status","description_kind":"plain","computed":true},"up_to_date_nodes":{"type":"number","description":"Number of nodes with latest version installed in the pool","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date","description_kind":"plain","computed":true}},"block_types":{"template":{"nesting_mode":"set","block":{"block_types":{"metadata":{"nesting_mode":"set","block":{"attributes":{"annotations":{"type":["map","string"],"description":"annotations","description_kind":"plain","required":true},"finalizers":{"type":["list","string"],"description":"finalizers","description_kind":"plain","required":true},"labels":{"type":["map","string"],"description":"labels","description_kind":"plain","required":true}},"description":"metadata","description_kind":"plain"},"min_items":1,"max_items":1},"spec":{"nesting_mode":"set","block":{"attributes":{"taints":{"type":["list",["map","string"]],"description":"taints","description_kind":"plain","required":true},"unschedulable":{"type":"bool","description":"unschedulable","description_kind":"plain","required":true}},"description":"spec","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"Node pool template","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_oidc":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer_url":{"type":"string","description_kind":"plain","required":true},"kube_id":{"type":"string","description_kind":"plain","required":true},"oidc_ca_content":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_groups_prefix":{"type":"string","description_kind":"plain","optional":true},"oidc_required_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_signing_algs":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_username_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_username_prefix":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_network_private":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"regions":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true},"regions_attributes":{"type":["set",["object",{"openstackid":"string","region":"string","status":"string"}]],"description_kind":"plain","computed":true},"regions_status":{"type":["set",["object",{"region":"string","status":"string"}]],"description_kind":"plain","deprecated":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","computed":true},"vlan_id":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_cloud_project_network_private_subnet":{"version":0,"block":{"attributes":{"cidr":{"type":"string","description_kind":"plain","computed":true},"dhcp":{"type":"bool","description_kind":"plain","optional":true},"end":{"type":"string","description_kind":"plain","required":true},"gateway_ip":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_pools":{"type":["set",["object",{"dhcp":"bool","end":"string","network":"string","region":"string","start":"string"}]],"description_kind":"plain","computed":true},"network":{"type":"string","description_kind":"plain","required":true},"network_id":{"type":"string","description_kind":"plain","required":true},"no_gateway":{"type":"bool","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"start":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_region_storage_presign":{"version":0,"block":{"attributes":{"expire":{"type":"number","description":"How long (in seconds) the URL will be valid.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description":"The S3 storage container's name.","description_kind":"plain","required":true},"object":{"type":"string","description":"Name of the object to download or upload.","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name.","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"url":{"type":"string","description":"Presigned URL.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"openstack_rc":{"type":["map","string"],"description_kind":"plain","optional":true,"computed":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"role_name":{"type":"string","description_kind":"plain","optional":true},"role_names":{"type":["list","string"],"description_kind":"plain","optional":true},"roles":{"type":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"username":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credential":{"version":0,"block":{"attributes":{"access_key_id":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"internal_user_id":{"type":"string","description_kind":"plain","computed":true},"secret_access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_policy":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_workflow_backup":{"version":0,"block":{"attributes":{"backup_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"cron":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","computed":true},"instance_id":{"type":"string","description_kind":"plain","required":true},"max_execution_count":{"type":"number","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name.","description_kind":"plain","required":true},"rotation":{"type":"number","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_cluster":{"version":0,"block":{"attributes":{"archive_allowed_networks":{"type":["set","string"],"description":"Allowed networks for ARCHIVE flow type","description_kind":"plain","optional":true},"cluster_id":{"type":"string","description_kind":"plain","optional":true},"cluster_type":{"type":"string","description":"Cluster type","description_kind":"plain","computed":true},"dedicated_input_pem":{"type":"string","description":"PEM for dedicated inputs","description_kind":"plain","computed":true,"sensitive":true},"direct_input_allowed_networks":{"type":["set","string"],"description":"Allowed networks for DIRECT_INPUT flow type","description_kind":"plain","optional":true},"direct_input_pem":{"type":"string","description":"PEM for direct inputs","description_kind":"plain","computed":true,"sensitive":true},"hostname":{"type":"string","description":"hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"initial_archive_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for ARCHIVE flow type","description_kind":"plain","computed":true,"sensitive":true},"initial_direct_input_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for DIRECT_INPUT flow type","description_kind":"plain","computed":true,"sensitive":true},"initial_query_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for QUERY flow type","description_kind":"plain","computed":true,"sensitive":true},"is_default":{"type":"bool","description":"All content generated by given service will be placed on this cluster","description_kind":"plain","computed":true},"is_unlocked":{"type":"bool","description":"Allow given service to perform advanced operations on cluster","description_kind":"plain","computed":true},"query_allowed_networks":{"type":["set","string"],"description":"Allowed networks for QUERY flow type","description_kind":"plain","optional":true},"region":{"type":"string","description":"Data center localization","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_input":{"version":0,"block":{"attributes":{"allowed_networks":{"type":["list","string"],"description":"IP blocks","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Input creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Input description","description_kind":"plain","required":true},"engine_id":{"type":"string","description":"Input engine ID","description_kind":"plain","required":true},"exposed_port":{"type":"string","description":"Port","description_kind":"plain","optional":true,"computed":true},"hostname":{"type":"string","description":"Hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"input_id":{"type":"string","description":"Input ID","description_kind":"plain","computed":true},"is_restart_required":{"type":"bool","description":"Indicate if input need to be restarted","description_kind":"plain","computed":true},"nb_instance":{"type":"number","description":"Number of instance running","description_kind":"plain","optional":true,"computed":true},"public_address":{"type":"string","description":"Input IP address","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl_certificate":{"type":"string","description":"Input SSL certificate","description_kind":"plain","computed":true,"sensitive":true},"status":{"type":"string","description":"init: configuration required, pending: ready to start, running: available","description_kind":"plain","computed":true},"stream_id":{"type":"string","description":"Associated Graylog stream","description_kind":"plain","required":true},"title":{"type":"string","description":"Input title","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Input last update","description_kind":"plain","computed":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"block_types":{"flowgger":{"nesting_mode":"list","block":{"attributes":{"log_format":{"type":"string","description":"Type of format to decode","description_kind":"plain","required":true},"log_framing":{"type":"string","description":"Indicates how messages are delimited","description_kind":"plain","required":true}},"description":"Flowgger configuration","description_kind":"plain"},"max_items":1},"logstash":{"nesting_mode":"list","block":{"attributes":{"filter_section":{"type":"string","description":"The filter section of logstash.conf","description_kind":"plain","optional":true},"input_section":{"type":"string","description":"The filter section of logstash.conf","description_kind":"plain","required":true},"pattern_section":{"type":"string","description":"The list of customs Grok patterns","description_kind":"plain","optional":true}},"description":"Logstash configuration","description_kind":"plain"},"max_items":1}},"description":"Input configuration","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_dbaas_logs_output_graylog_stream":{"version":0,"block":{"attributes":{"can_alert":{"type":"bool","description":"Indicates if the current user can create alert on the stream","description_kind":"plain","computed":true},"cold_storage_compression":{"type":"string","description":"Cold storage compression method","description_kind":"plain","optional":true,"computed":true},"cold_storage_content":{"type":"string","description":"ColdStorage content","description_kind":"plain","optional":true,"computed":true},"cold_storage_enabled":{"type":"bool","description":"Is Cold storage enabled?","description_kind":"plain","optional":true,"computed":true},"cold_storage_notify_enabled":{"type":"bool","description":"Notify on new Cold storage archive","description_kind":"plain","optional":true,"computed":true},"cold_storage_retention":{"type":"number","description":"Cold storage retention in year","description_kind":"plain","optional":true,"computed":true},"cold_storage_target":{"type":"string","description":"ColdStorage destination","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Stream creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"indexing_enabled":{"type":"bool","description":"Enable ES indexing","description_kind":"plain","optional":true,"computed":true},"indexing_max_size":{"type":"number","description":"Maximum indexing size (in GB)","description_kind":"plain","optional":true,"computed":true},"indexing_notify_enabled":{"type":"bool","description":"If set, notify when size is near 80, 90 or 100 % of the maximum configured setting","description_kind":"plain","optional":true,"computed":true},"is_editable":{"type":"bool","description":"Indicates if you are allowed to edit entry","description_kind":"plain","computed":true},"is_shareable":{"type":"bool","description":"Indicates if you are allowed to share entry","description_kind":"plain","computed":true},"nb_alert_condition":{"type":"number","description":"Number of alert condition","description_kind":"plain","computed":true},"nb_archive":{"type":"number","description":"Number of coldstored archives","description_kind":"plain","computed":true},"parent_stream_id":{"type":"string","description":"Parent stream ID","description_kind":"plain","optional":true},"pause_indexing_on_max_size":{"type":"bool","description":"If set, pause indexing when maximum size is reach","description_kind":"plain","optional":true,"computed":true},"retention_id":{"type":"string","description":"Retention ID","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Stream ID","description_kind":"plain","computed":true},"title":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Stream last update","description_kind":"plain","computed":true},"web_socket_enabled":{"type":"bool","description":"Enable Websocket","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_dedicated_ceph_acl":{"version":0,"block":{"attributes":{"family":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"netmask":{"type":"string","description_kind":"plain","required":true},"network":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition":{"version":0,"block":{"attributes":{"capacity":{"type":"number","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"protocol":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description_kind":"plain","required":true},"used_by_snapshots":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition_access":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"partition_name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition_snapshot":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"partition_name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_server_install_task":{"version":0,"block":{"attributes":{"bootid_on_destroy":{"type":"number","description":"If set, reboot the server on the specified boot id during destroy phase","description_kind":"plain","optional":true},"comment":{"type":"string","description":"Details of this task","description_kind":"plain","computed":true},"done_date":{"type":"string","description":"Completion date","description_kind":"plain","computed":true},"function":{"type":"string","description":"Function name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update","description_kind":"plain","computed":true},"partition_scheme_name":{"type":"string","description":"Partition scheme name.","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"start_date":{"type":"string","description":"Task Creation date","description_kind":"plain","computed":true},"status":{"type":"string","description":"Task status","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"block_types":{"details":{"nesting_mode":"list","block":{"attributes":{"change_log":{"type":"string","description":"Template change log details","description_kind":"plain","deprecated":true,"optional":true},"custom_hostname":{"type":"string","description":"Set up the server using the provided hostname instead of the default hostname","description_kind":"plain","optional":true},"disk_group_id":{"type":"number","description_kind":"plain","optional":true},"install_rtm":{"type":"bool","description_kind":"plain","optional":true},"install_sql_server":{"type":"bool","description_kind":"plain","optional":true},"language":{"type":"string","description":"language","description_kind":"plain","optional":true},"no_raid":{"type":"bool","description_kind":"plain","optional":true},"post_installation_script_link":{"type":"string","description":"Indicate the URL where your postinstall customisation script is located","description_kind":"plain","optional":true},"post_installation_script_return":{"type":"string","description":"indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu'","description_kind":"plain","optional":true},"reset_hw_raid":{"type":"bool","description_kind":"plain","optional":true},"soft_raid_devices":{"type":"number","description_kind":"plain","optional":true},"ssh_key_name":{"type":"string","description":"Name of the ssh key that should be installed. Password login will be disabled","description_kind":"plain","optional":true},"use_distrib_kernel":{"type":"bool","description":"Use the distribution's native kernel instead of the recommended OVH Kernel","description_kind":"plain","optional":true},"use_spla":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_dedicated_server_networking":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"Operation description","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"status":{"type":"string","description":"Operation status","description_kind":"plain","computed":true}},"block_types":{"interfaces":{"nesting_mode":"set","block":{"attributes":{"macs":{"type":["set","string"],"description":"Interface Mac address","description_kind":"plain","required":true},"type":{"type":"string","description":"Interface type","description_kind":"plain","required":true}},"description":"Interface or interfaces aggregation.","description_kind":"plain"},"min_items":1,"max_items":2},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_dedicated_server_reboot_task":{"version":0,"block":{"attributes":{"comment":{"type":"string","description":"Details of this task","description_kind":"plain","computed":true},"done_date":{"type":"string","description":"Completion date","description_kind":"plain","computed":true},"function":{"type":"string","description":"Function name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keepers":{"type":["list","string"],"description":"Change this value to recreate a reboot task.","description_kind":"plain","required":true},"last_update":{"type":"string","description":"Last update","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"start_date":{"type":"string","description":"Task Creation date","description_kind":"plain","computed":true},"status":{"type":"string","description":"Task status","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server_update":{"version":0,"block":{"attributes":{"boot_id":{"type":"number","description":"The boot id of your dedicated server.","description_kind":"plain","optional":true,"computed":true},"boot_script":{"type":"string","description":"The boot script of your dedicated server.","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"monitoring":{"type":"bool","description":"Icmp monitoring state","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"state":{"type":"string","description":"error, hacked, hackedBlocked, ok","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_domain_zone":{"version":0,"block":{"attributes":{"dnssec_supported":{"type":"bool","description":"Is DNSSEC supported by this zone","description_kind":"plain","computed":true},"has_dns_anycast":{"type":"bool","description":"hasDnsAnycast flag of the DNS zone","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update date of the DNS zone","description_kind":"plain","computed":true},"name":{"type":"string","description":"Zone name","description_kind":"plain","computed":true},"name_servers":{"type":["list","string"],"description":"Name servers that host the DNS zone","description_kind":"plain","computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_domain_zone_record":{"version":0,"block":{"attributes":{"fieldtype":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"subdomain":{"type":"string","description_kind":"plain","optional":true},"target":{"type":"string","description_kind":"plain","required":true},"ttl":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_domain_zone_redirection":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keywords":{"type":"string","description_kind":"plain","optional":true},"subdomain":{"type":"string","description_kind":"plain","optional":true},"target":{"type":"string","description_kind":"plain","required":true},"title":{"type":"string","description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","required":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase":{"version":0,"block":{"attributes":{"cpu":{"type":"number","description":"Number of CPU on your private database","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"Datacenter where this private database is located","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"Name displayed in customer panel for your private database","description_kind":"plain","optional":true,"computed":true},"hostname":{"type":"string","description":"Private database hostname","description_kind":"plain","computed":true},"hostname_ftp":{"type":"string","description":"Private database FTP hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"infrastructure":{"type":"string","description":"Infrastructure where service was stored","description_kind":"plain","computed":true},"offer":{"type":"string","description":"Type of the private database offer","description_kind":"plain","computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"port":{"type":"number","description":"Private database service port","description_kind":"plain","computed":true},"port_ftp":{"type":"number","description":"Private database FTP port","description_kind":"plain","computed":true},"quota_size":{"type":"number","description":"Space allowed (in MB) on your private database","description_kind":"plain","computed":true},"quota_used":{"type":"number","description":"Sapce used (in MB) on your private database","description_kind":"plain","computed":true},"ram":{"type":"number","description":"Amount of ram (in MB) on your private database","description_kind":"plain","computed":true},"server":{"type":"string","description":"Private database server name","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description":"Private database state","description_kind":"plain","computed":true},"type":{"type":"string","description":"Private database type","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description":"Private database available versions","description_kind":"plain","computed":true},"version_label":{"type":"string","description":"Private database version label","description_kind":"plain","computed":true},"version_number":{"type":"number","description":"Private database version number","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_database":{"version":0,"block":{"attributes":{"database_name":{"type":"string","description":"Name of your new database","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"password":{"type":"string","description":"Password for the new user ( alphanumeric and 8 characters minimum )","description_kind":"plain","required":true,"sensitive":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect on your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user_grant":{"version":0,"block":{"attributes":{"database_name":{"type":"string","description":"Database name where add grant","description_kind":"plain","required":true},"grant":{"type":"string","description":"Database name where add grant","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect on your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_whitelist":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"The whitelisted IP in your instance","description_kind":"plain","required":true},"name":{"type":"string","description":"Custom name for your Whitelisted IP","description_kind":"plain","required":true},"service":{"type":"bool","description":"Authorize this IP to access service port","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"sftp":{"type":"bool","description":"Authorize this IP to access SFTP port","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_permissions_group":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","required":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policy":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identities":{"type":["set","string"],"description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"permissions_groups":{"type":["set","string"],"description_kind":"plain","optional":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","required":true},"updated_at":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_group":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","optional":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_ip_move":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"organisation_id":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","computed":true},"task_start_date":{"type":"string","description":"Starting date and time field of the current IP task that is in charge of changing the service the IP is attached to","description_kind":"plain","computed":true},"task_status":{"type":"string","description":"Status field of the current IP task that is in charge of changing the service the IP is attached to","description_kind":"plain","computed":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"block_types":{"routed_to":{"nesting_mode":"list","block":{"attributes":{"service_name":{"type":"string","description":"Service where ip is routed to","description_kind":"plain","required":true}},"description":"Routage information","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_ip_reverse":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"ip_reverse":{"type":"string","description_kind":"plain","required":true},"reverse":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_ip_service":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"organisation_id":{"type":"string","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"routed_to":{"type":["list",["object",{"service_name":"string"}]],"description":"Routage information","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_iploadbalancing":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Set the name displayed in ManagerV6 for your iplb (max 50 chars)","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description":"Your IP load balancing","description_kind":"plain","computed":true},"ipv4":{"type":"string","description":"The IPV4 associated to your IP load balancing","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The IPV6 associated to your IP load balancing. DEPRECATED.","description_kind":"plain","computed":true},"metrics_token":{"type":"string","description":"The metrics token associated with your IP load balancing","description_kind":"plain","computed":true,"sensitive":true},"offer":{"type":"string","description":"The offer of your IP load balancing","description_kind":"plain","computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"orderable_zone":{"type":["set",["object",{"name":"string","plan_code":"string"}]],"description":"Available additional zone for your Load Balancer","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","computed":true},"ssl_configuration":{"type":"string","description":"Modern oldest compatible clients : Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8. Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7. Intermediate if null.","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description":"Current state of your IP","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vrack_eligibility":{"type":"bool","description":"Vrack eligibility","description_kind":"plain","computed":true},"vrack_name":{"type":"string","description":"Name of the vRack on which the current Load Balancer is attached to, as it is named on vRack product","description_kind":"plain","computed":true},"zone":{"type":["list","string"],"description":"Location where your service is","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_iploadbalancing_http_farm":{"version":0,"block":{"attributes":{"balance":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stickiness":{"type":"string","description_kind":"plain","optional":true},"vrack_network_id":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"block_types":{"probe":{"nesting_mode":"list","block":{"attributes":{"force_ssl":{"type":"bool","description_kind":"plain","optional":true},"interval":{"type":"number","description_kind":"plain","optional":true},"match":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","optional":true,"computed":true},"negate":{"type":"bool","description_kind":"plain","optional":true},"pattern":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description_kind":"plain","required":true},"url":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_http_farm_server":{"version":0,"block":{"attributes":{"address":{"type":"string","description_kind":"plain","required":true},"backup":{"type":"bool","description_kind":"plain","optional":true},"chain":{"type":"string","description_kind":"plain","optional":true},"cookie":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"farm_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"on_marked_down":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"probe":{"type":"bool","description_kind":"plain","optional":true},"proxy_protocol_version":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"status":{"type":"string","description_kind":"plain","required":true},"weight":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_http_frontend":{"version":0,"block":{"attributes":{"allowed_source":{"type":["list","string"],"description_kind":"plain","optional":true},"dedicated_ipfo":{"type":["set","string"],"description_kind":"plain","optional":true},"default_farm_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"default_ssl_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"disabled":{"type":"bool","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"hsts":{"type":"bool","description_kind":"plain","optional":true},"http_header":{"type":["list","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"string","description_kind":"plain","required":true},"redirect_location":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_http_route":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your route, this field is for you","description_kind":"plain","optional":true},"frontend_id":{"type":"number","description":"Route traffic for this frontend","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rules":{"type":["list",["object",{"field":"string","match":"string","negate":"bool","pattern":"string","rule_id":"number","sub_field":"string"}]],"description":"List of rules to match to trigger action","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","required":true},"status":{"type":"string","description":"Route status. Routes in \"ok\" state are ready to operate","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Route priority ([0..255]). 0 if null. Highest priority routes are evaluated last. Only the first matching route will trigger an action","description_kind":"plain","optional":true,"computed":true}},"block_types":{"action":{"nesting_mode":"list","block":{"attributes":{"status":{"type":"number","description":"HTTP status code for \"redirect\" and \"reject\" actions","description_kind":"plain","optional":true},"target":{"type":"string","description":"Farm ID for \"farm\" action type or URL template for \"redirect\" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target","description_kind":"plain","optional":true},"type":{"type":"string","description":"Action to trigger if all the rules of this route matches","description_kind":"plain","required":true}},"description":"Action triggered when all rules match","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_http_route_rule":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true},"field":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"match":{"type":"string","description_kind":"plain","required":true},"negate":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"route_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"sub_field":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_refresh":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keepers":{"type":["list","string"],"description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_farm":{"version":0,"block":{"attributes":{"balance":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stickiness":{"type":"string","description_kind":"plain","optional":true},"vrack_network_id":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"block_types":{"probe":{"nesting_mode":"list","block":{"attributes":{"force_ssl":{"type":"bool","description_kind":"plain","optional":true},"interval":{"type":"number","description_kind":"plain","optional":true},"match":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","optional":true},"negate":{"type":"bool","description_kind":"plain","optional":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","required":true},"url":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_farm_server":{"version":0,"block":{"attributes":{"address":{"type":"string","description_kind":"plain","required":true},"backup":{"type":"bool","description_kind":"plain","optional":true},"chain":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"farm_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"on_marked_down":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"probe":{"type":"bool","description_kind":"plain","optional":true},"proxy_protocol_version":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"status":{"type":"string","description_kind":"plain","required":true},"weight":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_frontend":{"version":0,"block":{"attributes":{"allowed_source":{"type":["list","string"],"description_kind":"plain","optional":true},"dedicated_ipfo":{"type":["list","string"],"description_kind":"plain","optional":true},"default_farm_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"default_ssl_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"disabled":{"type":"bool","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_route":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your route, this field is for you","description_kind":"plain","optional":true},"frontend_id":{"type":"number","description":"Route traffic for this frontend","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rules":{"type":["list",["object",{"field":"string","match":"string","negate":"bool","pattern":"string","rule_id":"number","sub_field":"string"}]],"description":"List of rules to match to trigger action","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","required":true},"status":{"type":"string","description":"Route status. Routes in \"ok\" state are ready to operate","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Route priority ([0..255]). 0 if null. Highest priority routes are evaluated last. Only the first matching route will trigger an action","description_kind":"plain","optional":true,"computed":true}},"block_types":{"action":{"nesting_mode":"list","block":{"attributes":{"target":{"type":"string","description":"Farm ID for \"farm\" action type, empty for others","description_kind":"plain","optional":true},"type":{"type":"string","description":"Action to trigger if all the rules of this route matches","description_kind":"plain","required":true}},"description":"Action triggered when all rules match","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_route_rule":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true},"field":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"match":{"type":"string","description_kind":"plain","required":true},"negate":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"route_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"sub_field":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_network":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your vrack network","description_kind":"plain","optional":true},"farm_id":{"type":["list","number"],"description":"This attribute is there for documentation purpose only and isnt passed to the OVH API as it may conflicts with http/tcp farms `vrack_network_id` attribute","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"nat_ip":{"type":"string","description":"An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your IPloadbalancer","description_kind":"plain","required":true},"subnet":{"type":"string","description":"IP block of the private network in the vRack","description_kind":"plain","required":true},"vlan":{"type":"number","description":"VLAN of the private network in the vRack. 0 if the private network is not in a VLAN","description_kind":"plain","optional":true,"computed":true},"vrack_network_id":{"type":"number","description":"Internal Load Balancer identifier of the vRack private network","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_client":{"version":0,"block":{"attributes":{"callback_urls":{"type":["list","string"],"description":"Callback URLs of the applications using this oauth2 client. Required if using the AUTHORIZATION_CODE flow.","description_kind":"plain","optional":true},"client_id":{"type":"string","description":"Client ID for the oauth2 client, generated during the resource creation.","description_kind":"plain","computed":true},"client_secret":{"type":"string","description":"Secret for the oauth2 client, generated during the oauth2 client creation.","description_kind":"plain","computed":true,"sensitive":true},"description":{"type":"string","description":"A description of your oauth2 client.","description_kind":"plain","required":true},"flow":{"type":"string","description":"OAuth2 flow type implemented for this oauth2 client. Can be either AUTHORIZATION_CODE or CLIENT_CREDENTIALS","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity":{"type":"string","description":"URN that will allow you to associate this oauth2 client with an access policy","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_identity_group":{"version":0,"block":{"attributes":{"creation":{"type":"string","description_kind":"plain","computed":true},"default_group":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"role":{"type":"string","description_kind":"plain","optional":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_identity_user":{"version":0,"block":{"attributes":{"creation":{"type":"string","description":"Creation date of this user","description_kind":"plain","computed":true},"description":{"type":"string","description":"User description","description_kind":"plain","optional":true},"email":{"type":"string","description":"User's email","description_kind":"plain","required":true},"group":{"type":"string","description":"User's group","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update of this user","description_kind":"plain","computed":true},"login":{"type":"string","description":"User's login suffix","description_kind":"plain","required":true},"password":{"type":"string","description":"User's password","description_kind":"plain","required":true,"sensitive":true},"password_last_update":{"type":"string","description":"When the user changed his password for the last time","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current user's status","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_installation_template":{"version":0,"block":{"attributes":{"available_languages":{"type":["list","string"],"description":"List of all language available for this template","description_kind":"plain","computed":true},"base_template_name":{"type":"string","description":"OVH template name yours will be based on, choose one among the list given by compatibleTemplates function","description_kind":"plain","required":true},"beta":{"type":"bool","description":"This distribution is new and, although tested and functional, may still display odd behaviour","description_kind":"plain","computed":true},"bit_format":{"type":"number","description":"This template bit format (32 or 64)","description_kind":"plain","computed":true},"category":{"type":"string","description":"Category of this template (informative only). (basic, customer, hosting, other, readyToUse, virtualisation)","description_kind":"plain","computed":true},"default_language":{"type":"string","description":"The default language of this template","description_kind":"plain","required":true},"deprecated":{"type":"bool","description":"is this distribution deprecated","description_kind":"plain","computed":true},"description":{"type":"string","description":"information about this template","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"the distribution this template is based on","description_kind":"plain","computed":true},"family":{"type":"string","description":"this template family type (bsd,linux,solaris,windows)","description_kind":"plain","computed":true},"filesystems":{"type":["list","string"],"description":"Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs)","description_kind":"plain","computed":true},"hard_raid_configuration":{"type":"bool","description":"This distribution supports hardware raid configuration through the OVH API","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_modification":{"type":"string","description":"Date of last modification of the base image","description_kind":"plain","computed":true},"lvm_ready":{"type":"bool","description":"This distribution supports Logical Volumes (Linux LVM)","description_kind":"plain","computed":true},"remove_default_partition_schemes":{"type":"bool","description":"Remove default partition schemes at creation","description_kind":"plain","optional":true,"computed":true},"supports_distribution_kernel":{"type":"bool","description":"This distribution supports installation using the distribution's native kernel instead of the recommended OVH kernel","description_kind":"plain","computed":true},"supports_rtm":{"type":"bool","description":"This distribution supports RTM software","description_kind":"plain","computed":true},"supports_sql_server":{"type":"bool","description":"This distribution supports the microsoft SQL server","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"This template name","description_kind":"plain","required":true}},"block_types":{"customization":{"nesting_mode":"list","block":{"attributes":{"change_log":{"type":"string","description":"Template change log details","description_kind":"plain","deprecated":true,"optional":true},"custom_hostname":{"type":"string","description":"Set up the server using the provided hostname instead of the default hostname","description_kind":"plain","optional":true},"post_installation_script_link":{"type":"string","description":"Indicate the URL where your postinstall customisation script is located","description_kind":"plain","optional":true},"post_installation_script_return":{"type":"string","description":"indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu'","description_kind":"plain","optional":true},"rating":{"type":"number","description_kind":"plain","deprecated":true,"optional":true},"ssh_key_name":{"type":"string","description":"Name of the ssh key that should be installed. Password login will be disabled","description_kind":"plain","optional":true},"use_distribution_kernel":{"type":"bool","description":"Use the distribution's native kernel instead of the recommended OVH Kernel","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"priority":{"type":"number","description":"on a reinstall, if a partitioning scheme is not specified, the one with the higher priority will be used by default, among all the compatible partitioning schemes (given the underlying hardware specifications)","description_kind":"plain","required":true},"template_name":{"type":"string","description":"This template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme_hardware_raid":{"version":0,"block":{"attributes":{"disks":{"type":["list","string"],"description":"Disk List. Syntax is cX:dY for disks and [cX:dY,cX:dY] for groups. With X and Y resp. the controller id and the disk id","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"RAID mode (raid0, raid1, raid10, raid5, raid50, raid6, raid60)","description_kind":"plain","required":true},"name":{"type":"string","description":"Hardware RAID name","description_kind":"plain","required":true},"scheme_name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"step":{"type":"number","description":"Specifies the creation order of the hardware RAID","description_kind":"plain","required":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme_partition":{"version":0,"block":{"attributes":{"filesystem":{"type":"string","description":"Partition filesystem","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mountpoint":{"type":"string","description":"partition mount point","description_kind":"plain","required":true},"order":{"type":"number","description":"step or order. specifies the creation order of the partition on the disk","description_kind":"plain","required":true},"raid":{"type":"string","description":"raid partition type","description_kind":"plain","optional":true,"computed":true},"scheme_name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"size":{"type":"number","description":"size of partition in MB, 0 =\u003e rest of the space","description_kind":"plain","required":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true},"type":{"type":"string","description":"partition type","description_kind":"plain","required":true},"volume_name":{"type":"string","description":"The volume name needed for proxmox distribution","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_me_ssh_key":{"version":0,"block":{"attributes":{"default":{"type":"bool","description":"True when this public Ssh key is used for rescue mode and reinstallations","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description":"ASCII encoded public Ssh key","description_kind":"plain","required":true},"key_name":{"type":"string","description":"Name of this public Ssh key","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"yourvrackdescription","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"yourvrackname","description_kind":"plain","optional":true,"computed":true},"order":{"type":["list",["object",{"date":"string","details":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"expiration_date":"string","order_id":"number"}]],"description":"Details about an Order","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_vrack_cloudproject":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"Service name of the vrack resource.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack_dedicated_server":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"server_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true}},"description_kind":"plain","deprecated":true}},"ovh_vrack_dedicated_server_interface":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"interface_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the vrack resource.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack_ip":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"Your IP block.","description_kind":"plain","required":true},"gateway":{"type":"string","description":"Your gateway","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Your IP block","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","required":true},"zone":{"type":"string","description":"Where you want your block announced on the network","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vrack_iploadbalancing":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description":"Your ipLoadbalancing","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","required":true}},"description_kind":"plain"}}},"data_source_schemas":{"ovh_cloud_project_capabilities_containerregistry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list",["object",{"plans":["list",["object",{"code":"string","created_at":"string","features":["list",["object",{"vulnerability":"bool"}]],"id":"string","name":"string","registry_limits":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"updated_at":"string"}]],"region_name":"string"}]],"description":"List of container registry capability for a single region","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_capabilities_containerregistry_filter":{"version":0,"block":{"attributes":{"code":{"type":"string","description":"Plan code from catalog","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Plan creation date","description_kind":"plain","computed":true},"features":{"type":["list",["object",{"vulnerability":"bool"}]],"description":"Features of the plan","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Plan name","description_kind":"plain","computed":true},"plan_name":{"type":"string","description":"Plan name of the registry.","description_kind":"plain","required":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","required":true},"registry_limits":{"type":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"description":"Container registry limits","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Plan last update date","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistries":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list",["object",{"created_at":"string","id":"string","name":"string","project_id":"string","region":"string","size":"number","status":"string","updated_at":"string","url":"string","version":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Registry creation date","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Registry name","description_kind":"plain","computed":true},"project_id":{"type":"string","description":"Project ID of your registry","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Current size of the registry (bytes)","description_kind":"plain","computed":true},"status":{"type":"string","description":"Registry status","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Registry last update date","description_kind":"plain","computed":true},"url":{"type":"string","description":"Access url of the registry","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of your registry","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_management":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["list",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_registry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["list",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_oidc":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"oidc_admin_group":{"type":"string","description_kind":"plain","optional":true},"oidc_auto_onboard":{"type":"bool","description_kind":"plain","optional":true},"oidc_client_id":{"type":"string","description_kind":"plain","optional":true},"oidc_endpoint":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_name":{"type":"string","description_kind":"plain","optional":true},"oidc_scope":{"type":"string","description_kind":"plain","optional":true},"oidc_user_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_verify_cert":{"type":"bool","description_kind":"plain","optional":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"result":{"type":["list",["object",{"email":"string","id":"string","user":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database":{"version":0,"block":{"attributes":{"advanced_configuration":{"type":["map","string"],"description":"Advanced configuration key / value","description_kind":"plain","computed":true},"backup_regions":{"type":["list","string"],"description":"List of region where backups are pushed","description_kind":"plain","computed":true},"backup_time":{"type":"string","description":"Time on which backups start every day","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Date of the creation of the cluster","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the cluster","description_kind":"plain","computed":true},"disk_size":{"type":"number","description":"Disk size attributes of the cluster","description_kind":"plain","computed":true},"disk_type":{"type":"string","description":"Disk type attributes of the cluster","description_kind":"plain","computed":true},"endpoints":{"type":["list",["object",{"component":"string","domain":"string","path":"string","port":"number","scheme":"string","ssl":"bool","ssl_mode":"string","uri":"string"}]],"description":"List of all endpoints of the service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"flavor":{"type":"string","description":"The node flavor used for this cluster","description_kind":"plain","computed":true},"id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"kafka_rest_api":{"type":"bool","description":"Defines whether the REST API is enabled on a Kafka cluster","description_kind":"plain","computed":true},"maintenance_time":{"type":"string","description":"Time on which maintenances can start every day","description_kind":"plain","computed":true},"network_type":{"type":"string","description":"Type of network of the cluster","description_kind":"plain","computed":true},"nodes":{"type":["list",["object",{"network_id":"string","region":"string","subnet_id":"string"}]],"description":"List of nodes composing the service","description_kind":"plain","computed":true},"opensearch_acls_enabled":{"type":"bool","description":"Defines whether the ACLs are enabled on an Opensearch cluster","description_kind":"plain","computed":true},"plan":{"type":"string","description":"Plan of the cluster","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the cluster","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of the engine deployed on the cluster","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_capabilities":{"version":0,"block":{"attributes":{"engines":{"type":["set",["object",{"default_version":"string","description":"string","name":"string","ssl_modes":["set","string"],"versions":["set","string"]}]],"description":"Database engines available","description_kind":"plain","computed":true},"flavors":{"type":["set",["object",{"core":"number","memory":"number","name":"string","storage":"number"}]],"description":"Flavors available","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"options":{"type":["set",["object",{"name":"string","type":"string"}]],"description":"Options available","description_kind":"plain","computed":true},"plans":{"type":["set",["object",{"backup_retention":"string","description":"string","name":"string"}]],"description":"Plans available","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_certificates":{"version":0,"block":{"attributes":{"ca":{"type":"string","description":"CA certificate used for the service","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_database":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"default":{"type":"bool","description":"Defines if the database has been created by default","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the database","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_databases":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"database_ids":{"type":["list","string"],"description":"List of databases ids","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_integration":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"destination_service_id":{"type":"string","description":"ID of the destination service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description":"Integration ID","description_kind":"plain","required":true},"parameters":{"type":["map","string"],"description":"Parameters for the integration","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"source_service_id":{"type":"string","description":"ID of the source service","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status of the integration","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of the integration","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_integrations":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"integration_ids":{"type":["list","string"],"description":"List of integrations ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_ip_restrictions":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"ips":{"type":["set","string"],"description":"List of IP restriction","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_acl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Acl ID","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission to give to this username on this topic","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic":{"type":"string","description":"Topic affected by this acl","description_kind":"plain","computed":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_acls":{"version":0,"block":{"attributes":{"acl_ids":{"type":["list","string"],"description":"List of acl ids","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Shema registry ACL ID","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission to give to this username on this resource","description_kind":"plain","computed":true},"resource":{"type":"string","description":"Resource affected by this ACL","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this ACL","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacls":{"version":0,"block":{"attributes":{"acl_ids":{"type":["list","string"],"description":"List of schema registry acl ids","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topic":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Topic ID","description_kind":"plain","required":true},"min_insync_replicas":{"type":"number","description":"Minimum insync replica accepted for this topic","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the topic","description_kind":"plain","computed":true},"partitions":{"type":"number","description":"Number of partitions for this topic","description_kind":"plain","computed":true},"replication":{"type":"number","description":"Number of replication for this topic","description_kind":"plain","computed":true},"retention_bytes":{"type":"number","description":"Number of bytes for the retention of the data for this topic","description_kind":"plain","computed":true},"retention_hours":{"type":"number","description":"Number of hours for the retention of the data for this topic","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topics":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic_ids":{"type":["list","string"],"description":"List of topic ids","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_user_access":{"version":0,"block":{"attributes":{"cert":{"type":"string","description":"User cert","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description":"User key for the cert","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description_kind":"plain","required":true},"user_id":{"type":"string","description":"Id of the user","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespace":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the namespace","description_kind":"plain","required":true},"resolution":{"type":"string","description":"Resolution for an aggregated namespace","description_kind":"plain","computed":true},"retention_block_data_expiration_duration":{"type":"string","description":"Controls how long we wait before expiring stale data","description_kind":"plain","computed":true},"retention_block_size_duration":{"type":"string","description":"Controls how long to keep a block in memory before flushing to a fileset on disk","description_kind":"plain","computed":true},"retention_buffer_future_duration":{"type":"string","description":"Controls how far into the future writes to the namespace will be accepted","description_kind":"plain","computed":true},"retention_buffer_past_duration":{"type":"string","description":"Controls how far into the past writes to the namespace will be accepted","description_kind":"plain","computed":true},"retention_period_duration":{"type":"string","description":"Controls the duration of time that M3DB will retain data for the namespace","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"snapshot_enabled":{"type":"bool","description":"Defines whether M3DB will create snapshot files for this namespace","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of namespace","description_kind":"plain","computed":true},"writes_to_commit_log_enabled":{"type":"bool","description":"Defines whether M3DB will include writes to this namespace in the commit log","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespaces":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"namespace_ids":{"type":["list","string"],"description":"List of namespaces ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"group":{"type":"string","description":"Group of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_mongodb_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user with the authentication database in the format name@authDB","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_pattern":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Pattern ID","description_kind":"plain","required":true},"max_index_count":{"type":"number","description":"Maximum number of index for this pattern","description_kind":"plain","computed":true},"pattern":{"type":"string","description":"Pattern format","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_patterns":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"pattern_ids":{"type":["list","string"],"description":"List of pattern ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_user":{"version":0,"block":{"attributes":{"acls":{"type":["set",["object",{"pattern":"string","permission":"string"}]],"description":"Acls of the user","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"database_id":{"type":"string","description":"Database used for the connection pool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"Connection mode to the connection pool","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the connection pool","description_kind":"plain","required":true},"port":{"type":"number","description":"Port of the connection pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Size of the connection pool","description_kind":"plain","computed":true},"ssl_mode":{"type":"string","description":"SSL connection mode for the pool","description_kind":"plain","computed":true},"uri":{"type":"string","description":"Connection URI to the pool","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"User authorized to connect to the pool, if none all the users are allowed","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_redis_user":{"version":0,"block":{"attributes":{"categories":{"type":["set","string"],"description":"Categories of the user","description_kind":"plain","computed":true},"channels":{"type":["set","string"],"description":"Channels of the user","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"commands":{"type":["set","string"],"description":"Commands of the user","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keys":{"type":["set","string"],"description":"Keys of the user","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_users":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"user_ids":{"type":["list","string"],"description":"List of users ids","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_databases":{"version":0,"block":{"attributes":{"cluster_ids":{"type":["list","string"],"description":"List of database clusters uuids","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_failover_ip_attach":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"IP block","description_kind":"plain","optional":true,"computed":true},"continent_code":{"type":"string","description":"Ip continent","description_kind":"plain","optional":true,"computed":true},"geo_loc":{"type":"string","description":"Ip location","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"Ip id","description_kind":"plain","computed":true},"ip":{"type":"string","description":"Ip","description_kind":"plain","optional":true,"computed":true},"progress":{"type":"number","description":"Current operation progress in percent","description_kind":"plain","computed":true},"routed_to":{"type":"string","description":"Instance where ip is routed to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"status":{"type":"string","description":"Ip status","description_kind":"plain","computed":true},"sub_type":{"type":"string","description":"IP sub type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_kube":{"version":0,"block":{"attributes":{"control_plane_is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"kube_id":{"type":"string","description_kind":"plain","required":true},"kube_proxy_mode":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","optional":true},"next_upgrade_versions":{"type":["set","string"],"description_kind":"plain","computed":true},"nodes_url":{"type":"string","description_kind":"plain","computed":true},"private_network_id":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"update_policy":{"type":"string","description_kind":"plain","optional":true},"url":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true}},"block_types":{"customization":{"nesting_mode":"set","block":{"block_types":{"apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain","deprecated":true}},"customization_apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"customization_kube_proxy":{"nesting_mode":"set","block":{"block_types":{"iptables":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"ipvs":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"scheduler":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true},"tcp_fin_timeout":{"type":"string","description_kind":"plain","optional":true},"tcp_timeout":{"type":"string","description_kind":"plain","optional":true},"udp_timeout":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_cloud_project_kube_iprestrictions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description":"List of IP restrictions for the cluster","description_kind":"plain","computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool":{"version":0,"block":{"attributes":{"anti_affinity":{"type":"bool","description":"Enable anti affinity groups for nodes in the pool","description_kind":"plain","computed":true},"autoscale":{"type":"bool","description":"Enable auto-scaling for the pool","description_kind":"plain","computed":true},"autoscaling_scale_down_unneeded_time_seconds":{"type":"number","description":"scaleDownUnneededTimeSeconds for autoscaling","description_kind":"plain","computed":true},"autoscaling_scale_down_unready_time_seconds":{"type":"number","description":"scaleDownUnreadyTimeSeconds for autoscaling","description_kind":"plain","computed":true},"autoscaling_scale_down_utilization_threshold":{"type":"number","description":"scaleDownUtilizationThreshold for autoscaling","description_kind":"plain","computed":true},"available_nodes":{"type":"number","description":"Number of nodes which are actually ready in the pool","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Creation date","description_kind":"plain","computed":true},"current_nodes":{"type":"number","description":"Number of nodes present in the pool","description_kind":"plain","computed":true},"desired_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"flavor":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"flavor_name":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"max_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"min_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"monthly_billed":{"type":"bool","description":"Enable monthly billing on all nodes in the pool","description_kind":"plain","computed":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","required":true},"project_id":{"type":"string","description":"Project id","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"size_status":{"type":"string","description":"Status describing the state between number of nodes wanted and available ones","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status","description_kind":"plain","computed":true},"up_to_date_nodes":{"type":"number","description":"Number of nodes with latest version installed in the pool","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date","description_kind":"plain","computed":true}},"block_types":{"template":{"nesting_mode":"set","block":{"block_types":{"metadata":{"nesting_mode":"set","block":{"attributes":{"annotations":{"type":["map","string"],"description":"annotations","description_kind":"plain","optional":true},"finalizers":{"type":["list","string"],"description":"finalizers","description_kind":"plain","optional":true},"labels":{"type":["map","string"],"description":"labels","description_kind":"plain","optional":true}},"description":"metadata","description_kind":"plain"},"max_items":1},"spec":{"nesting_mode":"set","block":{"attributes":{"taints":{"type":["list",["map","string"]],"description":"taints","description_kind":"plain","optional":true},"unschedulable":{"type":"bool","description":"unschedulable","description_kind":"plain","optional":true}},"description":"spec","description_kind":"plain"},"max_items":1}},"description":"Node pool template","description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool_nodes":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","required":true},"nodes":{"type":["list",["object",{"created_at":"string","deployed_at":"string","flavor":"string","id":"string","instance_id":"string","is_up_to_date":"bool","name":"string","node_pool_id":"string","project_id":"string","status":"string","updated_at":"string","version":"string"}]],"description":"Nodes composing the node pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodes":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"nodes":{"type":["list",["object",{"created_at":"string","deployed_at":"string","flavor":"string","id":"string","instance_id":"string","is_up_to_date":"bool","name":"string","node_pool_id":"string","project_id":"string","status":"string","updated_at":"string","version":"string"}]],"description":"Nodes composing the cluster","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_oidc":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer_url":{"type":"string","description_kind":"plain","optional":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"oidc_ca_content":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_groups_prefix":{"type":"string","description_kind":"plain","optional":true},"oidc_required_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_signing_algs":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_username_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_username_prefix":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_region":{"version":0,"block":{"attributes":{"continent_code":{"type":"string","description_kind":"plain","computed":true},"datacenter_location":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"services":{"type":["set",["object",{"name":"string","status":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_regions":{"version":0,"block":{"attributes":{"has_services_up":{"type":["list","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"names":{"type":["set","string"],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"roles":{"type":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true},"username":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credential":{"version":0,"block":{"attributes":{"access_key_id":{"type":"string","description":"The access key","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"secret_access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credentials":{"version":0,"block":{"attributes":{"access_key_ids":{"type":["list","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_policy":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"users":{"type":["list",["object",{"creation_date":"string","description":"string","roles":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"status":"string","user_id":"string","username":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_vrack":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_cluster":{"version":0,"block":{"attributes":{"archive_allowed_networks":{"type":["set","string"],"description":"Allowed networks for ARCHIVE flow type","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description_kind":"plain","optional":true},"cluster_type":{"type":"string","description":"Cluster type","description_kind":"plain","computed":true},"dedicated_input_pem":{"type":"string","description":"PEM for dedicated inputs","description_kind":"plain","computed":true,"sensitive":true},"direct_input_allowed_networks":{"type":["set","string"],"description":"Allowed networks for DIRECT_INPUT flow type","description_kind":"plain","computed":true},"direct_input_pem":{"type":"string","description":"PEM for direct inputs","description_kind":"plain","computed":true,"sensitive":true},"hostname":{"type":"string","description":"hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description":"All content generated by given service will be placed on this cluster","description_kind":"plain","computed":true},"is_unlocked":{"type":"bool","description":"Allow given service to perform advanced operations on cluster","description_kind":"plain","computed":true},"query_allowed_networks":{"type":["set","string"],"description":"Allowed networks for QUERY flow type","description_kind":"plain","computed":true},"region":{"type":"string","description":"Data center localization","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_clusters":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true},"uuids":{"type":["set","string"],"description":"UUID of clusters","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_input_engine":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_deprecated":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"version":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_output_graylog_stream":{"version":0,"block":{"attributes":{"can_alert":{"type":"bool","description":"Indicates if the current user can create alert on the stream","description_kind":"plain","computed":true},"cold_storage_compression":{"type":"string","description":"Cold storage compression method","description_kind":"plain","computed":true},"cold_storage_content":{"type":"string","description":"ColdStorage content","description_kind":"plain","computed":true},"cold_storage_enabled":{"type":"bool","description":"Is Cold storage enabled?","description_kind":"plain","computed":true},"cold_storage_notify_enabled":{"type":"bool","description":"Notify on new Cold storage archive","description_kind":"plain","computed":true},"cold_storage_retention":{"type":"number","description":"Cold storage retention in year","description_kind":"plain","computed":true},"cold_storage_target":{"type":"string","description":"ColdStorage destination","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Stream creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Stream description","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"indexing_enabled":{"type":"bool","description":"Enable ES indexing","description_kind":"plain","computed":true},"indexing_max_size":{"type":"number","description":"Maximum indexing size (in GB)","description_kind":"plain","computed":true},"indexing_notify_enabled":{"type":"bool","description":"If set, notify when size is near 80, 90 or 100 % of the maximum configured setting","description_kind":"plain","computed":true},"is_editable":{"type":"bool","description":"Indicates if you are allowed to edit entry","description_kind":"plain","computed":true},"is_shareable":{"type":"bool","description":"Indicates if you are allowed to share entry","description_kind":"plain","computed":true},"nb_alert_condition":{"type":"number","description":"Number of alert condition","description_kind":"plain","computed":true},"nb_archive":{"type":"number","description":"Number of coldstored archives","description_kind":"plain","computed":true},"parent_stream_id":{"type":"string","description":"Parent stream ID","description_kind":"plain","computed":true},"pause_indexing_on_max_size":{"type":"bool","description":"If set, pause indexing when maximum size is reach","description_kind":"plain","computed":true},"retention_id":{"type":"string","description":"Retention ID","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Stream ID","description_kind":"plain","computed":true},"title":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Stream last update","description_kind":"plain","computed":true},"web_socket_enabled":{"type":"bool","description":"Enable Websocket","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_ceph":{"version":0,"block":{"attributes":{"ceph_mons":{"type":["list","string"],"description_kind":"plain","computed":true},"ceph_version":{"type":"string","description_kind":"plain","optional":true,"computed":true},"crush_tunables":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description_kind":"plain","computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_installation_templates":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_nasha":{"version":0,"block":{"attributes":{"can_create_partition":{"type":"bool","description":"True, if partition creation is allowed on this HA-NAS","description_kind":"plain","computed":true},"custom_name":{"type":"string","description":"The name you give to the HA-NAS","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"area of HA-NAS","description_kind":"plain","computed":true},"disk_type":{"type":"string","description":"the disk type of the HA-NAS","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Access IP of HA-NAS","description_kind":"plain","computed":true},"monitored":{"type":"bool","description":"Send an email to customer if any issue is detected","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The storage service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true},"zpool_capacity":{"type":"number","description":"percentage of HA-NAS space used in %","description_kind":"plain","computed":true},"zpool_size":{"type":"number","description":"the size of the HA-NAS","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server":{"version":0,"block":{"attributes":{"boot_id":{"type":"number","description_kind":"plain","computed":true},"boot_script":{"type":"string","description_kind":"plain","computed":true},"commercial_range":{"type":"string","description":"dedicater server commercial range","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"dedicated datacenter localisation (bhs1,bhs2,...)","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","computed":true},"enabled_public_vnis":{"type":["list","string"],"description":"List of enabled public VNI uuids","description_kind":"plain","computed":true},"enabled_vrack_aggregation_vnis":{"type":["list","string"],"description":"List of enabled vrack_aggregation VNI uuids","description_kind":"plain","computed":true},"enabled_vrack_vnis":{"type":["list","string"],"description":"List of enabled vrack VNI uuids","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"dedicated server ip (IPv4)","description_kind":"plain","computed":true},"ips":{"type":["list","string"],"description":"dedicated server ip blocks","description_kind":"plain","computed":true},"link_speed":{"type":"number","description_kind":"plain","computed":true},"monitoring":{"type":"bool","description":"Icmp monitoring state","description_kind":"plain","computed":true},"name":{"type":"string","description":"dedicated server name","description_kind":"plain","computed":true},"os":{"type":"string","description":"Operating system","description_kind":"plain","computed":true},"professional_use":{"type":"bool","description":"Does this server have professional use option","description_kind":"plain","computed":true},"rack":{"type":"string","description_kind":"plain","computed":true},"rescue_mail":{"type":"string","description_kind":"plain","computed":true},"reverse":{"type":"string","description":"dedicated server reverse","description_kind":"plain","computed":true},"root_device":{"type":"string","description_kind":"plain","computed":true},"server_id":{"type":"number","description":"your server id","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"state":{"type":"string","description":"error, hacked, hackedBlocked, ok","description_kind":"plain","computed":true},"support_level":{"type":"string","description":"Dedicated server support level (critical, fastpath, gs, pro)","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vnis":{"type":["list",["object",{"enabled":"bool","mode":"string","name":"string","nics":["list","string"],"server_name":"string","uuid":"string","vrack":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server_boots":{"version":0,"block":{"attributes":{"boot_type":{"type":"string","description":"Filter the value of bootType property","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kernel":{"type":"string","description":"Filter the value of kernel property","description_kind":"plain","optional":true},"result":{"type":["list","number"],"description":"Server compatibles netboots ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_server_specifications_hardware":{"version":0,"block":{"attributes":{"boot_mode":{"type":"string","description":"Server boot mode","description_kind":"markdown","computed":true},"cores_per_processor":{"type":"number","description":"number of cores per processor","description_kind":"markdown","computed":true},"default_hardware_raid_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Default hardware raid size for this server","description_kind":"markdown","computed":true},"default_hardware_raid_type":{"type":"string","description":"Default hardware raid type configured on this server","description_kind":"markdown","computed":true},"description":{"type":"string","description":"commercial name of this server","description_kind":"markdown","computed":true},"disk_groups":{"nested_type":{"attributes":{"default_hardware_raid_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"default hardware raid size for this disk group","description_kind":"markdown","computed":true},"default_hardware_raid_type":{"type":"string","description":"default hardware raid type for this disk group","description_kind":"markdown","computed":true},"description":{"type":"string","description":"human readable description of this disk group","description_kind":"markdown","computed":true},"disk_group_id":{"type":"number","description":"identifier of this disk group","description_kind":"markdown","computed":true},"disk_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"disk capacity","description_kind":"markdown","computed":true},"disk_type":{"type":"string","description":"type of the disk (SSD, SATA, SAS, ...)","description_kind":"markdown","computed":true},"number_of_disks":{"type":"number","description":"number of disks in this group","description_kind":"markdown","computed":true},"raid_controller":{"type":"string","description":"raid controller, if any, managing this group of disks","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"details about the groups of disks in the server","description_kind":"markdown","computed":true},"expansion_cards":{"nested_type":{"attributes":{"description":{"type":"string","description":"expansion card description","description_kind":"markdown","computed":true},"type":{"type":"string","description":"Expansion card type enum","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"details about the server's expansion cards","description_kind":"markdown","computed":true},"form_factor":{"type":"string","description":"Server form factor","description_kind":"markdown","computed":true},"memory_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"ram capacity","description_kind":"markdown","computed":true},"motherboard":{"type":"string","description":"server motherboard","description_kind":"markdown","computed":true},"number_of_processors":{"type":"number","description":"number of processors in this dedicated server","description_kind":"markdown","computed":true},"processor_architecture":{"type":"string","description":"processor architecture bit","description_kind":"markdown","computed":true},"processor_name":{"type":"string","description":"processor name","description_kind":"markdown","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server","description_kind":"markdown","required":true},"threads_per_processor":{"type":"number","description":"number of threads per processor","description_kind":"markdown","computed":true},"usb_keys":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"list"},"description":"Capacity of the USB keys installed on your server, if any","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_dedicated_servers":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_domain_zone":{"version":0,"block":{"attributes":{"dnssec_supported":{"type":"bool","description_kind":"plain","computed":true},"has_dns_anycast":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"name_servers":{"type":["set","string"],"description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase":{"version":0,"block":{"attributes":{"cpu":{"type":"number","description":"Number of CPU on your private database","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"Datacenter where this private database is located","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"Name displayed in customer panel for your private database","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"Private database hostname","description_kind":"plain","computed":true},"hostname_ftp":{"type":"string","description":"Private database FTP hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"infrastructure":{"type":"string","description":"Infrastructure where service was stored","description_kind":"plain","computed":true},"offer":{"type":"string","description":"Type of the private database offer","description_kind":"plain","computed":true},"port":{"type":"number","description":"Private database service port","description_kind":"plain","computed":true},"port_ftp":{"type":"number","description":"Private database FTP port","description_kind":"plain","computed":true},"quota_size":{"type":"number","description":"Space allowed (in MB) on your private database","description_kind":"plain","computed":true},"quota_used":{"type":"number","description":"Space used (in MB) on your private database","description_kind":"plain","computed":true},"ram":{"type":"number","description":"Amount of ram (in MB) on your private database","description_kind":"plain","computed":true},"server":{"type":"string","description":"Private database server name","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"state":{"type":"string","description":"Private database state","description_kind":"plain","computed":true},"type":{"type":"string","description":"Private database type","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description":"Private database available versions","description_kind":"plain","computed":true},"version_label":{"type":"string","description":"Private database version label","description_kind":"plain","computed":true},"version_number":{"type":"number","description":"Private database version number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_database":{"version":0,"block":{"attributes":{"backup_time":{"type":"string","description":"Time of the next backup (every day)","description_kind":"plain","computed":true},"creation_date":{"type":"string","description":"Creation date of the database","description_kind":"plain","computed":true},"database_name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"quota_used":{"type":"number","description":"Space used by the database (in MB)","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"users":{"type":["set",["object",{"grant_type":"string","user_name":"string"}]],"description":"Users granted to this database","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of the user","description_kind":"plain","computed":true},"databases":{"type":["set",["object",{"database_name":"string","grant_type":"string"}]],"description":"Databases granted for this user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect to your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user_grant":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of the user","description_kind":"plain","computed":true},"database_name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"grant":{"type":"string","description":"Grant name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect to your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_whitelist":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of this whitelist","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"The whitelisted IP in your instance","description_kind":"plain","optional":true},"last_update":{"type":"string","description":"The last update date of this whitelist","description_kind":"plain","computed":true},"name":{"type":"string","description":"Custom name for your Whitelisted IP","description_kind":"plain","computed":true},"service":{"type":"bool","description":"Authorize this IP to access service port","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"sftp":{"type":"bool","description":"Authorize this IP to access SFTP port","description_kind":"plain","computed":true},"status":{"type":"string","description":"Whitelist status","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_permissions_group":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_permissions_groups":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urns":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policies":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policies":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policy":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","required":true},"identities":{"type":["set","string"],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"permissions_groups":{"type":["set","string"],"description_kind":"plain","optional":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_reference_actions":{"version":0,"block":{"attributes":{"actions":{"type":["set",["object",{"action":"string","categories":["set","string"],"description":"string","resource_type":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_reference_resource_type":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"types":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_group":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_groups":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_groups":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_ip_service":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","computed":true},"organisation_id":{"type":"string","description":"IP block organisation Id","description_kind":"plain","computed":true},"routed_to":{"type":["list",["object",{"service_name":"string"}]],"description":"Routage information","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iploadbalancing":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv4":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv6":{"type":"string","description_kind":"plain","optional":true,"computed":true},"metrics_token":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"offer":{"type":"string","description_kind":"plain","optional":true,"computed":true},"orderable_zone":{"type":["set",["object",{"name":"string","plan_code":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ssl_configuration":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vrack_eligibility":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"vrack_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"zone":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_network":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your vrack network","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"nat_ip":{"type":"string","description":"An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IPloadbalancer","description_kind":"plain","required":true},"subnet":{"type":"string","description":"IP block of the private network in the vRack","description_kind":"plain","computed":true},"vlan":{"type":"number","description":"VLAN of the private network in the vRack. 0 if the private network is not in a VLAN","description_kind":"plain","computed":true},"vrack_network_id":{"type":"number","description":"Internal Load Balancer identifier of the vRack private network","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_networks":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","number"],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your iploadbalancer.","description_kind":"plain","required":true},"subnet":{"type":"string","description":"Filters on subnet","description_kind":"plain","optional":true},"vlan_id":{"type":"number","description":"Filters on vlan id","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_me":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"Address of nichandle","description_kind":"plain","computed":true},"area":{"type":"string","description":"Area of nichandle","description_kind":"plain","computed":true},"birth_city":{"type":"string","description":"City of birth","description_kind":"plain","computed":true},"birth_day":{"type":"string","description":"Birth date","description_kind":"plain","computed":true},"city":{"type":"string","description":"City of nichandle","description_kind":"plain","computed":true},"company_national_identification_number":{"type":"string","description":"Company National Identification Number","description_kind":"plain","computed":true},"corporation_type":{"type":"string","description":"Corporation type","description_kind":"plain","computed":true},"country":{"type":"string","description":"Customer country","description_kind":"plain","computed":true},"currency":{"type":["list",["object",{"code":"string","symbol":"string"}]],"description":"Customer currency","description_kind":"plain","computed":true},"customer_code":{"type":"string","description":"Your customer code (a numerical value used for identification when contacting support via phone call)","description_kind":"plain","computed":true},"email":{"type":"string","description":"Email address","description_kind":"plain","computed":true},"fax":{"type":"string","description":"Fax number","description_kind":"plain","computed":true},"firstname":{"type":"string","description":"First name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"italian_sdi":{"type":"string","description":"Italian SDI","description_kind":"plain","computed":true},"language":{"type":"string","description":"Language","description_kind":"plain","computed":true},"legalform":{"type":"string","description":"Customer legal form","description_kind":"plain","computed":true},"name":{"type":"string","description":"Customer name","description_kind":"plain","computed":true},"national_identification_number":{"type":"string","description":"National Identification Number","description_kind":"plain","computed":true},"nichandle":{"type":"string","description":"Customer identifier","description_kind":"plain","computed":true},"organisation":{"type":"string","description":"Name of organisation","description_kind":"plain","computed":true},"ovh_company":{"type":"string","description":"OVH subsidiary","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"OVH subsidiary","description_kind":"plain","computed":true},"phone":{"type":"string","description":"Phone number","description_kind":"plain","computed":true},"phone_country":{"type":"string","description":"Phone number's country code","description_kind":"plain","computed":true},"sex":{"type":"string","description":"Gender","description_kind":"plain","computed":true},"spare_email":{"type":"string","description":"Spare email","description_kind":"plain","computed":true},"state":{"type":"string","description":"Nichandle state","description_kind":"plain","computed":true},"urn":{"type":"string","description":"Identity URN of the account","description_kind":"plain","computed":true},"vat":{"type":"string","description":"VAT number","description_kind":"plain","computed":true},"zip":{"type":"string","description":"Zipcode","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_client":{"version":0,"block":{"attributes":{"callback_urls":{"type":["list","string"],"description":"Callback URLs of the applications using this oauth2 client. Required if using the AUTHORIZATION_CODE flow.","description_kind":"plain","computed":true},"client_id":{"type":"string","description":"Client ID for the oauth2 client, generated during the resource creation.","description_kind":"plain","required":true},"description":{"type":"string","description":"A description of your oauth2 client.","description_kind":"plain","computed":true},"flow":{"type":"string","description":"OAuth2 flow type implemented for this oauth2 client. Can be either AUTHORIZATION_CODE or CLIENT_CREDENTIALS","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity":{"type":"string","description":"URN that will allow you to associate this oauth2 client with an access policy.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_clients":{"version":0,"block":{"attributes":{"client_ids":{"type":["set","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_me_identity_group":{"version":0,"block":{"attributes":{"creation":{"type":"string","description_kind":"plain","computed":true},"default_group":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"role":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_identity_groups":{"version":0,"block":{"attributes":{"groups":{"type":["set","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_me_identity_user":{"version":0,"block":{"attributes":{"creation":{"type":"string","description":"Creation date of this user","description_kind":"plain","computed":true},"description":{"type":"string","description":"User description","description_kind":"plain","computed":true},"email":{"type":"string","description":"User's email","description_kind":"plain","computed":true},"group":{"type":"string","description":"User's group","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update of this user","description_kind":"plain","computed":true},"login":{"type":"string","description":"User's login suffix","description_kind":"plain","computed":true},"password_last_update":{"type":"string","description":"When the user changed his password for the last time","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current user's status","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"user":{"type":"string","description":"User's login","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_identity_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"users":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_installation_template":{"version":0,"block":{"attributes":{"available_languages":{"type":["list","string"],"description":"List of all language available for this template","description_kind":"plain","computed":true},"beta":{"type":"bool","description":"This distribution is new and, although tested and functional, may still display odd behaviour","description_kind":"plain","computed":true},"bit_format":{"type":"number","description":"This template bit format (32 or 64)","description_kind":"plain","computed":true},"category":{"type":"string","description":"Category of this template (informative only). (basic, customer, hosting, other, readyToUse, virtualisation)","description_kind":"plain","computed":true},"customization":{"type":["list",["object",{"change_log":"string","custom_hostname":"string","post_installation_script_link":"string","post_installation_script_return":"string","rating":"number","ssh_key_name":"string","use_distribution_kernel":"bool"}]],"description_kind":"plain","computed":true},"default_language":{"type":"string","description":"The default language of this template","description_kind":"plain","computed":true},"deprecated":{"type":"bool","description":"is this distribution deprecated","description_kind":"plain","computed":true},"description":{"type":"string","description":"information about this template","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"the distribution this template is based on","description_kind":"plain","computed":true},"family":{"type":"string","description":"this template family type (bsd,linux,solaris,windows)","description_kind":"plain","computed":true},"filesystems":{"type":["list","string"],"description":"Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs)","description_kind":"plain","computed":true},"hard_raid_configuration":{"type":"bool","description":"This distribution supports hardware raid configuration through the OVH API","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_modification":{"type":"string","description":"Date of last modification of the base image","description_kind":"plain","computed":true},"lvm_ready":{"type":"bool","description":"This distribution supports Logical Volumes (Linux LVM)","description_kind":"plain","computed":true},"partition_scheme":{"type":["list",["object",{"hardware_raid":["list",["object",{"disks":["list","string"],"mode":"string","name":"string","step":"number"}]],"name":"string","partition":["list",["object",{"filesystem":"string","mountpoint":"string","order":"number","raid":"string","size":"number","type":"string","volume_name":"string"}]],"priority":"number"}]],"description_kind":"plain","computed":true},"supports_distribution_kernel":{"type":"bool","description":"This distribution supports installation using the distribution's native kernel instead of the recommended OVH kernel","description_kind":"plain","computed":true},"supports_rtm":{"type":"bool","description":"This distribution supports RTM software","description_kind":"plain","computed":true},"supports_sql_server":{"type":"bool","description":"This distribution supports the microsoft SQL server","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"This template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_templates":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_paymentmean_bankaccount":{"version":0,"block":{"attributes":{"default":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"description_regexp":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","optional":true,"computed":true},"use_default":{"type":"bool","description_kind":"plain","optional":true},"use_oldest":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}},"ovh_me_paymentmean_creditcard":{"version":0,"block":{"attributes":{"default":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"description_regexp":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"states":{"type":["set","string"],"description_kind":"plain","optional":true},"use_default":{"type":"bool","description_kind":"plain","optional":true},"use_last_to_expire":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}},"ovh_me_ssh_key":{"version":0,"block":{"attributes":{"default":{"type":"bool","description":"True when this public Ssh key is used for rescue mode and reinstallations","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description":"ASCII encoded public Ssh key","description_kind":"plain","computed":true},"key_name":{"type":"string","description":"Name of this public Ssh key","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_ssh_keys":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"names":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart":{"version":0,"block":{"attributes":{"assign":{"type":"bool","description":"Assign a shopping cart to a logged in client","description_kind":"plain","optional":true},"cart_id":{"type":"string","description":"Cart identifier","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of your cart","description_kind":"plain","optional":true},"expire":{"type":"string","description":"Expiration time (format: 2006-01-02T15:04:05Z07:00)","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"items":{"type":["list","number"],"description":"Items of your cart","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"read_only":{"type":"bool","description":"Indicates if the cart has already been validated","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"result":{"type":["list",["object",{"plan_code":"string","prices":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"product_name":"string","product_type":"string"}]],"description":"List of representations of a generic product","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_options":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"plan_code":{"type":"string","description":"Product offer identifier","description_kind":"plain","required":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"result":{"type":["list",["object",{"exclusive":"bool","family":"string","mandatory":"bool","plan_code":"string","prices":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"product_name":"string","product_type":"string"}]],"description":"List of representations of a generic product","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_options_plan":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"exclusive":{"type":"bool","description":"Define if options of this family are exclusive with each other","description_kind":"plain","computed":true},"family":{"type":"string","description":"Option family","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mandatory":{"type":"bool","description":"Define if an option of this family is mandatory","description_kind":"plain","computed":true},"options_plan_code":{"type":"string","description_kind":"plain","required":true},"plan_code":{"type":"string","description_kind":"plain","required":true},"price_capacity":{"type":"string","description":"Capacity of the pricing (type of pricing)","description_kind":"plain","required":true},"prices":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Prices of the product offer","description_kind":"plain","computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"product_name":{"type":"string","description":"Name of the product","description_kind":"plain","computed":true},"product_type":{"type":"string","description":"Product type","description_kind":"plain","computed":true},"selected_price":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Selected Price according to capacity","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_plan":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"plan_code":{"type":"string","description_kind":"plain","required":true},"price_capacity":{"type":"string","description":"Capacity of the pricing (type of pricing)","description_kind":"plain","required":true},"prices":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Prices of the product offer","description_kind":"plain","computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"product_name":{"type":"string","description":"Name of the product","description_kind":"plain","computed":true},"product_type":{"type":"string","description":"Product type","description_kind":"plain","computed":true},"selected_price":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Selected Price according to capacity","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vps":{"version":0,"block":{"attributes":{"cluster":{"type":"string","description_kind":"plain","computed":true},"datacenter":{"type":["map","string"],"description_kind":"plain","computed":true},"displayname":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description_kind":"plain","computed":true},"keymap":{"type":"string","description_kind":"plain","computed":true},"memory":{"type":"number","description_kind":"plain","computed":true},"model":{"type":["map","string"],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"netbootmode":{"type":"string","description_kind":"plain","computed":true},"offertype":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"slamonitoring":{"type":"bool","description_kind":"plain","computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vcore":{"type":"number","description_kind":"plain","computed":true},"zone":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vpss":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vracks":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}}}}}} +{"format_version":"1.0","provider_schemas":{"registry.terraform.io/ovh/ovh":{"provider":{"version":0,"block":{"attributes":{"access_token":{"type":"string","description":"The OVH API Access Token","description_kind":"plain","optional":true},"application_key":{"type":"string","description":"The OVH API Application Key","description_kind":"plain","optional":true},"application_secret":{"type":"string","description":"The OVH API Application Secret","description_kind":"plain","optional":true},"client_id":{"type":"string","description":"OAuth 2.0 application's ID","description_kind":"plain","optional":true},"client_secret":{"type":"string","description":"OAuth 2.0 application's secret","description_kind":"plain","optional":true},"consumer_key":{"type":"string","description":"The OVH API Consumer Key","description_kind":"plain","optional":true},"endpoint":{"type":"string","description":"The OVH API endpoint to target (ex: \"ovh-eu\")","description_kind":"plain","optional":true}},"description_kind":"plain"}},"resource_schemas":{"ovh_cloud_project":{"version":0,"block":{"attributes":{"access":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"project_id":{"type":"string","description_kind":"plain","computed":true},"project_name":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_alerting":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Alerting creation date","description_kind":"markdown","computed":true},"delay":{"type":"number","description":"Possible values for delay between two alerts in seconds","description_kind":"markdown","required":true},"email":{"type":"string","description":"Email to contact","description_kind":"markdown","required":true},"formatted_monthly_threshold":{"nested_type":{"attributes":{"currency_code":{"type":"string","description_kind":"plain","computed":true},"text":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Formatted monthly threshold for this alerting","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Alerting unique UUID","description_kind":"markdown","computed":true},"monthly_threshold":{"type":"number","description":"Monthly threshold for this alerting in currency","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"The project id","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Registry creation date","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Registry name","description_kind":"plain","required":true},"plan":{"type":["list",["object",{"code":"string","created_at":"string","features":["list",["object",{"vulnerability":"bool"}]],"id":"string","name":"string","registry_limits":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"updated_at":"string"}]],"description":"Plan of the registry","description_kind":"plain","computed":true},"plan_id":{"type":"string","description":"Plan ID of the registry.","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description":"Project ID of your registry","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Current size of the registry (bytes)","description_kind":"plain","computed":true},"status":{"type":"string","description":"Registry status","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Registry last update date","description_kind":"plain","computed":true},"url":{"type":"string","description":"Access url of the registry","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of your registry","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_management":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["set",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","required":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_registry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["set",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","required":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_oidc":{"version":0,"block":{"attributes":{"delete_users":{"type":"bool","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"oidc_admin_group":{"type":"string","description_kind":"plain","optional":true},"oidc_auto_onboard":{"type":"bool","description_kind":"plain","optional":true},"oidc_client_id":{"type":"string","description_kind":"plain","required":true},"oidc_client_secret":{"type":"string","description_kind":"plain","required":true,"sensitive":true},"oidc_endpoint":{"type":"string","description_kind":"plain","required":true},"oidc_groups_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_name":{"type":"string","description_kind":"plain","required":true},"oidc_scope":{"type":"string","description_kind":"plain","required":true},"oidc_user_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_verify_cert":{"type":"bool","description_kind":"plain","optional":true},"registry_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_user":{"version":0,"block":{"attributes":{"email":{"type":"string","description":"User email.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"login":{"type":"string","description":"Registry name","description_kind":"plain","required":true},"password":{"type":"string","description":"User password","description_kind":"plain","computed":true,"sensitive":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"user":{"type":"string","description":"User name","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database":{"version":0,"block":{"attributes":{"advanced_configuration":{"type":["map","string"],"description":"Advanced configuration key / value","description_kind":"plain","optional":true,"computed":true},"backup_regions":{"type":["list","string"],"description":"List of region where backups are pushed. Not more than 1 regions for MongoDB. Not more than 2 regions for the other engines with one being the same as the nodes[].region field","description_kind":"plain","optional":true,"computed":true},"backup_time":{"type":"string","description":"Time on which backups start every day","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Date of the creation of the cluster","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the cluster","description_kind":"plain","optional":true},"disk_size":{"type":"number","description":"Disk size attributes of the cluster","description_kind":"plain","optional":true,"computed":true},"disk_type":{"type":"string","description":"Disk type attributes of the cluster","description_kind":"plain","computed":true},"endpoints":{"type":["list",["object",{"component":"string","domain":"string","path":"string","port":"number","scheme":"string","ssl":"bool","ssl_mode":"string","uri":"string"}]],"description":"List of all endpoints of the service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"flavor":{"type":"string","description":"The node flavor used for this cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kafka_rest_api":{"type":"bool","description":"Defines whether the REST API is enabled on a Kafka cluster","description_kind":"plain","optional":true},"kafka_schema_registry":{"type":"bool","description":"Defines whether the schema registry is enabled on a Kafka cluster","description_kind":"plain","optional":true},"maintenance_time":{"type":"string","description":"Time on which maintenances can start every day","description_kind":"plain","computed":true},"network_type":{"type":"string","description":"Type of network of the cluster","description_kind":"plain","computed":true},"opensearch_acls_enabled":{"type":"bool","description":"Defines whether the ACLs are enabled on an Opensearch cluster","description_kind":"plain","optional":true},"plan":{"type":"string","description":"Plan of the cluster","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the cluster","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of the engine deployed on the cluster","description_kind":"plain","required":true}},"block_types":{"ip_restrictions":{"nesting_mode":"set","block":{"attributes":{"description":{"type":"string","description":"Description of the IP restriction","description_kind":"plain","optional":true},"ip":{"type":"string","description":"Authorized IP","description_kind":"plain","optional":true},"status":{"type":"string","description":"Current status of the IP restriction","description_kind":"plain","computed":true}},"description":"IP Blocks authorized to access to the cluster","description_kind":"plain"}},"nodes":{"nesting_mode":"list","block":{"attributes":{"network_id":{"type":"string","description":"Private network ID in which the node is. It's the regional openstackId of the private network.","description_kind":"plain","optional":true},"region":{"type":"string","description":"Region of the node","description_kind":"plain","required":true},"subnet_id":{"type":"string","description":"Private subnet ID in which the node is","description_kind":"plain","optional":true}},"description":"List of nodes composing the service","description_kind":"plain"},"min_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_database":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"default":{"type":"bool","description":"Defines if the database has been created by default","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_integration":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"destination_service_id":{"type":"string","description":"ID of the destination service","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"parameters":{"type":["map","string"],"description":"Parameters for the integration","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"source_service_id":{"type":"string","description":"ID of the source service","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the integration","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of the integration","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_ip_restriction":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"description":{"type":"string","description":"Description of the IP restriction","description_kind":"plain","optional":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Authorized IP","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the IP restriction","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}},"ovh_cloud_project_database_kafka_acl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"permission":{"type":"string","description":"Permission to give to this username on this topic","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic":{"type":"string","description":"Topic affected by this acl","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"permission":{"type":"string","description":"Permission to give to this username on this resource","description_kind":"plain","required":true},"resource":{"type":"string","description":"Resource affected by this acl","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topic":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"min_insync_replicas":{"type":"number","description":"Minimum insync replica accepted for this topic","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the topic","description_kind":"plain","required":true},"partitions":{"type":"number","description":"Number of partitions for this topic","description_kind":"plain","optional":true,"computed":true},"replication":{"type":"number","description":"Number of replication for this topic","description_kind":"plain","optional":true,"computed":true},"retention_bytes":{"type":"number","description":"Number of bytes for the retention of the data for this topic","description_kind":"plain","optional":true,"computed":true},"retention_hours":{"type":"number","description":"Number of hours for the retention of the data for this topic","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_log_subscription":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Creation date of the subscription","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Log kind name of this subscription","description_kind":"plain","computed":true},"ldp_service_name":{"type":"string","description":"Name of the destination log service","description_kind":"plain","computed":true,"sensitive":true},"operation_id":{"type":"string","description":"Identifier of the operation","description_kind":"plain","computed":true},"resource_name":{"type":"string","description":"Name of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"resource_type":{"type":"string","description":"Type of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Id of the target Log data platform stream","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Last update date of the subscription","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespace":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the namespace","description_kind":"plain","required":true},"resolution":{"type":"string","description":"Resolution for an aggregated namespace","description_kind":"plain","required":true},"retention_block_data_expiration_duration":{"type":"string","description":"Controls how long we wait before expiring stale data","description_kind":"plain","optional":true},"retention_block_size_duration":{"type":"string","description":"Controls how long to keep a block in memory before flushing to a fileset on disk","description_kind":"plain","optional":true,"computed":true},"retention_buffer_future_duration":{"type":"string","description":"Controls how far into the future writes to the namespace will be accepted","description_kind":"plain","optional":true},"retention_buffer_past_duration":{"type":"string","description":"Controls how far into the past writes to the namespace will be accepted","description_kind":"plain","optional":true},"retention_period_duration":{"type":"string","description":"Controls the duration of time that M3DB will retain data for the namespace","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"snapshot_enabled":{"type":"bool","description":"Defines whether M3db will create snapshot files for this namespace","description_kind":"plain","optional":true},"type":{"type":"string","description":"Type of namespace","description_kind":"plain","computed":true},"writes_to_commit_log_enabled":{"type":"bool","description":"Defines whether M3db will include writes to this namespace in the commit log","description_kind":"plain","optional":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"group":{"type":"string","description":"Group of the user","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_mongodb_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to with the authentication database","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_pattern":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"max_index_count":{"type":"number","description":"Maximum number of index for this pattern","description_kind":"plain","optional":true},"pattern":{"type":"string","description":"Pattern format","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"acls":{"nesting_mode":"set","block":{"attributes":{"pattern":{"type":"string","description":"Pattern of the ACL","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission of the ACL","description_kind":"plain","required":true}},"description":"Acls of the user","description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"database_id":{"type":"string","description":"Database used for the connection pool","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"Connection mode to the connection pool","description_kind":"plain","required":true},"name":{"type":"string","description":"Name of the connection pool","description_kind":"plain","required":true},"port":{"type":"number","description":"Port of the connection pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Size of the connection pool","description_kind":"plain","required":true},"ssl_mode":{"type":"string","description":"SSL connection mode for the pool","description_kind":"plain","computed":true},"uri":{"type":"string","description":"Connection URI to the pool","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"Database user authorized to connect to the pool, if none all the users are allowed","description_kind":"plain","optional":true,"computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_redis_user":{"version":0,"block":{"attributes":{"categories":{"type":["set","string"],"description":"Categories of the user","description_kind":"plain","optional":true},"channels":{"type":["set","string"],"description":"Channels of the user","description_kind":"plain","optional":true,"computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"commands":{"type":["set","string"],"description":"Commands of the user","description_kind":"plain","optional":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keys":{"type":["set","string"],"description":"Keys of the user","description_kind":"plain","optional":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_database_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"password":{"type":"string","description":"Password of the user","description_kind":"plain","computed":true,"sensitive":true},"password_reset":{"type":"string","description":"Arbitrary string to change to trigger a password update","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_failover_ip_attach":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"IP block","description_kind":"plain","optional":true,"computed":true},"continent_code":{"type":"string","description":"Ip continent","description_kind":"plain","optional":true,"computed":true},"geo_loc":{"type":"string","description":"Ip location","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"Ip id","description_kind":"plain","computed":true},"ip":{"type":"string","description":"Ip","description_kind":"plain","optional":true,"computed":true},"progress":{"type":"number","description":"Current operation progress in percent","description_kind":"plain","computed":true},"routed_to":{"type":"string","description":"Instance where ip is routed to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"status":{"type":"string","description":"Ip status","description_kind":"plain","computed":true},"sub_type":{"type":"string","description":"IP sub type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_gateway":{"version":0,"block":{"attributes":{"external_information":{"type":["list",["object",{"ips":["list",["object",{"ip":"string","subnet_id":"string"}]],"network_id":"string"}]],"description":"External information of the gateway","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"interfaces":{"type":["list",["object",{"id":"string","ip":"string","network_id":"string","subnet_id":"string"}]],"description":"Interfaces list of the gateway","description_kind":"plain","computed":true},"model":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"network_id":{"type":"string","description_kind":"plain","required":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"subnet_id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_gateway_interface":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"ID of the gateway","description_kind":"plain","required":true},"interface_id":{"type":"string","description":"Interface ID","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"IP of the interface","description_kind":"plain","computed":true},"network_id":{"type":"string","description":"Network ID of the interface","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region name","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"subnet_id":{"type":"string","description":"Subnet id to add","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube":{"version":0,"block":{"attributes":{"control_plane_is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"kube_proxy_mode":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kubeconfig":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"kubeconfig_attributes":{"type":["list",["object",{"client_certificate":"string","client_key":"string","cluster_ca_certificate":"string","host":"string"}]],"description":"The kubeconfig configuration file of the Kubernetes cluster","description_kind":"plain","computed":true,"sensitive":true},"load_balancers_subnet_id":{"type":"string","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","optional":true},"next_upgrade_versions":{"type":["set","string"],"description_kind":"plain","computed":true},"nodes_subnet_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"nodes_url":{"type":"string","description_kind":"plain","computed":true},"private_network_id":{"type":"string","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"update_policy":{"type":"string","description_kind":"plain","optional":true,"computed":true},"url":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"customization":{"nesting_mode":"set","block":{"block_types":{"apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain","deprecated":true}},"customization_apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"customization_kube_proxy":{"nesting_mode":"set","block":{"block_types":{"iptables":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"ipvs":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"scheduler":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true},"tcp_fin_timeout":{"type":"string","description_kind":"plain","optional":true},"tcp_timeout":{"type":"string","description_kind":"plain","optional":true},"udp_timeout":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1},"private_network_configuration":{"nesting_mode":"set","block":{"attributes":{"default_vrack_gateway":{"type":"string","description":"If defined, all egress traffic will be routed towards this IP address, which should belong to the private network. Empty string means disabled.","description_kind":"plain","required":true},"private_network_routing_as_default":{"type":"bool","description":"Defines whether routing should default to using the nodes' private interface, instead of their public interface. Default is false.","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_iprestrictions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description":"List of IP restrictions for the cluster","description_kind":"plain","required":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool":{"version":0,"block":{"attributes":{"anti_affinity":{"type":"bool","description":"Enable anti affinity groups for nodes in the pool","description_kind":"plain","optional":true,"computed":true},"autoscale":{"type":"bool","description":"Enable auto-scaling for the pool","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_unneeded_time_seconds":{"type":"number","description":"scaleDownUnneededTimeSeconds for autoscaling","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_unready_time_seconds":{"type":"number","description":"scaleDownUnreadyTimeSeconds for autoscaling","description_kind":"plain","optional":true,"computed":true},"autoscaling_scale_down_utilization_threshold":{"type":"number","description":"scaleDownUtilizationThreshold for autoscaling","description_kind":"plain","optional":true,"computed":true},"available_nodes":{"type":"number","description":"Number of nodes which are actually ready in the pool","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Creation date","description_kind":"plain","computed":true},"current_nodes":{"type":"number","description":"Number of nodes present in the pool","description_kind":"plain","computed":true},"desired_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"flavor":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"flavor_name":{"type":"string","description":"Flavor name","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"max_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"min_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","optional":true,"computed":true},"monthly_billed":{"type":"bool","description":"Enable monthly billing on all nodes in the pool","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description":"Project id","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"size_status":{"type":"string","description":"Status describing the state between number of nodes wanted and available ones","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status","description_kind":"plain","computed":true},"up_to_date_nodes":{"type":"number","description":"Number of nodes with latest version installed in the pool","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date","description_kind":"plain","computed":true}},"block_types":{"template":{"nesting_mode":"set","block":{"block_types":{"metadata":{"nesting_mode":"set","block":{"attributes":{"annotations":{"type":["map","string"],"description":"annotations","description_kind":"plain","required":true},"finalizers":{"type":["list","string"],"description":"finalizers","description_kind":"plain","required":true},"labels":{"type":["map","string"],"description":"labels","description_kind":"plain","required":true}},"description":"metadata","description_kind":"plain"},"min_items":1,"max_items":1},"spec":{"nesting_mode":"set","block":{"attributes":{"taints":{"type":["list",["map","string"]],"description":"taints","description_kind":"plain","required":true},"unschedulable":{"type":"bool","description":"unschedulable","description_kind":"plain","required":true}},"description":"spec","description_kind":"plain"},"min_items":1,"max_items":1}},"description":"Node pool template","description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_kube_oidc":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer_url":{"type":"string","description_kind":"plain","required":true},"kube_id":{"type":"string","description_kind":"plain","required":true},"oidc_ca_content":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_groups_prefix":{"type":"string","description_kind":"plain","optional":true},"oidc_required_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_signing_algs":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_username_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_username_prefix":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"default":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true},"read":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_cloud_project_network_private":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"regions":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true},"regions_attributes":{"type":["set",["object",{"openstackid":"string","region":"string","status":"string"}]],"description_kind":"plain","computed":true},"regions_status":{"type":["set",["object",{"region":"string","status":"string"}]],"description_kind":"plain","deprecated":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","computed":true},"vlan_id":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_cloud_project_network_private_subnet":{"version":0,"block":{"attributes":{"cidr":{"type":"string","description_kind":"plain","computed":true},"dhcp":{"type":"bool","description_kind":"plain","optional":true},"end":{"type":"string","description_kind":"plain","required":true},"gateway_ip":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_pools":{"type":["set",["object",{"dhcp":"bool","end":"string","network":"string","region":"string","start":"string"}]],"description_kind":"plain","computed":true},"network":{"type":"string","description_kind":"plain","required":true},"network_id":{"type":"string","description_kind":"plain","required":true},"no_gateway":{"type":"bool","description_kind":"plain","optional":true},"region":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"start":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_region_loadbalancer_log_subscription":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Creation date of the subscription","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Log kind name of this subscription","description_kind":"plain","required":true},"ldp_service_name":{"type":"string","description":"Name of the destination log service","description_kind":"plain","computed":true},"loadbalancer_id":{"type":"string","description":"ID representing the loadbalancer of the resource","description_kind":"plain","required":true},"operation_id":{"type":"string","description":"Identifier of the operation","description_kind":"plain","computed":true},"region_name":{"type":"string","description":"Region name of the resource representing the name of the region.","description_kind":"plain","required":true},"resource_name":{"type":"string","description":"Name of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"resource_type":{"type":"string","description":"Type of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"ID representing the stream of the resource","description_kind":"plain","required":true},"subscription_id":{"type":"string","description":"Id of the subscription","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date of the subscription","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_region_storage_presign":{"version":0,"block":{"attributes":{"expire":{"type":"number","description":"How long (in seconds) the URL will be valid.","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description":"The S3 storage container's name.","description_kind":"plain","required":true},"object":{"type":"string","description":"Name of the object to download or upload.","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name.","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"url":{"type":"string","description":"Presigned URL.","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"openstack_rc":{"type":["map","string"],"description_kind":"plain","optional":true,"computed":true},"password":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"role_name":{"type":"string","description_kind":"plain","optional":true},"role_names":{"type":["list","string"],"description_kind":"plain","optional":true},"roles":{"type":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"username":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credential":{"version":0,"block":{"attributes":{"access_key_id":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"internal_user_id":{"type":"string","description_kind":"plain","computed":true},"secret_access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_policy":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_workflow_backup":{"version":0,"block":{"attributes":{"backup_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"cron":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","computed":true},"instance_id":{"type":"string","description_kind":"plain","required":true},"max_execution_count":{"type":"number","description_kind":"plain","optional":true},"name":{"type":"string","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name.","description_kind":"plain","required":true},"rotation":{"type":"number","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_cluster":{"version":0,"block":{"attributes":{"archive_allowed_networks":{"type":["set","string"],"description":"Allowed networks for ARCHIVE flow type","description_kind":"plain","optional":true},"cluster_id":{"type":"string","description_kind":"plain","optional":true},"cluster_type":{"type":"string","description":"Cluster type","description_kind":"plain","computed":true},"dedicated_input_pem":{"type":"string","description":"PEM for dedicated inputs","description_kind":"plain","computed":true,"sensitive":true},"direct_input_allowed_networks":{"type":["set","string"],"description":"Allowed networks for DIRECT_INPUT flow type","description_kind":"plain","optional":true},"direct_input_pem":{"type":"string","description":"PEM for direct inputs","description_kind":"plain","computed":true,"sensitive":true},"hostname":{"type":"string","description":"hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"initial_archive_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for ARCHIVE flow type","description_kind":"plain","computed":true,"sensitive":true},"initial_direct_input_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for DIRECT_INPUT flow type","description_kind":"plain","computed":true,"sensitive":true},"initial_query_allowed_networks":{"type":["set","string"],"description":"Initial allowed networks for QUERY flow type","description_kind":"plain","computed":true,"sensitive":true},"is_default":{"type":"bool","description":"All content generated by given service will be placed on this cluster","description_kind":"plain","computed":true},"is_unlocked":{"type":"bool","description":"Allow given service to perform advanced operations on cluster","description_kind":"plain","computed":true},"query_allowed_networks":{"type":["set","string"],"description":"Allowed networks for QUERY flow type","description_kind":"plain","optional":true},"region":{"type":"string","description":"Data center localization","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_input":{"version":0,"block":{"attributes":{"allowed_networks":{"type":["list","string"],"description":"IP blocks","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Input creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Input description","description_kind":"plain","required":true},"engine_id":{"type":"string","description":"Input engine ID","description_kind":"plain","required":true},"exposed_port":{"type":"string","description":"Port","description_kind":"plain","optional":true,"computed":true},"hostname":{"type":"string","description":"Hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"input_id":{"type":"string","description":"Input ID","description_kind":"plain","computed":true},"is_restart_required":{"type":"bool","description":"Indicate if input need to be restarted","description_kind":"plain","computed":true},"nb_instance":{"type":"number","description":"Number of instance running","description_kind":"plain","optional":true,"computed":true},"public_address":{"type":"string","description":"Input IP address","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl_certificate":{"type":"string","description":"Input SSL certificate","description_kind":"plain","computed":true,"sensitive":true},"status":{"type":"string","description":"init: configuration required, pending: ready to start, running: available","description_kind":"plain","computed":true},"stream_id":{"type":"string","description":"Associated Graylog stream","description_kind":"plain","required":true},"title":{"type":"string","description":"Input title","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Input last update","description_kind":"plain","computed":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"block_types":{"flowgger":{"nesting_mode":"list","block":{"attributes":{"log_format":{"type":"string","description":"Type of format to decode","description_kind":"plain","required":true},"log_framing":{"type":"string","description":"Indicates how messages are delimited","description_kind":"plain","required":true}},"description":"Flowgger configuration","description_kind":"plain"},"max_items":1},"logstash":{"nesting_mode":"list","block":{"attributes":{"filter_section":{"type":"string","description":"The filter section of logstash.conf","description_kind":"plain","optional":true},"input_section":{"type":"string","description":"The filter section of logstash.conf","description_kind":"plain","required":true},"pattern_section":{"type":"string","description":"The list of customs Grok patterns","description_kind":"plain","optional":true}},"description":"Logstash configuration","description_kind":"plain"},"max_items":1}},"description":"Input configuration","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_dbaas_logs_output_graylog_stream":{"version":0,"block":{"attributes":{"can_alert":{"type":"bool","description":"Indicates if the current user can create alert on the stream","description_kind":"plain","computed":true},"cold_storage_compression":{"type":"string","description":"Cold storage compression method","description_kind":"plain","optional":true,"computed":true},"cold_storage_content":{"type":"string","description":"ColdStorage content","description_kind":"plain","optional":true,"computed":true},"cold_storage_enabled":{"type":"bool","description":"Is Cold storage enabled?","description_kind":"plain","optional":true,"computed":true},"cold_storage_notify_enabled":{"type":"bool","description":"Notify on new Cold storage archive","description_kind":"plain","optional":true,"computed":true},"cold_storage_retention":{"type":"number","description":"Cold storage retention in year","description_kind":"plain","optional":true,"computed":true},"cold_storage_target":{"type":"string","description":"ColdStorage destination","description_kind":"plain","optional":true,"computed":true},"created_at":{"type":"string","description":"Stream creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"indexing_enabled":{"type":"bool","description":"Enable ES indexing","description_kind":"plain","optional":true,"computed":true},"indexing_max_size":{"type":"number","description":"Maximum indexing size (in GB)","description_kind":"plain","optional":true,"computed":true},"indexing_notify_enabled":{"type":"bool","description":"If set, notify when size is near 80, 90 or 100 % of the maximum configured setting","description_kind":"plain","optional":true,"computed":true},"is_editable":{"type":"bool","description":"Indicates if you are allowed to edit entry","description_kind":"plain","computed":true},"is_shareable":{"type":"bool","description":"Indicates if you are allowed to share entry","description_kind":"plain","computed":true},"nb_alert_condition":{"type":"number","description":"Number of alert condition","description_kind":"plain","computed":true},"nb_archive":{"type":"number","description":"Number of coldstored archives","description_kind":"plain","computed":true},"parent_stream_id":{"type":"string","description":"Parent stream ID","description_kind":"plain","optional":true},"pause_indexing_on_max_size":{"type":"bool","description":"If set, pause indexing when maximum size is reach","description_kind":"plain","optional":true,"computed":true},"retention_id":{"type":"string","description":"Retention ID","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Stream ID","description_kind":"plain","computed":true},"title":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Stream last update","description_kind":"plain","computed":true},"web_socket_enabled":{"type":"bool","description":"Enable Websocket","description_kind":"plain","optional":true,"computed":true},"write_token":{"type":"string","description":"Write token of the stream","description_kind":"plain","computed":true,"sensitive":true}},"description_kind":"plain"}},"ovh_dbaas_logs_token":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"markdown","optional":true,"computed":true},"created_at":{"type":"string","description":"Token creation","description_kind":"markdown","computed":true},"name":{"type":"string","description":"Token name","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","required":true},"token_id":{"type":"string","description":"Token used","description_kind":"markdown","computed":true},"updated_at":{"type":"string","description":"Token last update","description_kind":"markdown","computed":true},"value":{"type":"string","description":"Token value","description_kind":"markdown","computed":true,"sensitive":true}},"description_kind":"plain"}},"ovh_dedicated_ceph_acl":{"version":0,"block":{"attributes":{"family":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"netmask":{"type":"string","description_kind":"plain","required":true},"network":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition":{"version":0,"block":{"attributes":{"capacity":{"type":"number","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"protocol":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description_kind":"plain","required":true},"used_by_snapshots":{"type":"number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition_access":{"version":0,"block":{"attributes":{"acl_description":{"type":"string","description":"A brief description of the ACL","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"partition_name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_dedicated_nasha_partition_snapshot":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"partition_name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"type":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_server_install_task":{"version":0,"block":{"attributes":{"bootid_on_destroy":{"type":"number","description":"If set, reboot the server on the specified boot id during destroy phase","description_kind":"plain","optional":true},"comment":{"type":"string","description":"Details of this task","description_kind":"plain","computed":true},"done_date":{"type":"string","description":"Completion date","description_kind":"plain","computed":true},"function":{"type":"string","description":"Function name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update","description_kind":"plain","computed":true},"partition_scheme_name":{"type":"string","description":"Partition scheme name.","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"start_date":{"type":"string","description":"Task Creation date","description_kind":"plain","computed":true},"status":{"type":"string","description":"Task status","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"block_types":{"details":{"nesting_mode":"list","block":{"attributes":{"custom_hostname":{"type":"string","description":"Set up the server using the provided hostname instead of the default hostname","description_kind":"plain","optional":true},"disk_group_id":{"type":"number","description_kind":"plain","optional":true},"no_raid":{"type":"bool","description_kind":"plain","optional":true},"post_installation_script_link":{"type":"string","description":"Indicate the URL where your postinstall customisation script is located","description_kind":"plain","optional":true},"post_installation_script_return":{"type":"string","description":"indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu'","description_kind":"plain","optional":true},"soft_raid_devices":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"user_metadata":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The key for the user_metadata","description_kind":"plain","required":true},"value":{"type":"string","description":"The value for the user_metadata","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":128}},"description_kind":"plain"}},"ovh_dedicated_server_networking":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"Operation description","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"status":{"type":"string","description":"Operation status","description_kind":"plain","computed":true}},"block_types":{"interfaces":{"nesting_mode":"set","block":{"attributes":{"macs":{"type":["set","string"],"description":"Interface Mac address","description_kind":"plain","required":true},"type":{"type":"string","description":"Interface type","description_kind":"plain","required":true}},"description":"Interface or interfaces aggregation.","description_kind":"plain"},"min_items":1,"max_items":2},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"ovh_dedicated_server_reboot_task":{"version":0,"block":{"attributes":{"comment":{"type":"string","description":"Details of this task","description_kind":"plain","computed":true},"done_date":{"type":"string","description":"Completion date","description_kind":"plain","computed":true},"function":{"type":"string","description":"Function name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keepers":{"type":["list","string"],"description":"Change this value to recreate a reboot task.","description_kind":"plain","required":true},"last_update":{"type":"string","description":"Last update","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"start_date":{"type":"string","description":"Task Creation date","description_kind":"plain","computed":true},"status":{"type":"string","description":"Task status","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server_update":{"version":0,"block":{"attributes":{"boot_id":{"type":"number","description":"The boot id of your dedicated server.","description_kind":"plain","optional":true,"computed":true},"boot_script":{"type":"string","description":"The boot script of your dedicated server.","description_kind":"plain","optional":true},"display_name":{"type":"string","description":"Display name of the dedicated server","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"monitoring":{"type":"bool","description":"Icmp monitoring state","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true},"state":{"type":"string","description":"error, hacked, hackedBlocked, ok","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_domain_zone":{"version":0,"block":{"attributes":{"dnssec_supported":{"type":"bool","description":"Is DNSSEC supported by this zone","description_kind":"plain","computed":true},"has_dns_anycast":{"type":"bool","description":"hasDnsAnycast flag of the DNS zone","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update date of the DNS zone","description_kind":"plain","computed":true},"name":{"type":"string","description":"Zone name","description_kind":"plain","computed":true},"name_servers":{"type":["list","string"],"description":"Name servers that host the DNS zone","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_domain_zone_dnssec":{"version":0,"block":{"attributes":{"status":{"type":"string","description":"DNSSEC Status","description_kind":"markdown","computed":true},"zone_name":{"type":"string","description":"The internal name of your zone","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_domain_zone_record":{"version":0,"block":{"attributes":{"fieldtype":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"subdomain":{"type":"string","description_kind":"plain","optional":true},"target":{"type":"string","description_kind":"plain","required":true},"ttl":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_domain_zone_redirection":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keywords":{"type":"string","description_kind":"plain","optional":true},"subdomain":{"type":"string","description_kind":"plain","optional":true},"target":{"type":"string","description_kind":"plain","required":true},"title":{"type":"string","description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","required":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase":{"version":0,"block":{"attributes":{"cpu":{"type":"number","description":"Number of CPU on your private database","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"Datacenter where this private database is located","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"Name displayed in customer panel for your private database","description_kind":"plain","optional":true,"computed":true},"hostname":{"type":"string","description":"Private database hostname","description_kind":"plain","computed":true},"hostname_ftp":{"type":"string","description":"Private database FTP hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"infrastructure":{"type":"string","description":"Infrastructure where service was stored","description_kind":"plain","computed":true},"offer":{"type":"string","description":"Type of the private database offer","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"port":{"type":"number","description":"Private database service port","description_kind":"plain","computed":true},"port_ftp":{"type":"number","description":"Private database FTP port","description_kind":"plain","computed":true},"quota_size":{"type":"number","description":"Space allowed (in MB) on your private database","description_kind":"plain","computed":true},"quota_used":{"type":"number","description":"Sapce used (in MB) on your private database","description_kind":"plain","computed":true},"ram":{"type":"number","description":"Amount of ram (in MB) on your private database","description_kind":"plain","computed":true},"server":{"type":"string","description":"Private database server name","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description":"Private database state","description_kind":"plain","computed":true},"type":{"type":"string","description":"Private database type","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description":"Private database available versions","description_kind":"plain","computed":true},"version_label":{"type":"string","description":"Private database version label","description_kind":"plain","computed":true},"version_number":{"type":"number","description":"Private database version number","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_database":{"version":0,"block":{"attributes":{"database_name":{"type":"string","description":"Name of your new database","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"password":{"type":"string","description":"Password for the new user ( alphanumeric and 8 characters minimum )","description_kind":"plain","required":true,"sensitive":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect on your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user_grant":{"version":0,"block":{"attributes":{"database_name":{"type":"string","description":"Database name where add grant","description_kind":"plain","required":true},"grant":{"type":"string","description":"Database name where add grant","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect on your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_whitelist":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"The whitelisted IP in your instance","description_kind":"plain","required":true},"name":{"type":"string","description":"Custom name for your Whitelisted IP","description_kind":"plain","required":true},"service":{"type":"bool","description":"Authorize this IP to access service port","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"sftp":{"type":"bool","description":"Authorize this IP to access SFTP port","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_permissions_group":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","required":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policy":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identities":{"type":["set","string"],"description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"permissions_groups":{"type":["set","string"],"description_kind":"plain","optional":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","required":true},"updated_at":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_group":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"owner":{"type":"string","description_kind":"plain","computed":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","optional":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_ip_firewall":{"version":0,"block":{"attributes":{"enabled":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_firewall":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"state":{"type":"string","description":"Current state of your ip on firewall","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_ip_firewall_rule":{"version":0,"block":{"attributes":{"action":{"type":"string","description":"Possible values for action","description_kind":"markdown","required":true},"creation_date":{"type":"string","description_kind":"plain","computed":true},"destination":{"type":"string","description":"Destination ip for your rule","description_kind":"markdown","computed":true},"destination_port":{"type":"number","description":"Destination port for your rule. Only with TCP/UDP protocol","description_kind":"markdown","optional":true,"computed":true},"destination_port_desc":{"type":"string","description":"Destination port range for your rule. Only with TCP/UDP protocol","description_kind":"plain","computed":true},"fragments":{"type":"bool","description":"Fragments option","description_kind":"markdown","optional":true,"computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_firewall":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"protocol":{"type":"string","description":"Possible values for protocol","description_kind":"markdown","required":true},"rule":{"type":"string","description_kind":"plain","computed":true},"sequence":{"type":"number","description":"Possible values for action","description_kind":"markdown","required":true},"source":{"type":"string","description":"IPv4 CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","optional":true,"computed":true},"source_port":{"type":"number","description":"Source port for your rule. Only with TCP/UDP protocol","description_kind":"markdown","optional":true,"computed":true},"source_port_desc":{"type":"string","description":"Source port for your rule. Only with TCP/UDP protocol","description_kind":"plain","computed":true},"state":{"type":"string","description":"Current state of your rule","description_kind":"markdown","computed":true},"tcp_option":{"type":"string","description":"TCP option on your rule","description_kind":"markdown","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_ip_mitigation":{"version":0,"block":{"attributes":{"auto":{"type":"bool","description":"Set on true if your ip is on auto-mitigation","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_mitigation":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"permanent":{"type":"bool","description":"Set on true if your ip is on permanent mitigation","description_kind":"markdown","optional":true,"computed":true},"state":{"type":"string","description":"Current state of your ip on mitigation","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_ip_move":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"organisation_id":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","computed":true},"task_start_date":{"type":"string","description":"Starting date and time field of the current IP task that is in charge of changing the service the IP is attached to","description_kind":"plain","computed":true},"task_status":{"type":"string","description":"Status field of the current IP task that is in charge of changing the service the IP is attached to","description_kind":"plain","computed":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"block_types":{"routed_to":{"nesting_mode":"list","block":{"attributes":{"service_name":{"type":"string","description":"Service where ip is routed to","description_kind":"plain","required":true}},"description":"Routage information","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_ip_reverse":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","required":true},"ip_reverse":{"type":"string","description_kind":"plain","required":true},"reverse":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_ip_service":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","computed":true},"organisation_id":{"type":"string","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"routed_to":{"type":["list",["object",{"service_name":"string"}]],"description":"Routage information","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_iploadbalancing":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Set the name displayed in ManagerV6 for your iplb (max 50 chars)","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description":"Your IP load balancing","description_kind":"plain","computed":true},"ipv4":{"type":"string","description":"The IPV4 associated to your IP load balancing","description_kind":"plain","computed":true},"ipv6":{"type":"string","description":"The IPV6 associated to your IP load balancing. DEPRECATED.","description_kind":"plain","computed":true},"metrics_token":{"type":"string","description":"The metrics token associated with your IP load balancing","description_kind":"plain","computed":true,"sensitive":true},"offer":{"type":"string","description":"The offer of your IP load balancing","description_kind":"plain","computed":true},"orderable_zone":{"type":["set",["object",{"name":"string","plan_code":"string"}]],"description":"Available additional zone for your Load Balancer","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","computed":true},"ssl_configuration":{"type":"string","description":"Modern oldest compatible clients : Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8. Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7. Intermediate if null.","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description":"Current state of your IP","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vrack_eligibility":{"type":"bool","description":"Vrack eligibility","description_kind":"plain","computed":true},"vrack_name":{"type":"string","description":"Name of the vRack on which the current Load Balancer is attached to, as it is named on vRack product","description_kind":"plain","computed":true},"zone":{"type":["list","string"],"description":"Location where your service is","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_iploadbalancing_http_farm":{"version":0,"block":{"attributes":{"balance":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stickiness":{"type":"string","description_kind":"plain","optional":true},"vrack_network_id":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"block_types":{"probe":{"nesting_mode":"list","block":{"attributes":{"force_ssl":{"type":"bool","description_kind":"plain","optional":true},"interval":{"type":"number","description_kind":"plain","optional":true},"match":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","optional":true,"computed":true},"negate":{"type":"bool","description_kind":"plain","optional":true},"pattern":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description_kind":"plain","required":true},"url":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_http_farm_server":{"version":0,"block":{"attributes":{"address":{"type":"string","description_kind":"plain","required":true},"backup":{"type":"bool","description_kind":"plain","optional":true},"chain":{"type":"string","description_kind":"plain","optional":true},"cookie":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"farm_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"on_marked_down":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"probe":{"type":"bool","description_kind":"plain","optional":true},"proxy_protocol_version":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"status":{"type":"string","description_kind":"plain","required":true},"weight":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_http_frontend":{"version":0,"block":{"attributes":{"allowed_source":{"type":["set","string"],"description_kind":"plain","optional":true},"dedicated_ipfo":{"type":["set","string"],"description_kind":"plain","optional":true},"default_farm_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"default_ssl_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"disabled":{"type":"bool","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"hsts":{"type":"bool","description_kind":"plain","optional":true},"http_header":{"type":["list","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"string","description_kind":"plain","required":true},"redirect_location":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_http_route":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your route, this field is for you","description_kind":"plain","optional":true},"frontend_id":{"type":"number","description":"Route traffic for this frontend","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rules":{"type":["list",["object",{"field":"string","match":"string","negate":"bool","pattern":"string","rule_id":"number","sub_field":"string"}]],"description":"List of rules to match to trigger action","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","required":true},"status":{"type":"string","description":"Route status. Routes in \"ok\" state are ready to operate","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Route priority ([0..255]). 0 if null. Highest priority routes are evaluated last. Only the first matching route will trigger an action","description_kind":"plain","optional":true,"computed":true}},"block_types":{"action":{"nesting_mode":"list","block":{"attributes":{"status":{"type":"number","description":"HTTP status code for \"redirect\" and \"reject\" actions","description_kind":"plain","optional":true},"target":{"type":"string","description":"Farm ID for \"farm\" action type or URL template for \"redirect\" action. You may use ${uri}, ${protocol}, ${host}, ${port} and ${path} variables in redirect target","description_kind":"plain","optional":true},"type":{"type":"string","description":"Action to trigger if all the rules of this route matches","description_kind":"plain","required":true}},"description":"Action triggered when all rules match","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_http_route_rule":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true},"field":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"match":{"type":"string","description_kind":"plain","required":true},"negate":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"route_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"sub_field":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_refresh":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keepers":{"type":["list","string"],"description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_farm":{"version":0,"block":{"attributes":{"balance":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"number","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stickiness":{"type":"string","description_kind":"plain","optional":true},"vrack_network_id":{"type":"number","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"block_types":{"probe":{"nesting_mode":"list","block":{"attributes":{"force_ssl":{"type":"bool","description_kind":"plain","optional":true},"interval":{"type":"number","description_kind":"plain","optional":true},"match":{"type":"string","description_kind":"plain","optional":true,"computed":true},"method":{"type":"string","description_kind":"plain","optional":true},"negate":{"type":"bool","description_kind":"plain","optional":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"type":{"type":"string","description_kind":"plain","required":true},"url":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_farm_server":{"version":0,"block":{"attributes":{"address":{"type":"string","description_kind":"plain","required":true},"backup":{"type":"bool","description_kind":"plain","optional":true},"chain":{"type":"string","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"farm_id":{"type":"number","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"on_marked_down":{"type":"string","description_kind":"plain","optional":true},"port":{"type":"number","description_kind":"plain","optional":true},"probe":{"type":"bool","description_kind":"plain","optional":true},"proxy_protocol_version":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"status":{"type":"string","description_kind":"plain","required":true},"weight":{"type":"number","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_frontend":{"version":0,"block":{"attributes":{"allowed_source":{"type":["set","string"],"description_kind":"plain","optional":true},"dedicated_ipfo":{"type":["set","string"],"description_kind":"plain","optional":true},"default_farm_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"default_ssl_id":{"type":"number","description_kind":"plain","optional":true,"computed":true},"denied_source":{"type":["set","string"],"description_kind":"plain","optional":true},"disabled":{"type":"bool","description_kind":"plain","optional":true},"display_name":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"port":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"ssl":{"type":"bool","description_kind":"plain","optional":true},"zone":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_route":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your route, this field is for you","description_kind":"plain","optional":true},"frontend_id":{"type":"number","description":"Route traffic for this frontend","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rules":{"type":["list",["object",{"field":"string","match":"string","negate":"bool","pattern":"string","rule_id":"number","sub_field":"string"}]],"description":"List of rules to match to trigger action","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"plain","required":true},"status":{"type":"string","description":"Route status. Routes in \"ok\" state are ready to operate","description_kind":"plain","computed":true},"weight":{"type":"number","description":"Route priority ([0..255]). 0 if null. Highest priority routes are evaluated last. Only the first matching route will trigger an action","description_kind":"plain","optional":true,"computed":true}},"block_types":{"action":{"nesting_mode":"list","block":{"attributes":{"target":{"type":"string","description":"Farm ID for \"farm\" action type, empty for others","description_kind":"plain","optional":true},"type":{"type":"string","description":"Action to trigger if all the rules of this route matches","description_kind":"plain","required":true}},"description":"Action triggered when all rules match","description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"ovh_iploadbalancing_tcp_route_rule":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true},"field":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"match":{"type":"string","description_kind":"plain","required":true},"negate":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"pattern":{"type":"string","description_kind":"plain","optional":true},"route_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"sub_field":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_iploadbalancing_udp_frontend":{"version":0,"block":{"attributes":{"dedicated_ipfo":{"type":["list","string"],"description":"Only attach frontend on these ip. No restriction if null","description_kind":"markdown","optional":true,"computed":true},"default_farm_id":{"type":"number","description":"Default UDP Farm of your frontend","description_kind":"markdown","optional":true,"computed":true},"disabled":{"type":"bool","description":"Disable your frontend. Default: 'false'","description_kind":"markdown","optional":true,"computed":true},"display_name":{"type":"string","description":"Human readable name for your frontend, this field is for you","description_kind":"markdown","optional":true,"computed":true},"frontend_id":{"type":"number","description":"Id of your frontend","description_kind":"markdown","computed":true},"port":{"type":"string","description":"Port(s) attached to your frontend. Supports single port (numerical value), range (2 dash-delimited increasing ports) and comma-separated list of 'single port' and/or 'range'. Each port must be in the [1;49151] range.","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"The internal name of your IP load balancing","description_kind":"markdown","required":true},"zone":{"type":"string","description":"Zone of your frontend. Use \"all\" for all owned zone.","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_network":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your vrack network","description_kind":"plain","optional":true},"farm_id":{"type":["list","number"],"description":"This attribute is there for documentation purpose only and isnt passed to the OVH API as it may conflicts with http/tcp farms `vrack_network_id` attribute","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"nat_ip":{"type":"string","description":"An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your IPloadbalancer","description_kind":"plain","required":true},"subnet":{"type":"string","description":"IP block of the private network in the vRack","description_kind":"plain","required":true},"vlan":{"type":"number","description":"VLAN of the private network in the vRack. 0 if the private network is not in a VLAN","description_kind":"plain","optional":true,"computed":true},"vrack_network_id":{"type":"number","description":"Internal Load Balancer identifier of the vRack private network","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_client":{"version":0,"block":{"attributes":{"callback_urls":{"type":["list","string"],"description":"Callback URLs of the applications using this oauth2 client. Required if using the AUTHORIZATION_CODE flow.","description_kind":"plain","optional":true},"client_id":{"type":"string","description":"Client ID for the oauth2 client, generated during the resource creation.","description_kind":"plain","computed":true},"client_secret":{"type":"string","description":"Secret for the oauth2 client, generated during the oauth2 client creation.","description_kind":"plain","computed":true,"sensitive":true},"description":{"type":"string","description":"A description of your oauth2 client.","description_kind":"plain","required":true},"flow":{"type":"string","description":"OAuth2 flow type implemented for this oauth2 client. Can be either AUTHORIZATION_CODE or CLIENT_CREDENTIALS","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity":{"type":"string","description":"URN that will allow you to associate this oauth2 client with an access policy","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_identity_group":{"version":0,"block":{"attributes":{"creation":{"type":"string","description_kind":"plain","computed":true},"default_group":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"role":{"type":"string","description_kind":"plain","optional":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_identity_user":{"version":0,"block":{"attributes":{"creation":{"type":"string","description":"Creation date of this user","description_kind":"plain","computed":true},"description":{"type":"string","description":"User description","description_kind":"plain","optional":true},"email":{"type":"string","description":"User's email","description_kind":"plain","required":true},"group":{"type":"string","description":"User's group","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update of this user","description_kind":"plain","computed":true},"login":{"type":"string","description":"User's login suffix","description_kind":"plain","required":true},"password":{"type":"string","description":"User's password","description_kind":"plain","required":true,"sensitive":true},"password_last_update":{"type":"string","description":"When the user changed his password for the last time","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current user's status","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_installation_template":{"version":0,"block":{"attributes":{"base_template_name":{"type":"string","description":"OVH template name yours will be based on, choose one among the list given by compatibleTemplates function","description_kind":"plain","required":true},"bit_format":{"type":"number","description":"This template bit format (32 or 64)","description_kind":"plain","computed":true},"category":{"type":"string","description":"Category of this template (informative only). (basic, customer, hosting, other, readyToUse, virtualisation)","description_kind":"plain","computed":true},"description":{"type":"string","description":"information about this template","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"the distribution this template is based on","description_kind":"plain","computed":true},"end_of_install":{"type":"string","description":"after this date, install of this template will not be possible at OVH","description_kind":"plain","computed":true},"family":{"type":"string","description":"this template family type","description_kind":"plain","computed":true},"filesystems":{"type":["list","string"],"description":"Filesystems available","description_kind":"plain","computed":true},"hard_raid_configuration":{"type":"bool","description":"This distribution supports hardware raid configuration through the OVH API","description_kind":"plain","deprecated":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"inputs":{"type":["list",["object",{"default":"string","description":"string","enum":["list","string"],"mandatory":"bool","name":"string","type":"string"}]],"description_kind":"plain","computed":true},"lvm_ready":{"type":"bool","description":"Whether this distribution supports Logical Volumes (Linux LVM)","description_kind":"plain","computed":true},"no_partitioning":{"type":"bool","description":"Partitioning customization is not available for this OS template","description_kind":"plain","computed":true},"remove_default_partition_schemes":{"type":"bool","description":"Remove default partition schemes at creation","description_kind":"plain","optional":true,"computed":true},"soft_raid_only_mirroring":{"type":"bool","description":"Partitioning customization is available but limited to mirroring for this OS template","description_kind":"plain","computed":true},"subfamily":{"type":"string","description":"this template subfamily type","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"This template name","description_kind":"plain","required":true}},"block_types":{"customization":{"nesting_mode":"list","block":{"attributes":{"custom_hostname":{"type":"string","description":"Set up the server using the provided hostname instead of the default hostname","description_kind":"plain","optional":true},"post_installation_script_link":{"type":"string","description":"Indicate the URL where your postinstall customisation script is located","description_kind":"plain","optional":true},"post_installation_script_return":{"type":"string","description":"indicate the string returned by your postinstall customisation script on successful execution. Advice: your script should return a unique validation string in case of succes. A good example is 'loh1Xee7eo OK OK OK UGh8Ang1Gu'","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"priority":{"type":"number","description":"on a reinstall, if a partitioning scheme is not specified, the one with the higher priority will be used by default, among all the compatible partitioning schemes (given the underlying hardware specifications)","description_kind":"plain","required":true},"template_name":{"type":"string","description":"This template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme_hardware_raid":{"version":0,"block":{"attributes":{"disks":{"type":["list","string"],"description":"Disk List. Syntax is cX:dY for disks and [cX:dY,cX:dY] for groups. With X and Y resp. the controller id and the disk id","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"RAID mode (raid0, raid1, raid10, raid5, raid50, raid6, raid60)","description_kind":"plain","required":true},"name":{"type":"string","description":"Hardware RAID name","description_kind":"plain","required":true},"scheme_name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"step":{"type":"number","description":"Specifies the creation order of the hardware RAID","description_kind":"plain","required":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_template_partition_scheme_partition":{"version":0,"block":{"attributes":{"filesystem":{"type":"string","description":"Partition filesystem","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mountpoint":{"type":"string","description":"partition mount point","description_kind":"plain","required":true},"order":{"type":"number","description":"step or order. specifies the creation order of the partition on the disk","description_kind":"plain","required":true},"raid":{"type":"string","description":"raid partition type","description_kind":"plain","optional":true,"computed":true},"scheme_name":{"type":"string","description":"name of this partitioning scheme","description_kind":"plain","required":true},"size":{"type":"number","description":"size of partition in MB, 0 =\u003e rest of the space","description_kind":"plain","required":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true},"type":{"type":"string","description":"partition type","description_kind":"plain","required":true},"volume_name":{"type":"string","description":"The volume name needed for proxmox distribution","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_vps":{"version":0,"block":{"attributes":{"cluster":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"Set the name displayed in Manager for your VPS (max 50 chars)","description_kind":"markdown","optional":true,"computed":true},"iam":{"nested_type":{"attributes":{"display_name":{"type":"string","description":"Resource display name","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Unique identifier of the resource","description_kind":"markdown","computed":true},"tags":{"type":["map","string"],"description":"Resource tags. Tags that were internally computed are prefixed with ovh:","description_kind":"markdown","computed":true},"urn":{"type":"string","description":"Unique resource name used in policies","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"IAM resource metadata","description_kind":"markdown","computed":true},"keymap":{"type":"string","description":"KVM keyboard layout on VPS Cloud","description_kind":"plain","optional":true,"computed":true},"memory_limit":{"type":"number","description_kind":"plain","optional":true,"computed":true},"model":{"nested_type":{"attributes":{"available_options":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"datacenter":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"disk":{"type":"number","description_kind":"plain","optional":true,"computed":true},"maximum_additionnal_ip":{"type":"number","description_kind":"plain","optional":true,"computed":true},"memory":{"type":"number","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"offer":{"type":"string","description_kind":"plain","optional":true,"computed":true},"vcore":{"type":"number","description_kind":"plain","optional":true,"computed":true},"version":{"type":"string","description":"All versions that VPS can have","description_kind":"markdown","optional":true,"computed":true}},"nesting_mode":"single"},"description":"A structure describing characteristics of a VPS model","description_kind":"markdown","optional":true,"computed":true},"monitoring_ip_blocks":{"type":["list","string"],"description":"Ip blocks for OVH monitoring servers","description_kind":"markdown","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"netboot_mode":{"type":"string","description":"All values a VPS netboot mode can be in","description_kind":"markdown","optional":true,"computed":true},"offer_type":{"type":"string","description":"All offers a VPS can have","description_kind":"markdown","optional":true,"computed":true},"order":{"nested_type":{"attributes":{"date":{"type":"string","description_kind":"plain","computed":true},"details":{"nested_type":{"attributes":{"description":{"type":"string","description_kind":"plain","computed":true},"detail_type":{"type":"string","description":"Product type of item in order","description_kind":"markdown","computed":true},"domain":{"type":"string","description_kind":"plain","computed":true},"order_detail_id":{"type":"number","description_kind":"plain","computed":true},"quantity":{"type":"string","description_kind":"plain","computed":true}},"nesting_mode":"list"},"description_kind":"plain","computed":true},"expiration_date":{"type":"string","description_kind":"plain","computed":true},"order_id":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Details about an Order","description_kind":"markdown","computed":true},"ovh_subsidiary":{"type":"string","description":"OVH subsidiaries","description_kind":"markdown","required":true},"plan":{"nested_type":{"attributes":{"configuration":{"nested_type":{"attributes":{"label":{"type":"string","description":"Label for your configuration item","description_kind":"markdown","required":true},"value":{"type":"string","description":"Value or resource URL on API.OVH.COM of your configuration item","description_kind":"markdown","required":true}},"nesting_mode":"list"},"description_kind":"plain","optional":true,"computed":true},"duration":{"type":"string","description":"Duration selected for the purchase of the product","description_kind":"markdown","required":true},"item_id":{"type":"number","description":"Cart item to be linked","description_kind":"markdown","optional":true},"plan_code":{"type":"string","description":"Identifier of the option offer","description_kind":"markdown","required":true},"pricing_mode":{"type":"string","description":"Pricing mode selected for the purchase of the product","description_kind":"markdown","required":true},"quantity":{"type":"number","description":"Quantity of product desired","description_kind":"markdown","optional":true}},"nesting_mode":"list"},"description_kind":"plain","optional":true,"computed":true},"plan_option":{"nested_type":{"attributes":{"configuration":{"nested_type":{"attributes":{"label":{"type":"string","description":"Label for your configuration item","description_kind":"markdown","required":true},"value":{"type":"string","description":"Value or resource URL on API.OVH.COM of your configuration item","description_kind":"markdown","required":true}},"nesting_mode":"list"},"description_kind":"plain","optional":true,"computed":true},"duration":{"type":"string","description":"Duration selected for the purchase of the product","description_kind":"markdown","required":true},"item_id":{"type":"number","description":"Cart item to be linked","description_kind":"markdown","required":true},"plan_code":{"type":"string","description":"Identifier of the option offer","description_kind":"markdown","required":true},"pricing_mode":{"type":"string","description":"Pricing mode selected for the purchase of the product","description_kind":"markdown","required":true},"quantity":{"type":"number","description":"Quantity of product desired","description_kind":"markdown","required":true}},"nesting_mode":"list"},"description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your VPS offer","description_kind":"markdown","computed":true},"sla_monitoring":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description":"All states a VPS can be in","description_kind":"markdown","optional":true,"computed":true},"vcore":{"type":"number","description_kind":"plain","optional":true,"computed":true},"zone":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_vrack":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"yourvrackdescription","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"yourvrackname","description_kind":"plain","optional":true,"computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"payment_mean":{"type":"string","description":"Ovh payment mode","description_kind":"plain","deprecated":true,"optional":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"order":{"nesting_mode":"list","block":{"attributes":{"date":{"type":"string","description":"date","description_kind":"plain","computed":true},"details":{"type":["list",["object",{"description":"string","domain":"string","order_detail_id":"number","quantity":"string"}]],"description":"Information about a Bill entry","description_kind":"plain","computed":true},"expiration_date":{"type":"string","description":"expiration date","description_kind":"plain","computed":true},"order_id":{"type":"number","description":"order id","description_kind":"plain","computed":true}},"description":"Details about an Order","description_kind":"plain"}},"plan":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"},"min_items":1,"max_items":1},"plan_option":{"nesting_mode":"list","block":{"attributes":{"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"duration":{"type":"string","description":"duration","description_kind":"plain","required":true},"plan_code":{"type":"string","description":"Plan code","description_kind":"plain","required":true},"pricing_mode":{"type":"string","description":"Pricing model identifier","description_kind":"plain","required":true}},"block_types":{"configuration":{"nesting_mode":"list","block":{"attributes":{"label":{"type":"string","description":"Identifier of the resource","description_kind":"plain","required":true},"value":{"type":"string","description":"Path to the resource in API.OVH.COM","description_kind":"plain","required":true}},"description":"Representation of a configuration item for personalizing product","description_kind":"plain"}}},"description":"Product Plan to order","description_kind":"plain"}}},"description_kind":"plain"}},"ovh_vrack_cloudproject":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"project_id":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"Service name of the vrack resource.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack_dedicated_server":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"server_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack_dedicated_server_interface":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"interface_id":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the vrack resource.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_vrack_ip":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"Your IP block.","description_kind":"plain","required":true},"gateway":{"type":"string","description":"Your gateway","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Your IP block","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","required":true},"zone":{"type":"string","description":"Where you want your block announced on the network","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vrack_iploadbalancing":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description":"Your ipLoadbalancing","description_kind":"plain","required":true},"service_name":{"type":"string","description":"The internal name of your vrack","description_kind":"plain","required":true}},"description_kind":"plain"}}},"data_source_schemas":{"ovh_cloud_project":{"version":0,"block":{"attributes":{"access":{"type":"string","description":"Project access","description_kind":"markdown","computed":true},"creation_date":{"type":"string","description":"Project creation date","description_kind":"markdown","computed":true},"description":{"type":"string","description":"Description of your project","description_kind":"markdown","computed":true},"expiration":{"type":"string","description":"Expiration date of your project. After this date, your project will be deleted","description_kind":"markdown","computed":true},"iam":{"nested_type":{"attributes":{"display_name":{"type":"string","description":"Resource display name","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Unique identifier of the resource","description_kind":"markdown","computed":true},"tags":{"type":["map","string"],"description":"Resource tags. Tags that were internally computed are prefixed with ovh:","description_kind":"markdown","computed":true},"urn":{"type":"string","description":"Unique resource name used in policies","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"IAM resource metadata","description_kind":"markdown","computed":true},"manual_quota":{"type":"bool","description":"Manual quota prevent automatic quota upgrade","description_kind":"markdown","computed":true},"order_id":{"type":"number","description":"Project order id","description_kind":"markdown","computed":true},"plan_code":{"type":"string","description":"Order plan code","description_kind":"markdown","computed":true},"project_id":{"type":"string","description":"Project id","description_kind":"markdown","computed":true},"project_name":{"type":"string","description":"Project name","description_kind":"markdown","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","required":true},"status":{"type":"string","description":"Current status","description_kind":"markdown","computed":true},"unleash":{"type":"bool","description":"Project unleashed","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_capabilities_containerregistry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list",["object",{"plans":["list",["object",{"code":"string","created_at":"string","features":["list",["object",{"vulnerability":"bool"}]],"id":"string","name":"string","registry_limits":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"updated_at":"string"}]],"region_name":"string"}]],"description":"List of container registry capability for a single region","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_capabilities_containerregistry_filter":{"version":0,"block":{"attributes":{"code":{"type":"string","description":"Plan code from catalog","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Plan creation date","description_kind":"plain","computed":true},"features":{"type":["list",["object",{"vulnerability":"bool"}]],"description":"Features of the plan","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Plan name","description_kind":"plain","computed":true},"plan_name":{"type":"string","description":"Plan name of the registry.","description_kind":"plain","required":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","required":true},"registry_limits":{"type":["list",["object",{"image_storage":"number","parallel_request":"number"}]],"description":"Container registry limits","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Plan last update date","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistries":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list",["object",{"created_at":"string","id":"string","name":"string","project_id":"string","region":"string","size":"number","status":"string","updated_at":"string","url":"string","version":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Registry creation date","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Registry name","description_kind":"plain","computed":true},"project_id":{"type":"string","description":"Project ID of your registry","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region of the registry.","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Current size of the registry (bytes)","description_kind":"plain","computed":true},"status":{"type":"string","description":"Registry status","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Registry last update date","description_kind":"plain","computed":true},"url":{"type":"string","description":"Access url of the registry","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of your registry","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_management":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["set",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_ip_restrictions_registry":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_restrictions":{"type":["set",["map","string"]],"description":"List your IP restrictions applied on artifact manager component","description_kind":"plain","computed":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_oidc":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"oidc_admin_group":{"type":"string","description_kind":"plain","optional":true},"oidc_auto_onboard":{"type":"bool","description_kind":"plain","optional":true},"oidc_client_id":{"type":"string","description_kind":"plain","optional":true},"oidc_endpoint":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_name":{"type":"string","description_kind":"plain","optional":true},"oidc_scope":{"type":"string","description_kind":"plain","optional":true},"oidc_user_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_verify_cert":{"type":"bool","description_kind":"plain","optional":true},"registry_id":{"type":"string","description":"Registry ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_containerregistry_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"registry_id":{"type":"string","description":"RegistryID","description_kind":"plain","required":true},"result":{"type":["list",["object",{"email":"string","id":"string","user":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database":{"version":0,"block":{"attributes":{"advanced_configuration":{"type":["map","string"],"description":"Advanced configuration key / value","description_kind":"plain","computed":true},"backup_regions":{"type":["list","string"],"description":"List of region where backups are pushed","description_kind":"plain","computed":true},"backup_time":{"type":"string","description":"Time on which backups start every day","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Date of the creation of the cluster","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the cluster","description_kind":"plain","computed":true},"disk_size":{"type":"number","description":"Disk size attributes of the cluster","description_kind":"plain","computed":true},"disk_type":{"type":"string","description":"Disk type attributes of the cluster","description_kind":"plain","computed":true},"endpoints":{"type":["list",["object",{"component":"string","domain":"string","path":"string","port":"number","scheme":"string","ssl":"bool","ssl_mode":"string","uri":"string"}]],"description":"List of all endpoints of the service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"flavor":{"type":"string","description":"The node flavor used for this cluster","description_kind":"plain","computed":true},"id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"ip_restrictions":{"type":["set",["object",{"description":"string","ip":"string","status":"string"}]],"description":"IP Blocks authorized to access to the cluster","description_kind":"plain","computed":true},"kafka_rest_api":{"type":"bool","description":"Defines whether the REST API is enabled on a Kafka cluster","description_kind":"plain","computed":true},"kafka_schema_registry":{"type":"bool","description":"Defines whether the schema registry is enabled on a Kafka cluster","description_kind":"plain","computed":true},"maintenance_time":{"type":"string","description":"Time on which maintenances can start every day","description_kind":"plain","computed":true},"network_type":{"type":"string","description":"Type of network of the cluster","description_kind":"plain","computed":true},"nodes":{"type":["list",["object",{"network_id":"string","region":"string","subnet_id":"string"}]],"description":"List of nodes composing the service","description_kind":"plain","computed":true},"opensearch_acls_enabled":{"type":"bool","description":"Defines whether the ACLs are enabled on an Opensearch cluster","description_kind":"plain","computed":true},"plan":{"type":"string","description":"Plan of the cluster","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the cluster","description_kind":"plain","computed":true},"version":{"type":"string","description":"Version of the engine deployed on the cluster","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_capabilities":{"version":0,"block":{"attributes":{"engines":{"type":["set",["object",{"default_version":"string","description":"string","name":"string","ssl_modes":["set","string"],"versions":["set","string"]}]],"description":"Database engines available","description_kind":"plain","computed":true},"flavors":{"type":["set",["object",{"core":"number","memory":"number","name":"string","storage":"number"}]],"description":"Flavors available","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"options":{"type":["set",["object",{"name":"string","type":"string"}]],"description":"Options available","description_kind":"plain","computed":true},"plans":{"type":["set",["object",{"backup_retention":"string","description":"string","name":"string"}]],"description":"Plans available","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_certificates":{"version":0,"block":{"attributes":{"ca":{"type":"string","description":"CA certificate used for the service","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_database":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"default":{"type":"bool","description":"Defines if the database has been created by default","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the database","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_databases":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"database_ids":{"type":["list","string"],"description":"List of databases ids","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_integration":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"destination_service_id":{"type":"string","description":"ID of the destination service","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description":"Integration ID","description_kind":"plain","required":true},"parameters":{"type":["map","string"],"description":"Parameters for the integration","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"source_service_id":{"type":"string","description":"ID of the source service","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status of the integration","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of the integration","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_integrations":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"integration_ids":{"type":["list","string"],"description":"List of integrations ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_ip_restrictions":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"ips":{"type":["set","string"],"description":"List of IP restriction","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain","deprecated":true}},"ovh_cloud_project_database_kafka_acl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Acl ID","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission to give to this username on this topic","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic":{"type":"string","description":"Topic affected by this acl","description_kind":"plain","computed":true},"username":{"type":"string","description":"Username affected by this acl","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_acls":{"version":0,"block":{"attributes":{"acl_ids":{"type":["list","string"],"description":"List of acl ids","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacl":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Shema registry ACL ID","description_kind":"plain","required":true},"permission":{"type":"string","description":"Permission to give to this username on this resource","description_kind":"plain","computed":true},"resource":{"type":"string","description":"Resource affected by this ACL","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"username":{"type":"string","description":"Username affected by this ACL","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_schemaregistryacls":{"version":0,"block":{"attributes":{"acl_ids":{"type":["list","string"],"description":"List of schema registry acl ids","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topic":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Topic ID","description_kind":"plain","required":true},"min_insync_replicas":{"type":"number","description":"Minimum insync replica accepted for this topic","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the topic","description_kind":"plain","computed":true},"partitions":{"type":"number","description":"Number of partitions for this topic","description_kind":"plain","computed":true},"replication":{"type":"number","description":"Number of replication for this topic","description_kind":"plain","computed":true},"retention_bytes":{"type":"number","description":"Number of bytes for the retention of the data for this topic","description_kind":"plain","computed":true},"retention_hours":{"type":"number","description":"Number of hours for the retention of the data for this topic","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_topics":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"topic_ids":{"type":["list","string"],"description":"List of topic ids","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_kafka_user_access":{"version":0,"block":{"attributes":{"cert":{"type":"string","description":"User cert","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"key":{"type":"string","description":"User key for the cert","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description_kind":"plain","required":true},"user_id":{"type":"string","description":"Id of the user","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_log_subscription":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Creation date of the subscription","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description":"Id of the subscrition","description_kind":"plain","required":true},"kind":{"type":"string","description":"Log kind name of this subscription","description_kind":"plain","computed":true},"ldp_service_name":{"type":"string","description":"Name of the destination log service","description_kind":"plain","computed":true,"sensitive":true},"resource_name":{"type":"string","description":"Name of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"resource_type":{"type":"string","description":"Type of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Id of the target Log data platform stream","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date of the subscription","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_log_subscriptions":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"subscription_ids":{"type":["list","string"],"description":"List of log subscription ids","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespace":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the namespace","description_kind":"plain","required":true},"resolution":{"type":"string","description":"Resolution for an aggregated namespace","description_kind":"plain","computed":true},"retention_block_data_expiration_duration":{"type":"string","description":"Controls how long we wait before expiring stale data","description_kind":"plain","computed":true},"retention_block_size_duration":{"type":"string","description":"Controls how long to keep a block in memory before flushing to a fileset on disk","description_kind":"plain","computed":true},"retention_buffer_future_duration":{"type":"string","description":"Controls how far into the future writes to the namespace will be accepted","description_kind":"plain","computed":true},"retention_buffer_past_duration":{"type":"string","description":"Controls how far into the past writes to the namespace will be accepted","description_kind":"plain","computed":true},"retention_period_duration":{"type":"string","description":"Controls the duration of time that M3DB will retain data for the namespace","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"snapshot_enabled":{"type":"bool","description":"Defines whether M3DB will create snapshot files for this namespace","description_kind":"plain","computed":true},"type":{"type":"string","description":"Type of namespace","description_kind":"plain","computed":true},"writes_to_commit_log_enabled":{"type":"bool","description":"Defines whether M3DB will include writes to this namespace in the commit log","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_namespaces":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"namespace_ids":{"type":["list","string"],"description":"List of namespaces ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_m3db_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"group":{"type":"string","description":"Group of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_mongodb_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user with the authentication database in the format name@authDB","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_pattern":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description":"Pattern ID","description_kind":"plain","required":true},"max_index_count":{"type":"number","description":"Maximum number of index for this pattern","description_kind":"plain","computed":true},"pattern":{"type":"string","description":"Pattern format","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_patterns":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"pattern_ids":{"type":["list","string"],"description":"List of pattern ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_opensearch_user":{"version":0,"block":{"attributes":{"acls":{"type":["set",["object",{"pattern":"string","permission":"string"}]],"description":"Acls of the user","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_connection_pool":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"database_id":{"type":"string","description":"Database used for the connection pool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description":"Connection mode to the connection pool","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the connection pool","description_kind":"plain","required":true},"port":{"type":"number","description":"Port of the connection pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description":"Size of the connection pool","description_kind":"plain","computed":true},"ssl_mode":{"type":"string","description":"SSL connection mode for the pool","description_kind":"plain","computed":true},"uri":{"type":"string","description":"Connection URI to the pool","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"User authorized to connect to the pool, if none all the users are allowed","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_connection_pools":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"connection_pool_ids":{"type":["list","string"],"description":"List of connection pools ids","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_database_postgresql_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description":"Roles the user belongs to","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_redis_user":{"version":0,"block":{"attributes":{"categories":{"type":["set","string"],"description":"Categories of the user","description_kind":"plain","computed":true},"channels":{"type":["set","string"],"description":"Channels of the user","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description":"Id of the database cluster","description_kind":"plain","required":true},"commands":{"type":["set","string"],"description":"Commands of the user","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"keys":{"type":["set","string"],"description":"Keys of the user","description_kind":"plain","computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_user":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"created_at":{"type":"string","description":"Date of the creation of the user","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"Name of the user","description_kind":"plain","required":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description":"Current status of the user","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_database_users":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"plain","required":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"user_ids":{"type":["list","string"],"description":"List of users ids","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_databases":{"version":0,"block":{"attributes":{"cluster_ids":{"type":["list","string"],"description":"List of database clusters uuids","description_kind":"plain","computed":true},"engine":{"type":"string","description":"Name of the engine of the service","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_failover_ip_attach":{"version":0,"block":{"attributes":{"block":{"type":"string","description":"IP block","description_kind":"plain","optional":true,"computed":true},"continent_code":{"type":"string","description":"Ip continent","description_kind":"plain","optional":true,"computed":true},"geo_loc":{"type":"string","description":"Ip location","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"Ip id","description_kind":"plain","computed":true},"ip":{"type":"string","description":"Ip","description_kind":"plain","optional":true,"computed":true},"progress":{"type":"number","description":"Current operation progress in percent","description_kind":"plain","computed":true},"routed_to":{"type":"string","description":"Instance where ip is routed to","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"status":{"type":"string","description":"Ip status","description_kind":"plain","computed":true},"sub_type":{"type":"string","description":"IP sub type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_gateway_interface":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"Id","description_kind":"plain","required":true},"interface_id":{"type":"string","description":"Interface ID","description_kind":"plain","required":true},"ip":{"type":"string","description":"IP of the interface","description_kind":"plain","computed":true},"network_id":{"type":"string","description":"Network ID of the interface","description_kind":"plain","computed":true},"region":{"type":"string","description":"Region name","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"subnet_id":{"type":"string","description":"Subnet ID of the interface","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_kube":{"version":0,"block":{"attributes":{"control_plane_is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_up_to_date":{"type":"bool","description_kind":"plain","computed":true},"kube_id":{"type":"string","description_kind":"plain","required":true},"kube_proxy_mode":{"type":"string","description_kind":"plain","optional":true},"load_balancers_subnet_id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","optional":true},"next_upgrade_versions":{"type":["set","string"],"description_kind":"plain","computed":true},"nodes_subnet_id":{"type":"string","description_kind":"plain","computed":true},"nodes_url":{"type":"string","description_kind":"plain","computed":true},"private_network_id":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"update_policy":{"type":"string","description_kind":"plain","optional":true},"url":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description_kind":"plain","optional":true}},"block_types":{"customization":{"nesting_mode":"set","block":{"block_types":{"apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain","deprecated":true}}},"description_kind":"plain","deprecated":true}},"customization_apiserver":{"nesting_mode":"set","block":{"block_types":{"admissionplugins":{"nesting_mode":"set","block":{"attributes":{"disabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true},"enabled":{"type":["list","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"customization_kube_proxy":{"nesting_mode":"set","block":{"block_types":{"iptables":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1},"ipvs":{"nesting_mode":"set","block":{"attributes":{"min_sync_period":{"type":"string","description_kind":"plain","optional":true},"scheduler":{"type":"string","description_kind":"plain","optional":true},"sync_period":{"type":"string","description_kind":"plain","optional":true},"tcp_fin_timeout":{"type":"string","description_kind":"plain","optional":true},"tcp_timeout":{"type":"string","description_kind":"plain","optional":true},"udp_timeout":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_cloud_project_kube_iprestrictions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description":"List of IP restrictions for the cluster","description_kind":"plain","computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool":{"version":0,"block":{"attributes":{"anti_affinity":{"type":"bool","description":"Enable anti affinity groups for nodes in the pool","description_kind":"plain","computed":true},"autoscale":{"type":"bool","description":"Enable auto-scaling for the pool","description_kind":"plain","computed":true},"autoscaling_scale_down_unneeded_time_seconds":{"type":"number","description":"scaleDownUnneededTimeSeconds for autoscaling","description_kind":"plain","computed":true},"autoscaling_scale_down_unready_time_seconds":{"type":"number","description":"scaleDownUnreadyTimeSeconds for autoscaling","description_kind":"plain","computed":true},"autoscaling_scale_down_utilization_threshold":{"type":"number","description":"scaleDownUtilizationThreshold for autoscaling","description_kind":"plain","computed":true},"available_nodes":{"type":"number","description":"Number of nodes which are actually ready in the pool","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Creation date","description_kind":"plain","computed":true},"current_nodes":{"type":"number","description":"Number of nodes present in the pool","description_kind":"plain","computed":true},"desired_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"flavor":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"flavor_name":{"type":"string","description":"Flavor name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"max_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"min_nodes":{"type":"number","description":"Number of nodes you desire in the pool","description_kind":"plain","computed":true},"monthly_billed":{"type":"bool","description":"Enable monthly billing on all nodes in the pool","description_kind":"plain","computed":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","required":true},"project_id":{"type":"string","description":"Project id","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true},"size_status":{"type":"string","description":"Status describing the state between number of nodes wanted and available ones","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current status","description_kind":"plain","computed":true},"up_to_date_nodes":{"type":"number","description":"Number of nodes with latest version installed in the pool","description_kind":"plain","computed":true},"updated_at":{"type":"string","description":"Last update date","description_kind":"plain","computed":true}},"block_types":{"template":{"nesting_mode":"set","block":{"block_types":{"metadata":{"nesting_mode":"set","block":{"attributes":{"annotations":{"type":["map","string"],"description":"annotations","description_kind":"plain","optional":true},"finalizers":{"type":["list","string"],"description":"finalizers","description_kind":"plain","optional":true},"labels":{"type":["map","string"],"description":"labels","description_kind":"plain","optional":true}},"description":"metadata","description_kind":"plain"},"max_items":1},"spec":{"nesting_mode":"set","block":{"attributes":{"taints":{"type":["list",["map","string"]],"description":"taints","description_kind":"plain","optional":true},"unschedulable":{"type":"bool","description":"unschedulable","description_kind":"plain","optional":true}},"description":"spec","description_kind":"plain"},"max_items":1}},"description":"Node pool template","description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodepool_nodes":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"name":{"type":"string","description":"NodePool resource name","description_kind":"plain","required":true},"nodes":{"type":["list",["object",{"created_at":"string","deployed_at":"string","flavor":"string","id":"string","instance_id":"string","is_up_to_date":"bool","name":"string","node_pool_id":"string","project_id":"string","status":"string","updated_at":"string","version":"string"}]],"description":"Nodes composing the node pool","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_nodes":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"nodes":{"type":["list",["object",{"created_at":"string","deployed_at":"string","flavor":"string","id":"string","instance_id":"string","is_up_to_date":"bool","name":"string","node_pool_id":"string","project_id":"string","status":"string","updated_at":"string","version":"string"}]],"description":"Nodes composing the cluster","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_kube_oidc":{"version":0,"block":{"attributes":{"client_id":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer_url":{"type":"string","description_kind":"plain","optional":true},"kube_id":{"type":"string","description":"Kube ID","description_kind":"plain","required":true},"oidc_ca_content":{"type":"string","description_kind":"plain","optional":true},"oidc_groups_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_groups_prefix":{"type":"string","description_kind":"plain","optional":true},"oidc_required_claim":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_signing_algs":{"type":["list","string"],"description_kind":"plain","optional":true},"oidc_username_claim":{"type":"string","description_kind":"plain","optional":true},"oidc_username_prefix":{"type":"string","description_kind":"plain","optional":true},"service_name":{"type":"string","description":"Service name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_loadbalancer":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"The UTC date and timestamp when the loadbalancer was created","description_kind":"markdown","computed":true},"flavor_id":{"type":"string","description":"ID of the flavor","description_kind":"markdown","computed":true},"floating_ip":{"nested_type":{"attributes":{"id":{"type":"string","description":"ID of the floating IP","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"IP Address of the floating IP","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Information about floating IP","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Load balancer ID","description_kind":"markdown","required":true},"name":{"type":"string","description":"Name of the loadbalancer","description_kind":"markdown","computed":true},"operating_status":{"type":"string","description":"Operating status of the loadbalancer","description_kind":"markdown","computed":true},"provisioning_status":{"type":"string","description":"Provisioning status of the loadbalancer","description_kind":"markdown","computed":true},"region_name":{"type":"string","description":"Region of the loadbalancer","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","required":true},"updated_at":{"type":"string","description":"UTC date and timestamp when the loadbalancer was updated","description_kind":"markdown","computed":true},"vip_address":{"type":"string","description":"IP address of the Virtual IP","description_kind":"markdown","computed":true},"vip_network_id":{"type":"string","description":"Openstack ID of the network for the Virtual IP","description_kind":"markdown","computed":true},"vip_subnet_id":{"type":"string","description":"ID of the subnet for the Virtual IP","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_loadbalancers":{"version":0,"block":{"attributes":{"loadbalancers":{"nested_type":{"attributes":{"created_at":{"type":"string","description":"The UTC date and timestamp when the loadbalancer was created","description_kind":"markdown","computed":true},"flavor_id":{"type":"string","description":"ID of the flavor","description_kind":"markdown","computed":true},"floating_ip":{"nested_type":{"attributes":{"id":{"type":"string","description":"ID of the floating IP","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"IP Address of the floating IP","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Information about floating IP","description_kind":"markdown","computed":true},"id":{"type":"string","description":"ID of the loadbalancer","description_kind":"markdown","computed":true},"name":{"type":"string","description":"Name of the loadbalancer","description_kind":"markdown","computed":true},"operating_status":{"type":"string","description":"Operating status of the loadbalancer","description_kind":"markdown","computed":true},"provisioning_status":{"type":"string","description":"Provisioning status of the loadbalancer","description_kind":"markdown","computed":true},"region":{"type":"string","description":"Region of the loadbalancer","description_kind":"markdown","computed":true},"updated_at":{"type":"string","description":"UTC date and timestamp when the loadbalancer was updated","description_kind":"markdown","computed":true},"vip_address":{"type":"string","description":"IP address of the Virtual IP","description_kind":"markdown","computed":true},"vip_network_id":{"type":"string","description":"Openstack ID of the network for the Virtual IP","description_kind":"markdown","computed":true},"vip_subnet_id":{"type":"string","description":"ID of the subnet for the Virtual IP","description_kind":"markdown","computed":true}},"nesting_mode":"set"},"description_kind":"plain","computed":true},"region_name":{"type":"string","description":"Region name","description_kind":"markdown","required":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_cloud_project_region":{"version":0,"block":{"attributes":{"continent_code":{"type":"string","description_kind":"plain","computed":true},"datacenter_location":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"services":{"type":["set",["object",{"name":"string","status":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_region_loadbalancer_log_subscription":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description":"Creation date of the subscription","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Log kind name of this subscription","description_kind":"plain","computed":true},"ldp_service_name":{"type":"string","description":"Name of the destination log service","description_kind":"plain","computed":true},"loadbalancer_id":{"type":"string","description":"ID representing the loadbalancer of the resource","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name of the resource representing the name of the region.","description_kind":"plain","required":true},"resource_name":{"type":"string","description":"Name of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"resource_type":{"type":"string","description":"Type of subscribed resource, where the logs come from","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Id of the target Log data platform stream","description_kind":"plain","computed":true},"subscription_id":{"type":"string","description":"ID representing the subscription","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Last update date of the subscription","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_region_loadbalancer_log_subscriptions":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Kind representing the loadbalancer.","description_kind":"plain","optional":true},"loadbalancer_id":{"type":"string","description":"ID representing the loadbalancer of the resource","description_kind":"plain","required":true},"region_name":{"type":"string","description":"Region name of the resource representing the name of the region.","description_kind":"plain","required":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"subscription_ids":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_regions":{"version":0,"block":{"attributes":{"has_services_up":{"type":["list","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"names":{"type":["set","string"],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"roles":{"type":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true},"username":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credential":{"version":0,"block":{"attributes":{"access_key_id":{"type":"string","description":"The access key","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"secret_access_key":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_credentials":{"version":0,"block":{"attributes":{"access_key_ids":{"type":["list","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_user_s3_policy":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policy":{"type":"string","description":"The policy document. This is a JSON formatted string.","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the ID of the cloud project.","description_kind":"plain","required":true},"user_id":{"type":"string","description":"The user ID","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_project_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"Service name of the resource representing the id of the cloud project.","description_kind":"plain","required":true},"users":{"type":["list",["object",{"creation_date":"string","description":"string","roles":["list",["object",{"description":"string","id":"string","name":"string","permissions":["set","string"]}]],"status":"string","user_id":"string","username":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_cloud_project_vrack":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_cloud_projects":{"version":0,"block":{"attributes":{"projects":{"nested_type":{"attributes":{"access":{"type":"string","description":"Project access","description_kind":"markdown","computed":true},"creation_date":{"type":"string","description":"Project creation date","description_kind":"markdown","computed":true},"description":{"type":"string","description":"Description of your project","description_kind":"markdown","computed":true},"expiration":{"type":"string","description":"Expiration date of your project. After this date, your project will be deleted","description_kind":"markdown","computed":true},"iam":{"nested_type":{"attributes":{"display_name":{"type":"string","description":"Resource display name","description_kind":"markdown","computed":true},"id":{"type":"string","description":"Unique identifier of the resource","description_kind":"markdown","computed":true},"tags":{"type":["map","string"],"description":"Resource tags. Tags that were internally computed are prefixed with ovh:","description_kind":"markdown","computed":true},"urn":{"type":"string","description":"Unique resource name used in policies","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"IAM resource metadata","description_kind":"markdown","computed":true},"manual_quota":{"type":"bool","description":"Manual quota prevent automatic quota upgrade","description_kind":"markdown","computed":true},"order_id":{"type":"number","description":"Project order id","description_kind":"markdown","computed":true},"plan_code":{"type":"string","description":"Order plan code","description_kind":"markdown","computed":true},"project_id":{"type":"string","description":"Project id","description_kind":"markdown","computed":true},"project_name":{"type":"string","description":"Project name","description_kind":"markdown","computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","computed":true},"status":{"type":"string","description":"Current status","description_kind":"markdown","computed":true},"unleash":{"type":"bool","description":"Project unleashed","description_kind":"markdown","computed":true}},"nesting_mode":"set"},"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_cluster":{"version":0,"block":{"attributes":{"archive_allowed_networks":{"type":["set","string"],"description":"Allowed networks for ARCHIVE flow type","description_kind":"plain","computed":true},"cluster_id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"cluster_type":{"type":"string","description":"Cluster type","description_kind":"plain","computed":true},"dedicated_input_pem":{"type":"string","description":"PEM for dedicated inputs","description_kind":"plain","computed":true,"sensitive":true},"direct_input_allowed_networks":{"type":["set","string"],"description":"Allowed networks for DIRECT_INPUT flow type","description_kind":"plain","computed":true},"direct_input_pem":{"type":"string","description":"PEM for direct inputs","description_kind":"plain","computed":true,"sensitive":true},"hostname":{"type":"string","description":"hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_default":{"type":"bool","description":"All content generated by given service will be placed on this cluster","description_kind":"plain","computed":true},"is_unlocked":{"type":"bool","description":"Allow given service to perform advanced operations on cluster","description_kind":"plain","computed":true},"query_allowed_networks":{"type":["set","string"],"description":"Allowed networks for QUERY flow type","description_kind":"plain","computed":true},"region":{"type":"string","description":"Data center localization","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_cluster_retention":{"version":0,"block":{"attributes":{"cluster_id":{"type":"string","description":"Cluster ID","description_kind":"markdown","required":true},"duration":{"type":"string","description":"Indexed duration expressed in ISO-8601 format","description_kind":"markdown","optional":true,"computed":true},"is_supported":{"type":"bool","description":"Indicates if a new stream can use it","description_kind":"markdown","computed":true},"retention_id":{"type":"string","description":"Retention ID","description_kind":"markdown","optional":true,"computed":true},"service_name":{"type":"string","description":"Service name","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_dbaas_logs_clusters":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true},"uuids":{"type":["set","string"],"description":"UUID of clusters","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_input_engine":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_deprecated":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"version":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_dbaas_logs_output_graylog_stream":{"version":0,"block":{"attributes":{"can_alert":{"type":"bool","description":"Indicates if the current user can create alert on the stream","description_kind":"plain","computed":true},"cold_storage_compression":{"type":"string","description":"Cold storage compression method","description_kind":"plain","computed":true},"cold_storage_content":{"type":"string","description":"ColdStorage content","description_kind":"plain","computed":true},"cold_storage_enabled":{"type":"bool","description":"Is Cold storage enabled?","description_kind":"plain","computed":true},"cold_storage_notify_enabled":{"type":"bool","description":"Notify on new Cold storage archive","description_kind":"plain","computed":true},"cold_storage_retention":{"type":"number","description":"Cold storage retention in year","description_kind":"plain","computed":true},"cold_storage_target":{"type":"string","description":"ColdStorage destination","description_kind":"plain","computed":true},"created_at":{"type":"string","description":"Stream creation","description_kind":"plain","computed":true},"description":{"type":"string","description":"Stream description","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"indexing_enabled":{"type":"bool","description":"Enable ES indexing","description_kind":"plain","computed":true},"indexing_max_size":{"type":"number","description":"Maximum indexing size (in GB)","description_kind":"plain","computed":true},"indexing_notify_enabled":{"type":"bool","description":"If set, notify when size is near 80, 90 or 100 % of the maximum configured setting","description_kind":"plain","computed":true},"is_editable":{"type":"bool","description":"Indicates if you are allowed to edit entry","description_kind":"plain","computed":true},"is_shareable":{"type":"bool","description":"Indicates if you are allowed to share entry","description_kind":"plain","computed":true},"nb_alert_condition":{"type":"number","description":"Number of alert condition","description_kind":"plain","computed":true},"nb_archive":{"type":"number","description":"Number of coldstored archives","description_kind":"plain","computed":true},"parent_stream_id":{"type":"string","description":"Parent stream ID","description_kind":"plain","computed":true},"pause_indexing_on_max_size":{"type":"bool","description":"If set, pause indexing when maximum size is reach","description_kind":"plain","computed":true},"retention_id":{"type":"string","description":"Retention ID","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"stream_id":{"type":"string","description":"Stream ID","description_kind":"plain","computed":true},"title":{"type":"string","description":"Stream description","description_kind":"plain","required":true},"updated_at":{"type":"string","description":"Stream last update","description_kind":"plain","computed":true},"web_socket_enabled":{"type":"bool","description":"Enable Websocket","description_kind":"plain","computed":true},"write_token":{"type":"string","description":"Write token of the stream","description_kind":"plain","computed":true,"sensitive":true}},"description_kind":"plain"}},"ovh_dedicated_ceph":{"version":0,"block":{"attributes":{"ceph_mons":{"type":["list","string"],"description_kind":"plain","computed":true},"ceph_version":{"type":"string","description_kind":"plain","optional":true,"computed":true},"crush_tunables":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"label":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"size":{"type":"number","description_kind":"plain","computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"status":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_installation_template":{"version":0,"block":{"attributes":{"bit_format":{"type":"number","description":"Template bit format (32 or 64)","description_kind":"plain","computed":true},"category":{"type":"string","description":"Category of this template (informative only)","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the template","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"Distribution this template is based on","description_kind":"plain","computed":true},"end_of_install":{"type":"string","description":"After this date, install of this template will not be possible at OVH","description_kind":"plain","computed":true},"family":{"type":"string","description":"Template family type (bsd,linux,solaris,windows)","description_kind":"plain","computed":true},"filesystems":{"type":["list","string"],"description":"Filesystems available","description_kind":"plain","computed":true},"hard_raid_configuration":{"type":"bool","description":"Distribution supports hardware raid configuration through the OVH API","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"inputs":{"type":["list",["object",{"default":"string","description":"string","enum":["list","string"],"mandatory":"bool","name":"string","type":"string"}]],"description_kind":"plain","computed":true},"license":{"type":["list",["object",{"os":["set",["object",{"name":["list","string"],"url":"string"}]],"usage":["set",["object",{"name":["list","string"],"url":"string"}]]}]],"description_kind":"plain","computed":true},"lvm_ready":{"type":"bool","description":"Whether this distribution supports Logical Volumes (Linux LVM)","description_kind":"plain","computed":true},"no_partitioning":{"type":"bool","description":"Template supports RAID0 and RAID1 on 2 disks","description_kind":"plain","computed":true},"project":{"type":["list",["object",{"os":["list",["object",{"governance":["list","string"],"name":"string","release_notes":"string","url":"string","version":"string"}]],"usage":["list",["object",{"governance":["list","string"],"name":"string","release_notes":"string","url":"string","version":"string"}]]}]],"description":"Distribution project details","description_kind":"plain","computed":true},"soft_raid_only_mirroring":{"type":"bool","description":"Partitioning customization is available but limited to mirroring for this OS template","description_kind":"plain","computed":true},"subfamily":{"type":"string","description":"Template subfamily type","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_installation_templates":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_nasha":{"version":0,"block":{"attributes":{"can_create_partition":{"type":"bool","description":"True, if partition creation is allowed on this HA-NAS","description_kind":"plain","computed":true},"custom_name":{"type":"string","description":"The name you give to the HA-NAS","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"area of HA-NAS","description_kind":"plain","computed":true},"disk_type":{"type":"string","description":"the disk type of the HA-NAS","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"Access IP of HA-NAS","description_kind":"plain","computed":true},"monitored":{"type":"bool","description":"Send an email to customer if any issue is detected","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The storage service name","description_kind":"plain","required":true},"urn":{"type":"string","description_kind":"plain","computed":true},"zpool_capacity":{"type":"number","description":"percentage of HA-NAS space used in %","description_kind":"plain","computed":true},"zpool_size":{"type":"number","description":"the size of the HA-NAS","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server":{"version":0,"block":{"attributes":{"boot_id":{"type":"number","description_kind":"plain","computed":true},"boot_script":{"type":"string","description_kind":"plain","computed":true},"commercial_range":{"type":"string","description":"dedicater server commercial range","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"dedicated datacenter localisation (bhs1,bhs2,...)","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","computed":true},"enabled_public_vnis":{"type":["list","string"],"description":"List of enabled public VNI uuids","description_kind":"plain","computed":true},"enabled_vrack_aggregation_vnis":{"type":["list","string"],"description":"List of enabled vrack_aggregation VNI uuids","description_kind":"plain","computed":true},"enabled_vrack_vnis":{"type":["list","string"],"description":"List of enabled vrack VNI uuids","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"dedicated server ip (IPv4)","description_kind":"plain","computed":true},"ips":{"type":["list","string"],"description":"dedicated server ip blocks","description_kind":"plain","computed":true},"link_speed":{"type":"number","description_kind":"plain","computed":true},"monitoring":{"type":"bool","description":"Icmp monitoring state","description_kind":"plain","computed":true},"name":{"type":"string","description":"dedicated server name","description_kind":"plain","computed":true},"os":{"type":"string","description":"Operating system","description_kind":"plain","computed":true},"professional_use":{"type":"bool","description":"Does this server have professional use option","description_kind":"plain","computed":true},"rack":{"type":"string","description_kind":"plain","computed":true},"rescue_mail":{"type":"string","description_kind":"plain","computed":true},"reverse":{"type":"string","description":"dedicated server reverse","description_kind":"plain","computed":true},"root_device":{"type":"string","description_kind":"plain","computed":true},"server_id":{"type":"number","description":"your server id","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"state":{"type":"string","description":"error, hacked, hackedBlocked, ok","description_kind":"plain","computed":true},"support_level":{"type":"string","description":"Dedicated server support level (critical, fastpath, gs, pro)","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vnis":{"type":["list",["object",{"enabled":"bool","mode":"string","name":"string","nics":["list","string"],"server_name":"string","uuid":"string","vrack":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server_boots":{"version":0,"block":{"attributes":{"boot_type":{"type":"string","description":"Filter the value of bootType property","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kernel":{"type":"string","description":"Filter the value of kernel property","description_kind":"plain","optional":true},"result":{"type":["list","number"],"description":"Server compatibles netboots ids","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server.","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_dedicated_server_specifications_hardware":{"version":0,"block":{"attributes":{"boot_mode":{"type":"string","description":"Server boot mode","description_kind":"markdown","computed":true},"cores_per_processor":{"type":"number","description":"number of cores per processor","description_kind":"markdown","computed":true},"default_hardware_raid_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Default hardware raid size for this server","description_kind":"markdown","computed":true},"default_hardware_raid_type":{"type":"string","description":"Default hardware raid type configured on this server","description_kind":"markdown","computed":true},"description":{"type":"string","description":"commercial name of this server","description_kind":"markdown","computed":true},"disk_groups":{"nested_type":{"attributes":{"default_hardware_raid_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"default hardware raid size for this disk group","description_kind":"markdown","computed":true},"default_hardware_raid_type":{"type":"string","description":"default hardware raid type for this disk group","description_kind":"markdown","computed":true},"description":{"type":"string","description":"human readable description of this disk group","description_kind":"markdown","computed":true},"disk_group_id":{"type":"number","description":"identifier of this disk group","description_kind":"markdown","computed":true},"disk_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"disk capacity","description_kind":"markdown","computed":true},"disk_type":{"type":"string","description":"type of the disk (SSD, SATA, SAS, ...)","description_kind":"markdown","computed":true},"number_of_disks":{"type":"number","description":"number of disks in this group","description_kind":"markdown","computed":true},"raid_controller":{"type":"string","description":"raid controller, if any, managing this group of disks","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"details about the groups of disks in the server","description_kind":"markdown","computed":true},"expansion_cards":{"nested_type":{"attributes":{"description":{"type":"string","description":"expansion card description","description_kind":"markdown","computed":true},"type":{"type":"string","description":"Expansion card type enum","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"details about the server's expansion cards","description_kind":"markdown","computed":true},"form_factor":{"type":"string","description":"Server form factor","description_kind":"markdown","computed":true},"memory_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"ram capacity","description_kind":"markdown","computed":true},"motherboard":{"type":"string","description":"server motherboard","description_kind":"markdown","computed":true},"number_of_processors":{"type":"number","description":"number of processors in this dedicated server","description_kind":"markdown","computed":true},"processor_architecture":{"type":"string","description":"processor architecture bit","description_kind":"markdown","computed":true},"processor_name":{"type":"string","description":"processor name","description_kind":"markdown","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server","description_kind":"markdown","required":true},"threads_per_processor":{"type":"number","description":"number of threads per processor","description_kind":"markdown","computed":true},"usb_keys":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"list"},"description":"Capacity of the USB keys installed on your server, if any","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_dedicated_server_specifications_network":{"version":0,"block":{"attributes":{"bandwidth":{"nested_type":{"attributes":{"internet_to_ovh":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"bandwidth limitation Internet to OVH","description_kind":"markdown","computed":true},"ovh_to_internet":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"bandwidth limitation OVH to Internet","description_kind":"markdown","computed":true},"ovh_to_ovh":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"bandwidth limitation OVH to OVH","description_kind":"markdown","computed":true},"type":{"type":"string","description":"bandwidth offer type","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Bandwidth details","description_kind":"markdown","computed":true},"connection_val":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Network connection flow rate","description_kind":"markdown","computed":true},"ola":{"nested_type":{"attributes":{"available":{"type":"bool","description":"Is the OLA feature available","description_kind":"markdown","computed":true},"available_modes":{"nested_type":{"attributes":{"default":{"type":"bool","description":"Is it the default configuration of the server","description_kind":"markdown","computed":true},"interfaces":{"nested_type":{"attributes":{"aggregation":{"type":"bool","description":"Interface aggregation status","description_kind":"markdown","computed":true},"count":{"type":"number","description":"Interface count","description_kind":"markdown","computed":true},"type":{"type":"string","description":"An enum describing OVH Link Aggregation interface types","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"Interface layout","description_kind":"markdown","computed":true},"name":{"type":"string","description":"Mode name","description_kind":"markdown","computed":true}},"nesting_mode":"list"},"description":"What modes are supported","description_kind":"markdown","computed":true},"supported_modes":{"type":["list","string"],"description":"(DEPRECATED) What modes are supported","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"OLA details","description_kind":"markdown","computed":true},"routing":{"nested_type":{"attributes":{"ipv4":{"nested_type":{"attributes":{"gateway":{"type":"string","description":"Server gateway","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"Server main IP","description_kind":"markdown","computed":true},"network":{"type":"string","description":"Server network","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Ipv4 routing details","description_kind":"markdown","computed":true},"ipv6":{"nested_type":{"attributes":{"gateway":{"type":"string","description":"Server gateway","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"Server main IP","description_kind":"markdown","computed":true},"network":{"type":"string","description":"Server network","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Ipv6 routing details","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Routing details","description_kind":"markdown","computed":true},"service_name":{"type":"string","description":"The internal name of your dedicated server","description_kind":"markdown","required":true},"switching":{"nested_type":{"attributes":{"name":{"type":"string","description":"Switch name","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Switching details","description_kind":"markdown","computed":true},"traffic":{"nested_type":{"attributes":{"input_quota_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Monthly input traffic quota allowed","description_kind":"markdown","computed":true},"input_quota_used":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Monthly input traffic consumed this month","description_kind":"markdown","computed":true},"is_throttled":{"type":"bool","description":"Is bandwidth throttleted for being over quota","description_kind":"markdown","computed":true},"output_quota_size":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Monthly output traffic quota allowed","description_kind":"markdown","computed":true},"output_quota_used":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"Monthly output traffic consumed this month","description_kind":"markdown","computed":true},"reset_quota_date":{"type":"string","description":"Next reset quota date for traffic counter","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"Traffic details","description_kind":"markdown","computed":true},"vmac":{"nested_type":{"attributes":{"supported":{"type":"bool","description":"Server is compatible vmac or not","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"A structure describing VMAC Infos for this dedicated server","description_kind":"markdown","computed":true},"vrack":{"nested_type":{"attributes":{"bandwidth":{"nested_type":{"attributes":{"unit":{"type":"string","description_kind":"plain","computed":true},"value":{"type":"number","description_kind":"plain","computed":true}},"nesting_mode":"single"},"description":"vrack bandwidth limitation","description_kind":"markdown","computed":true},"type":{"type":"string","description":"bandwidth offer type","description_kind":"markdown","computed":true}},"nesting_mode":"single"},"description":"vRack details","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_dedicated_servers":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_domain_zone":{"version":0,"block":{"attributes":{"dnssec_supported":{"type":"bool","description_kind":"plain","computed":true},"has_dns_anycast":{"type":"bool","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"name_servers":{"type":["set","string"],"description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_domain_zone_dnssec":{"version":0,"block":{"attributes":{"status":{"type":"string","description":"DNSSEC Status","description_kind":"markdown","computed":true},"zone_name":{"type":"string","description":"The internal name of your zone","description_kind":"markdown","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase":{"version":0,"block":{"attributes":{"cpu":{"type":"number","description":"Number of CPU on your private database","description_kind":"plain","computed":true},"datacenter":{"type":"string","description":"Datacenter where this private database is located","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"Name displayed in customer panel for your private database","description_kind":"plain","computed":true},"hostname":{"type":"string","description":"Private database hostname","description_kind":"plain","computed":true},"hostname_ftp":{"type":"string","description":"Private database FTP hostname","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"infrastructure":{"type":"string","description":"Infrastructure where service was stored","description_kind":"plain","computed":true},"offer":{"type":"string","description":"Type of the private database offer","description_kind":"plain","computed":true},"port":{"type":"number","description":"Private database service port","description_kind":"plain","computed":true},"port_ftp":{"type":"number","description":"Private database FTP port","description_kind":"plain","computed":true},"quota_size":{"type":"number","description":"Space allowed (in MB) on your private database","description_kind":"plain","computed":true},"quota_used":{"type":"number","description":"Space used (in MB) on your private database","description_kind":"plain","computed":true},"ram":{"type":"number","description":"Amount of ram (in MB) on your private database","description_kind":"plain","computed":true},"server":{"type":"string","description":"Private database server name","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"state":{"type":"string","description":"Private database state","description_kind":"plain","computed":true},"type":{"type":"string","description":"Private database type","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"version":{"type":"string","description":"Private database available versions","description_kind":"plain","computed":true},"version_label":{"type":"string","description":"Private database version label","description_kind":"plain","computed":true},"version_number":{"type":"number","description":"Private database version number","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_database":{"version":0,"block":{"attributes":{"backup_time":{"type":"string","description":"Time of the next backup (every day)","description_kind":"plain","computed":true},"creation_date":{"type":"string","description":"Creation date of the database","description_kind":"plain","computed":true},"database_name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"quota_used":{"type":"number","description":"Space used by the database (in MB)","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"users":{"type":["set",["object",{"grant_type":"string","user_name":"string"}]],"description":"Users granted to this database","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of the user","description_kind":"plain","computed":true},"databases":{"type":["set",["object",{"database_name":"string","grant_type":"string"}]],"description":"Databases granted for this user","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect to your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_user_grant":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of the user","description_kind":"plain","computed":true},"database_name":{"type":"string","description":"Database name","description_kind":"plain","required":true},"grant":{"type":"string","description":"Grant name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"user_name":{"type":"string","description":"User name used to connect to your databases","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_hosting_privatedatabase_whitelist":{"version":0,"block":{"attributes":{"creation_date":{"type":"string","description":"Creation date of this whitelist","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description":"The whitelisted IP in your instance","description_kind":"plain","optional":true},"last_update":{"type":"string","description":"The last update date of this whitelist","description_kind":"plain","computed":true},"name":{"type":"string","description":"Custom name for your Whitelisted IP","description_kind":"plain","computed":true},"service":{"type":"bool","description":"Authorize this IP to access service port","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your private database","description_kind":"plain","required":true},"sftp":{"type":"bool","description":"Authorize this IP to access SFTP port","description_kind":"plain","computed":true},"status":{"type":"string","description":"Whitelist status","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_permissions_group":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_permissions_groups":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urns":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policies":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"policies":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_policy":{"version":0,"block":{"attributes":{"allow":{"type":["set","string"],"description_kind":"plain","optional":true},"created_at":{"type":"string","description_kind":"plain","computed":true},"deny":{"type":["set","string"],"description_kind":"plain","optional":true},"description":{"type":"string","description_kind":"plain","optional":true},"except":{"type":["set","string"],"description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","required":true},"identities":{"type":["set","string"],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"permissions_groups":{"type":["set","string"],"description_kind":"plain","optional":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_reference_actions":{"version":0,"block":{"attributes":{"actions":{"type":["set",["object",{"action":"string","categories":["set","string"],"description":"string","resource_type":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"type":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iam_reference_resource_type":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"types":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_group":{"version":0,"block":{"attributes":{"created_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","required":true},"name":{"type":"string","description_kind":"plain","computed":true},"owner":{"type":"string","description_kind":"plain","computed":true},"read_only":{"type":"bool","description_kind":"plain","computed":true},"resources":{"type":["set","string"],"description_kind":"plain","computed":true},"updated_at":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iam_resource_groups":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_groups":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_ip_firewall":{"version":0,"block":{"attributes":{"enabled":{"type":"bool","description_kind":"plain","computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_firewall":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"state":{"type":"string","description":"Current state of your ip on firewall","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_ip_firewall_rule":{"version":0,"block":{"attributes":{"action":{"type":"string","description":"Possible values for action","description_kind":"markdown","computed":true},"creation_date":{"type":"string","description_kind":"plain","computed":true},"destination":{"type":"string","description":"Destination ip for your rule","description_kind":"markdown","computed":true},"destination_port":{"type":"string","description":"Destination port for your rule. Only with TCP/UDP protocol","description_kind":"markdown","computed":true},"fragments":{"type":"bool","description":"Fragments option","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_firewall":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"protocol":{"type":"string","description":"Possible values for protocol","description_kind":"markdown","computed":true},"rule":{"type":"string","description_kind":"plain","computed":true},"sequence":{"type":"number","description":"Possible values for action","description_kind":"markdown","required":true},"source":{"type":"string","description":"IPv4 CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","computed":true},"source_port":{"type":"string","description":"Source port for your rule. Only with TCP/UDP protocol","description_kind":"markdown","computed":true},"state":{"type":"string","description":"Current state of your rule","description_kind":"markdown","computed":true},"tcp_option":{"type":"string","description":"TCP option on your rule","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_ip_mitigation":{"version":0,"block":{"attributes":{"auto":{"type":"bool","description":"Set on true if your ip is on auto-mitigation","description_kind":"markdown","computed":true},"ip":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","description_kind":"markdown","required":true},"ip_on_mitigation":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","description_kind":"markdown","required":true},"permanent":{"type":"bool","description":"Set on true if your ip is on permanent mitigation","description_kind":"markdown","computed":true},"state":{"type":"string","description":"Current state of your ip on mitigation","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"ovh_ip_service":{"version":0,"block":{"attributes":{"can_be_terminated":{"type":"bool","description_kind":"plain","computed":true},"country":{"type":"string","description_kind":"plain","computed":true},"description":{"type":"string","description":"Custom description on your ip","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip":{"type":"string","description_kind":"plain","computed":true},"organisation_id":{"type":"string","description":"IP block organisation Id","description_kind":"plain","computed":true},"routed_to":{"type":["list",["object",{"service_name":"string"}]],"description":"Routage information","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The service name","description_kind":"plain","required":true},"type":{"type":"string","description":"Possible values for ip type","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_iploadbalancing":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_loadbalancing":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv4":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ipv6":{"type":"string","description_kind":"plain","optional":true,"computed":true},"metrics_token":{"type":"string","description_kind":"plain","computed":true,"sensitive":true},"offer":{"type":"string","description_kind":"plain","optional":true,"computed":true},"orderable_zone":{"type":["set",["object",{"name":"string","plan_code":"string"}]],"description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ssl_configuration":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","optional":true,"computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vrack_eligibility":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"vrack_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"zone":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_network":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"Human readable name for your vrack network","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"nat_ip":{"type":"string","description":"An IP block used as a pool of IPs by this Load Balancer to connect to the servers in this private network. The blck must be in the private network and reserved for the Load Balancer","description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your IPloadbalancer","description_kind":"plain","required":true},"subnet":{"type":"string","description":"IP block of the private network in the vRack","description_kind":"plain","computed":true},"vlan":{"type":"number","description":"VLAN of the private network in the vRack. 0 if the private network is not in a VLAN","description_kind":"plain","computed":true},"vrack_network_id":{"type":"number","description":"Internal Load Balancer identifier of the vRack private network","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_iploadbalancing_vrack_networks":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","number"],"description_kind":"plain","computed":true},"service_name":{"type":"string","description":"The internal name of your iploadbalancer.","description_kind":"plain","required":true},"subnet":{"type":"string","description":"Filters on subnet","description_kind":"plain","optional":true},"vlan_id":{"type":"number","description":"Filters on vlan id","description_kind":"plain","optional":true}},"description_kind":"plain"}},"ovh_me":{"version":0,"block":{"attributes":{"address":{"type":"string","description":"Address of nichandle","description_kind":"plain","computed":true},"area":{"type":"string","description":"Area of nichandle","description_kind":"plain","computed":true},"birth_city":{"type":"string","description":"City of birth","description_kind":"plain","computed":true},"birth_day":{"type":"string","description":"Birth date","description_kind":"plain","computed":true},"city":{"type":"string","description":"City of nichandle","description_kind":"plain","computed":true},"company_national_identification_number":{"type":"string","description":"Company National Identification Number","description_kind":"plain","computed":true},"corporation_type":{"type":"string","description":"Corporation type","description_kind":"plain","computed":true},"country":{"type":"string","description":"Customer country","description_kind":"plain","computed":true},"currency":{"type":["list",["object",{"code":"string","symbol":"string"}]],"description":"Customer currency","description_kind":"plain","computed":true},"customer_code":{"type":"string","description":"Your customer code (a numerical value used for identification when contacting support via phone call)","description_kind":"plain","computed":true},"email":{"type":"string","description":"Email address","description_kind":"plain","computed":true},"fax":{"type":"string","description":"Fax number","description_kind":"plain","computed":true},"firstname":{"type":"string","description":"First name","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"italian_sdi":{"type":"string","description":"Italian SDI","description_kind":"plain","computed":true},"language":{"type":"string","description":"Language","description_kind":"plain","computed":true},"legalform":{"type":"string","description":"Customer legal form","description_kind":"plain","computed":true},"name":{"type":"string","description":"Customer name","description_kind":"plain","computed":true},"national_identification_number":{"type":"string","description":"National Identification Number","description_kind":"plain","computed":true},"nichandle":{"type":"string","description":"Customer identifier","description_kind":"plain","computed":true},"organisation":{"type":"string","description":"Name of organisation","description_kind":"plain","computed":true},"ovh_company":{"type":"string","description":"OVH subsidiary","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"OVH subsidiary","description_kind":"plain","computed":true},"phone":{"type":"string","description":"Phone number","description_kind":"plain","computed":true},"phone_country":{"type":"string","description":"Phone number's country code","description_kind":"plain","computed":true},"sex":{"type":"string","description":"Gender","description_kind":"plain","computed":true},"spare_email":{"type":"string","description":"Spare email","description_kind":"plain","computed":true},"state":{"type":"string","description":"Nichandle state","description_kind":"plain","computed":true},"urn":{"type":"string","description":"Identity URN of the account","description_kind":"plain","computed":true},"vat":{"type":"string","description":"VAT number","description_kind":"plain","computed":true},"zip":{"type":"string","description":"Zipcode","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_client":{"version":0,"block":{"attributes":{"callback_urls":{"type":["list","string"],"description":"Callback URLs of the applications using this oauth2 client. Required if using the AUTHORIZATION_CODE flow.","description_kind":"plain","computed":true},"client_id":{"type":"string","description":"Client ID for the oauth2 client, generated during the resource creation.","description_kind":"plain","required":true},"description":{"type":"string","description":"A description of your oauth2 client.","description_kind":"plain","computed":true},"flow":{"type":"string","description":"OAuth2 flow type implemented for this oauth2 client. Can be either AUTHORIZATION_CODE or CLIENT_CREDENTIALS","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity":{"type":"string","description":"URN that will allow you to associate this oauth2 client with an access policy.","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_api_oauth2_clients":{"version":0,"block":{"attributes":{"client_ids":{"type":["set","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_me_identity_group":{"version":0,"block":{"attributes":{"creation":{"type":"string","description_kind":"plain","computed":true},"default_group":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","required":true},"role":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_identity_groups":{"version":0,"block":{"attributes":{"groups":{"type":["set","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"ovh_me_identity_user":{"version":0,"block":{"attributes":{"creation":{"type":"string","description":"Creation date of this user","description_kind":"plain","computed":true},"description":{"type":"string","description":"User description","description_kind":"plain","computed":true},"email":{"type":"string","description":"User's email","description_kind":"plain","computed":true},"group":{"type":"string","description":"User's group","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"last_update":{"type":"string","description":"Last update of this user","description_kind":"plain","computed":true},"login":{"type":"string","description":"User's login suffix","description_kind":"plain","computed":true},"password_last_update":{"type":"string","description":"When the user changed his password for the last time","description_kind":"plain","computed":true},"status":{"type":"string","description":"Current user's status","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"user":{"type":"string","description":"User's login","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_identity_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"users":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_installation_template":{"version":0,"block":{"attributes":{"bit_format":{"type":"number","description":"Template bit format (32 or 64)","description_kind":"plain","computed":true},"category":{"type":"string","description":"Category of this template (informative only)","description_kind":"plain","computed":true},"customization":{"type":["list",["object",{"custom_hostname":"string","post_installation_script_link":"string","post_installation_script_return":"string"}]],"description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of the template","description_kind":"plain","computed":true},"distribution":{"type":"string","description":"Distribution this template is based on","description_kind":"plain","computed":true},"end_of_install":{"type":"string","description":"After this date, install of this template will not be possible at OVH","description_kind":"plain","computed":true},"family":{"type":"string","description":"Template family type (bsd,linux,solaris,windows)","description_kind":"plain","computed":true},"filesystems":{"type":["list","string"],"description":"Filesystems available","description_kind":"plain","computed":true},"hard_raid_configuration":{"type":"bool","description":"Distribution supports hardware raid configuration through the OVH API","description_kind":"plain","deprecated":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"inputs":{"type":["list",["object",{"default":"string","description":"string","enum":["list","string"],"mandatory":"bool","name":"string","type":"string"}]],"description_kind":"plain","computed":true},"lvm_ready":{"type":"bool","description":"Whether this Distribution supports Logical Volumes (Linux LVM)","description_kind":"plain","computed":true},"no_partitioning":{"type":"bool","description":"Template supports RAID0 and RAID1 on 2 disks","description_kind":"plain","computed":true},"partition_scheme":{"type":["list",["object",{"hardware_raid":["list",["object",{"disks":["list","string"],"mode":"string","name":"string","step":"number"}]],"name":"string","partition":["list",["object",{"filesystem":"string","mountpoint":"string","order":"number","raid":"string","size":"number","type":"string","volume_name":"string"}]],"priority":"number"}]],"description_kind":"plain","computed":true},"soft_raid_only_mirroring":{"type":"bool","description":"Partitioning customization is available but limited to mirroring for this OS template","description_kind":"plain","computed":true},"subfamily":{"type":"string","description":"Template subfamily type","description_kind":"plain","computed":true},"template_name":{"type":"string","description":"Template name","description_kind":"plain","required":true}},"description_kind":"plain"}},"ovh_me_installation_templates":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_me_paymentmean_bankaccount":{"version":0,"block":{"attributes":{"default":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"description_regexp":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","optional":true,"computed":true},"use_default":{"type":"bool","description_kind":"plain","optional":true},"use_oldest":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}},"ovh_me_paymentmean_creditcard":{"version":0,"block":{"attributes":{"default":{"type":"bool","description_kind":"plain","computed":true},"description":{"type":"string","description_kind":"plain","computed":true},"description_regexp":{"type":"string","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"states":{"type":["set","string"],"description_kind":"plain","optional":true},"use_default":{"type":"bool","description_kind":"plain","optional":true},"use_last_to_expire":{"type":"bool","description_kind":"plain","optional":true}},"description_kind":"plain","deprecated":true}},"ovh_order_cart":{"version":0,"block":{"attributes":{"assign":{"type":"bool","description":"Assign a shopping cart to a logged in client","description_kind":"plain","optional":true},"cart_id":{"type":"string","description":"Cart identifier","description_kind":"plain","computed":true},"description":{"type":"string","description":"Description of your cart","description_kind":"plain","optional":true},"expire":{"type":"string","description":"Expiration time (format: 2006-01-02T15:04:05Z07:00)","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"items":{"type":["list","number"],"description":"Items of your cart","description_kind":"plain","computed":true},"ovh_subsidiary":{"type":"string","description":"Ovh Subsidiary","description_kind":"plain","required":true},"read_only":{"type":"bool","description":"Indicates if the cart has already been validated","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"result":{"type":["list",["object",{"plan_code":"string","prices":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"product_name":"string","product_type":"string"}]],"description":"List of representations of a generic product","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_options":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"plan_code":{"type":"string","description":"Product offer identifier","description_kind":"plain","required":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"result":{"type":["list",["object",{"exclusive":"bool","family":"string","mandatory":"bool","plan_code":"string","prices":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"product_name":"string","product_type":"string"}]],"description":"List of representations of a generic product","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_options_plan":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"exclusive":{"type":"bool","description":"Define if options of this family are exclusive with each other","description_kind":"plain","computed":true},"family":{"type":"string","description":"Option family","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mandatory":{"type":"bool","description":"Define if an option of this family is mandatory","description_kind":"plain","computed":true},"options_plan_code":{"type":"string","description_kind":"plain","required":true},"plan_code":{"type":"string","description_kind":"plain","required":true},"price_capacity":{"type":"string","description":"Capacity of the pricing (type of pricing)","description_kind":"plain","required":true},"prices":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Prices of the product offer","description_kind":"plain","computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"product_name":{"type":"string","description":"Name of the product","description_kind":"plain","computed":true},"product_type":{"type":"string","description":"Product type","description_kind":"plain","computed":true},"selected_price":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Selected Price according to capacity","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_order_cart_product_plan":{"version":0,"block":{"attributes":{"cart_id":{"type":"string","description_kind":"plain","required":true},"catalog_name":{"type":"string","description":"Catalog name","description_kind":"plain","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"plan_code":{"type":"string","description_kind":"plain","required":true},"price_capacity":{"type":"string","description":"Capacity of the pricing (type of pricing)","description_kind":"plain","required":true},"prices":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Prices of the product offer","description_kind":"plain","computed":true},"product":{"type":"string","description":"Product","description_kind":"plain","required":true},"product_name":{"type":"string","description":"Name of the product","description_kind":"plain","computed":true},"product_type":{"type":"string","description":"Product type","description_kind":"plain","computed":true},"selected_price":{"type":["list",["object",{"capacities":["list","string"],"description":"string","duration":"string","interval":"number","maximum_quantity":"number","maximum_repeat":"number","minimum_quantity":"number","minimum_repeat":"number","price":["list",["object",{"currency_code":"string","text":"string","value":"number"}]],"price_in_ucents":"number","pricing_mode":"string","pricing_type":"string"}]],"description":"Selected Price according to capacity","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vps":{"version":0,"block":{"attributes":{"cluster":{"type":"string","description_kind":"plain","computed":true},"datacenter":{"type":["map","string"],"description_kind":"plain","computed":true},"displayname":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ips":{"type":["set","string"],"description_kind":"plain","computed":true},"keymap":{"type":"string","description_kind":"plain","computed":true},"memory":{"type":"number","description_kind":"plain","computed":true},"model":{"type":["map","string"],"description_kind":"plain","computed":true},"name":{"type":"string","description_kind":"plain","computed":true},"netbootmode":{"type":"string","description_kind":"plain","computed":true},"offertype":{"type":"string","description_kind":"plain","computed":true},"service_name":{"type":"string","description_kind":"plain","required":true},"slamonitoring":{"type":"bool","description_kind":"plain","computed":true},"state":{"type":"string","description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","computed":true},"urn":{"type":"string","description_kind":"plain","computed":true},"vcore":{"type":"number","description_kind":"plain","computed":true},"zone":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vpss":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"ovh_vracks":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"result":{"type":["list","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}}}}}} diff --git a/config/vps/config.go b/config/vps/config.go new file mode 100644 index 0000000..039c27d --- /dev/null +++ b/config/vps/config.go @@ -0,0 +1,8 @@ +package vps + +import "github.com/crossplane/upjet/pkg/config" + +// Configure configures individual resources by adding custom ResourceConfigurators. +func Configure(p *config.Provider) { + p.SkipList = append(p.SkipList, "ovh_vps") +} diff --git a/examples-generated/dns/v1alpha1/zone.yaml b/examples-generated/dns/v1alpha1/zone.yaml deleted file mode 100644 index 3c44e17..0000000 --- a/examples-generated/dns/v1alpha1/zone.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: dns.ovh.edixos.io/v1alpha1 -kind: Zone -metadata: - annotations: - meta.upbound.io/example-id: dns/v1alpha1/zone - labels: - testing.upbound.io/example-name: zone - name: zone -spec: - forProvider: - ovhSubsidiary: ${data.ovh_order_cart.mycart.ovh_subsidiary} - plan: - - configuration: - - label: zone - value: myzone.mydomain.com - - label: template - value: minimized - duration: ${data.ovh_order_cart_product_plan.zone.selected_price.0.duration} - planCode: ${data.ovh_order_cart_product_plan.zone.plan_code} - pricingMode: ${data.ovh_order_cart_product_plan.zone.selected_price.0.pricing_mode} diff --git a/examples-generated/dns/v1alpha1/zonerecord.yaml b/examples-generated/dns/v1alpha1/zonerecord.yaml deleted file mode 100644 index e71c474..0000000 --- a/examples-generated/dns/v1alpha1/zonerecord.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: dns.ovh.edixos.io/v1alpha1 -kind: ZoneRecord -metadata: - annotations: - meta.upbound.io/example-id: dns/v1alpha1/zonerecord - labels: - testing.upbound.io/example-name: test - name: test -spec: - forProvider: - fieldtype: A - subdomain: test - target: 0.0.0.0 - ttl: 3600 - zone: testdemo.ovh diff --git a/examples-generated/dns/v1alpha1/zoneredirection.yaml b/examples-generated/dns/v1alpha1/zoneredirection.yaml deleted file mode 100644 index 463ec9e..0000000 --- a/examples-generated/dns/v1alpha1/zoneredirection.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: dns.ovh.edixos.io/v1alpha1 -kind: ZoneRedirection -metadata: - annotations: - meta.upbound.io/example-id: dns/v1alpha1/zoneredirection - labels: - testing.upbound.io/example-name: test - name: test -spec: - forProvider: - subdomain: test - target: http://www.ovh - type: visiblePermanent - zone: testdemo.ovh diff --git a/fix.sh b/fix.sh new file mode 100644 index 0000000..23b83ac --- /dev/null +++ b/fix.sh @@ -0,0 +1,16 @@ +find .work/ovh/ovh/website/docs/{d,r} -name '*.markdown' | while read f; do + +name=$(basename $f | sed -e 's#.markdown##g' -e 's#.html.markdown##g') +cat > temp < + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In 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 ManagementPolicies + field in a future release. Currently, both could be set independently and + non-default values would be honored if the feature flag is enabled. + See 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: + action: + description: Possible values for action + type: string + destinationPort: + description: Destination port for your rule. Only with TCP/UDP + protocol + type: number + fragments: + description: Fragments option + type: boolean + ip: + description: IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + type: string + ipOnFirewall: + description: IPv4 address (e.g., 192.0.2.0) + type: string + protocol: + description: Possible values for protocol + type: string + sequence: + description: Possible values for action + type: number + source: + description: IPv4 CIDR notation (e.g., 192.0.2.0/24) + type: string + sourcePort: + description: Source port for your rule. Only with TCP/UDP protocol + type: number + tcpOption: + description: TCP option on your rule + type: string + type: object + initProvider: + description: |- + THIS IS A BETA FIELD. It will be honored + unless the Management Policies feature flag is disabled. + InitProvider holds the same fields as ForProvider, with the exception + of Identifier and other resource reference fields. The fields that are + in InitProvider are merged into ForProvider when the resource is created. + The same fields are also added to the terraform ignore_changes hook, to + avoid updating them after creation. This is useful for fields that are + required on creation, but we do not desire to update them after creation, + for example because of an external controller is managing them, like an + autoscaler. + properties: + action: + description: Possible values for action + type: string + destinationPort: + description: Destination port for your rule. Only with TCP/UDP + protocol + type: number + fragments: + description: Fragments option + type: boolean + ip: + description: IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + type: string + ipOnFirewall: + description: IPv4 address (e.g., 192.0.2.0) + type: string + protocol: + description: Possible values for protocol + type: string + sequence: + description: Possible values for action + type: number + source: + description: IPv4 CIDR notation (e.g., 192.0.2.0/24) + type: string + sourcePort: + description: Source port for your rule. Only with TCP/UDP protocol + type: number + tcpOption: + description: TCP option on your rule + type: string + type: object + managementPolicies: + default: + - '*' + description: |- + THIS IS A BETA FIELD. It is on by default but can be opted out + through a Crossplane feature flag. + ManagementPolicies specify the array of actions Crossplane is allowed to + take on the managed and external resources. + This field is planned to replace the DeletionPolicy field in a future + release. Currently, both could be set independently and non-default + values would be honored if the feature flag is enabled. If both are + custom, the DeletionPolicy field will be ignored. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md + items: + description: |- + A ManagementAction represents an action that the Crossplane controllers + can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + 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 + 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: spec.forProvider.action is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.action) + || (has(self.initProvider) && has(self.initProvider.action))' + - message: spec.forProvider.ip is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.ip) + || (has(self.initProvider) && has(self.initProvider.ip))' + - message: spec.forProvider.ipOnFirewall is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.ipOnFirewall) + || (has(self.initProvider) && has(self.initProvider.ipOnFirewall))' + - message: spec.forProvider.protocol is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.protocol) + || (has(self.initProvider) && has(self.initProvider.protocol))' + - message: spec.forProvider.sequence is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.sequence) + || (has(self.initProvider) && has(self.initProvider.sequence))' + status: + description: FirewallRuleStatus defines the observed state of FirewallRule. + properties: + atProvider: + properties: + action: + description: Possible values for action + type: string + creationDate: + type: string + destination: + description: Destination ip for your rule + type: string + destinationPort: + description: Destination port for your rule. Only with TCP/UDP + protocol + type: number + destinationPortDesc: + description: Destination port range for your rule. Only with TCP/UDP + protocol + type: string + fragments: + description: Fragments option + type: boolean + id: + type: string + ip: + description: IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + type: string + ipOnFirewall: + description: IPv4 address (e.g., 192.0.2.0) + type: string + protocol: + description: Possible values for protocol + type: string + rule: + type: string + sequence: + description: Possible values for action + type: number + source: + description: IPv4 CIDR notation (e.g., 192.0.2.0/24) + type: string + sourcePort: + description: Source port for your rule. Only with TCP/UDP protocol + type: number + sourcePortDesc: + description: Source port for your rule. Only with TCP/UDP protocol + type: string + state: + description: Current state of your rule + type: string + tcpOption: + description: TCP option on your 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 + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: |- + Type of this condition. At most one of each condition type may apply to + a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/additionalip.ovh.edixos.io_firewalls.yaml b/package/crds/additionalip.ovh.edixos.io_firewalls.yaml new file mode 100644 index 0000000..f8498f8 --- /dev/null +++ b/package/crds/additionalip.ovh.edixos.io_firewalls.yaml @@ -0,0 +1,361 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: firewalls.additionalip.ovh.edixos.io +spec: + group: additionalip.ovh.edixos.io + names: + categories: + - crossplane + - managed + - lb + kind: Firewall + listKind: FirewallList + plural: firewalls + singular: firewall + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + 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. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In 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 ManagementPolicies + field in a future release. Currently, both could be set independently and + non-default values would be honored if the feature flag is enabled. + See 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: + type: boolean + ip: + description: IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + type: string + ipOnFirewall: + description: IPv4 address (e.g., 192.0.2.0) + type: string + type: object + initProvider: + description: |- + THIS IS A BETA FIELD. It will be honored + unless the Management Policies feature flag is disabled. + InitProvider holds the same fields as ForProvider, with the exception + of Identifier and other resource reference fields. The fields that are + in InitProvider are merged into ForProvider when the resource is created. + The same fields are also added to the terraform ignore_changes hook, to + avoid updating them after creation. This is useful for fields that are + required on creation, but we do not desire to update them after creation, + for example because of an external controller is managing them, like an + autoscaler. + properties: + enabled: + type: boolean + ip: + description: IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + type: string + ipOnFirewall: + description: IPv4 address (e.g., 192.0.2.0) + type: string + type: object + managementPolicies: + default: + - '*' + description: |- + THIS IS A BETA FIELD. It is on by default but can be opted out + through a Crossplane feature flag. + ManagementPolicies specify the array of actions Crossplane is allowed to + take on the managed and external resources. + This field is planned to replace the DeletionPolicy field in a future + release. Currently, both could be set independently and non-default + values would be honored if the feature flag is enabled. If both are + custom, the DeletionPolicy field will be ignored. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md + items: + description: |- + A ManagementAction represents an action that the Crossplane controllers + can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + 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 + 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: spec.forProvider.ip is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.ip) + || (has(self.initProvider) && has(self.initProvider.ip))' + - message: spec.forProvider.ipOnFirewall is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.ipOnFirewall) + || (has(self.initProvider) && has(self.initProvider.ipOnFirewall))' + status: + description: FirewallStatus defines the observed state of Firewall. + properties: + atProvider: + properties: + enabled: + type: boolean + id: + type: string + ip: + description: IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + type: string + ipOnFirewall: + description: IPv4 address (e.g., 192.0.2.0) + type: string + state: + description: Current state of your ip on firewall + 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 + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: |- + Type of this condition. At most one of each condition type may apply to + a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/additionalip.ovh.edixos.io_mitigations.yaml b/package/crds/additionalip.ovh.edixos.io_mitigations.yaml new file mode 100644 index 0000000..3f39657 --- /dev/null +++ b/package/crds/additionalip.ovh.edixos.io_mitigations.yaml @@ -0,0 +1,367 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: mitigations.additionalip.ovh.edixos.io +spec: + group: additionalip.ovh.edixos.io + names: + categories: + - crossplane + - managed + - lb + kind: Mitigation + listKind: MitigationList + plural: mitigations + singular: mitigation + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + 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: Mitigation is the Schema for the Mitigations 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: MitigationSpec defines the desired state of Mitigation + 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 ManagementPolicies + field in a future release. Currently, both could be set independently and + non-default values would be honored if the feature flag is enabled. + See 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: + ip: + description: IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + type: string + ipOnMitigation: + description: IPv4 address (e.g., 192.0.2.0) + type: string + permanent: + description: Set on true if your ip is on permanent mitigation + type: boolean + type: object + initProvider: + description: |- + THIS IS A BETA FIELD. It will be honored + unless the Management Policies feature flag is disabled. + InitProvider holds the same fields as ForProvider, with the exception + of Identifier and other resource reference fields. The fields that are + in InitProvider are merged into ForProvider when the resource is created. + The same fields are also added to the terraform ignore_changes hook, to + avoid updating them after creation. This is useful for fields that are + required on creation, but we do not desire to update them after creation, + for example because of an external controller is managing them, like an + autoscaler. + properties: + ip: + description: IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + type: string + ipOnMitigation: + description: IPv4 address (e.g., 192.0.2.0) + type: string + permanent: + description: Set on true if your ip is on permanent mitigation + type: boolean + type: object + managementPolicies: + default: + - '*' + description: |- + THIS IS A BETA FIELD. It is on by default but can be opted out + through a Crossplane feature flag. + ManagementPolicies specify the array of actions Crossplane is allowed to + take on the managed and external resources. + This field is planned to replace the DeletionPolicy field in a future + release. Currently, both could be set independently and non-default + values would be honored if the feature flag is enabled. If both are + custom, the DeletionPolicy field will be ignored. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md + items: + description: |- + A ManagementAction represents an action that the Crossplane controllers + can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + 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 + 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: spec.forProvider.ip is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.ip) + || (has(self.initProvider) && has(self.initProvider.ip))' + - message: spec.forProvider.ipOnMitigation is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.ipOnMitigation) + || (has(self.initProvider) && has(self.initProvider.ipOnMitigation))' + status: + description: MitigationStatus defines the observed state of Mitigation. + properties: + atProvider: + properties: + auto: + description: Set on true if your ip is on auto-mitigation + type: boolean + id: + type: string + ip: + description: IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24) + type: string + ipOnMitigation: + description: IPv4 address (e.g., 192.0.2.0) + type: string + permanent: + description: Set on true if your ip is on permanent mitigation + type: boolean + state: + description: Current state of your ip on mitigation + 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 + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: |- + Type of this condition. At most one of each condition type may apply to + a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/additionalip.ovh.edixos.io_moves.yaml b/package/crds/additionalip.ovh.edixos.io_moves.yaml index 8efc72f..ac56f62 100644 --- a/package/crds/additionalip.ovh.edixos.io_moves.yaml +++ b/package/crds/additionalip.ovh.edixos.io_moves.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Move listKind: MoveList plural: moves @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -349,6 +349,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -372,6 +379,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/additionalip.ovh.edixos.io_projectfailoveripattaches.yaml b/package/crds/additionalip.ovh.edixos.io_projectfailoveripattaches.yaml index b9d61ae..be2e6e5 100644 --- a/package/crds/additionalip.ovh.edixos.io_projectfailoveripattaches.yaml +++ b/package/crds/additionalip.ovh.edixos.io_projectfailoveripattaches.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectFailoverIPAttach listKind: ProjectFailoverIPAttachList plural: projectfailoveripattaches @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -349,6 +349,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -372,6 +379,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/additionalip.ovh.edixos.io_reverses.yaml b/package/crds/additionalip.ovh.edixos.io_reverses.yaml index 55758cc..3bbf20c 100644 --- a/package/crds/additionalip.ovh.edixos.io_reverses.yaml +++ b/package/crds/additionalip.ovh.edixos.io_reverses.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Reverse listKind: ReverseList plural: reverses @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -309,6 +309,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -332,6 +339,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/additionalip.ovh.edixos.io_services.yaml b/package/crds/additionalip.ovh.edixos.io_services.yaml index 13dc309..9c89702 100644 --- a/package/crds/additionalip.ovh.edixos.io_services.yaml +++ b/package/crds/additionalip.ovh.edixos.io_services.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Service listKind: ServiceList plural: services @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -75,6 +75,11 @@ spec: description: description: Custom description on your ip type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -160,6 +165,11 @@ spec: description: description: Custom description on your ip type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -426,8 +436,10 @@ spec: items: properties: date: + description: date type: string details: + description: Information about a Bill entry items: properties: description: @@ -441,8 +453,10 @@ spec: type: object type: array expirationDate: + description: expiration date type: string orderId: + description: order id type: number type: object type: array @@ -546,6 +560,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -569,6 +590,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/cloud.ovh.edixos.io_projectregionloadbalancerlogsubscriptions.yaml b/package/crds/cloud.ovh.edixos.io_projectregionloadbalancerlogsubscriptions.yaml new file mode 100644 index 0000000..cd1c213 --- /dev/null +++ b/package/crds/cloud.ovh.edixos.io_projectregionloadbalancerlogsubscriptions.yaml @@ -0,0 +1,423 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: projectregionloadbalancerlogsubscriptions.cloud.ovh.edixos.io +spec: + group: cloud.ovh.edixos.io + names: + categories: + - crossplane + - managed + - lb + kind: ProjectRegionLoadbalancerLogSubscription + listKind: ProjectRegionLoadbalancerLogSubscriptionList + plural: projectregionloadbalancerlogsubscriptions + singular: projectregionloadbalancerlogsubscription + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + 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: ProjectRegionLoadbalancerLogSubscription is the Schema for the + ProjectRegionLoadbalancerLogSubscriptions 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: ProjectRegionLoadbalancerLogSubscriptionSpec defines the + desired state of ProjectRegionLoadbalancerLogSubscription + 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 ManagementPolicies + field in a future release. Currently, both could be set independently and + non-default values would be honored if the feature flag is enabled. + See 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: + kind: + description: Log kind name of this subscription + type: string + loadbalancerId: + description: ID representing the loadbalancer of the resource + type: string + regionName: + description: Region name of the resource representing the name + of the region. + type: string + serviceName: + description: Service name of the resource representing the id + of the cloud project. + type: string + streamId: + description: ID representing the stream of the resource + type: string + type: object + initProvider: + description: |- + THIS IS A BETA FIELD. It will be honored + unless the Management Policies feature flag is disabled. + InitProvider holds the same fields as ForProvider, with the exception + of Identifier and other resource reference fields. The fields that are + in InitProvider are merged into ForProvider when the resource is created. + The same fields are also added to the terraform ignore_changes hook, to + avoid updating them after creation. This is useful for fields that are + required on creation, but we do not desire to update them after creation, + for example because of an external controller is managing them, like an + autoscaler. + properties: + kind: + description: Log kind name of this subscription + type: string + loadbalancerId: + description: ID representing the loadbalancer of the resource + type: string + regionName: + description: Region name of the resource representing the name + of the region. + type: string + serviceName: + description: Service name of the resource representing the id + of the cloud project. + type: string + streamId: + description: ID representing the stream of the resource + type: string + type: object + managementPolicies: + default: + - '*' + description: |- + THIS IS A BETA FIELD. It is on by default but can be opted out + through a Crossplane feature flag. + ManagementPolicies specify the array of actions Crossplane is allowed to + take on the managed and external resources. + This field is planned to replace the DeletionPolicy field in a future + release. Currently, both could be set independently and non-default + values would be honored if the feature flag is enabled. If both are + custom, the DeletionPolicy field will be ignored. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md + items: + description: |- + A ManagementAction represents an action that the Crossplane controllers + can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + 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 + 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: spec.forProvider.kind is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.kind) + || (has(self.initProvider) && has(self.initProvider.kind))' + - message: spec.forProvider.loadbalancerId is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.loadbalancerId) + || (has(self.initProvider) && has(self.initProvider.loadbalancerId))' + - message: spec.forProvider.regionName is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.regionName) + || (has(self.initProvider) && has(self.initProvider.regionName))' + - message: spec.forProvider.serviceName is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.serviceName) + || (has(self.initProvider) && has(self.initProvider.serviceName))' + - message: spec.forProvider.streamId is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.streamId) + || (has(self.initProvider) && has(self.initProvider.streamId))' + status: + description: ProjectRegionLoadbalancerLogSubscriptionStatus defines the + observed state of ProjectRegionLoadbalancerLogSubscription. + properties: + atProvider: + properties: + createdAt: + description: Creation date of the subscription + type: string + id: + type: string + kind: + description: Log kind name of this subscription + type: string + ldpServiceName: + description: Name of the destination log service + type: string + loadbalancerId: + description: ID representing the loadbalancer of the resource + type: string + operationId: + description: Identifier of the operation + type: string + regionName: + description: Region name of the resource representing the name + of the region. + type: string + resourceName: + description: Name of subscribed resource, where the logs come + from + type: string + resourceType: + description: Type of subscribed resource, where the logs come + from + type: string + serviceName: + description: Service name of the resource representing the id + of the cloud project. + type: string + streamId: + description: ID representing the stream of the resource + type: string + subscriptionId: + description: Id of the subscription + type: string + updatedAt: + description: Last update date of the subscription + 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 + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: |- + Type of this condition. At most one of each condition type may apply to + a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/cloud.ovh.edixos.io_projects.yaml b/package/crds/cloud.ovh.edixos.io_projects.yaml index 75a22c0..254bba0 100644 --- a/package/crds/cloud.ovh.edixos.io_projects.yaml +++ b/package/crds/cloud.ovh.edixos.io_projects.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Project listKind: ProjectList plural: projects @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -74,6 +74,11 @@ spec: properties: description: type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -158,6 +163,11 @@ spec: properties: description: type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -419,8 +429,10 @@ spec: items: properties: date: + description: date type: string details: + description: Information about a Bill entry items: properties: description: @@ -434,8 +446,10 @@ spec: type: object type: array expirationDate: + description: expiration date type: string orderId: + description: order id type: number type: object type: array @@ -532,6 +546,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -555,6 +576,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/cloud.ovh.edixos.io_s3credentials.yaml b/package/crds/cloud.ovh.edixos.io_s3credentials.yaml index 7817626..36da0ac 100644 --- a/package/crds/cloud.ovh.edixos.io_s3credentials.yaml +++ b/package/crds/cloud.ovh.edixos.io_s3credentials.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: S3Credentials listKind: S3CredentialsList plural: s3credentials @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -456,6 +456,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -479,6 +486,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/cloud.ovh.edixos.io_s3policies.yaml b/package/crds/cloud.ovh.edixos.io_s3policies.yaml index af34be7..5be5bf9 100644 --- a/package/crds/cloud.ovh.edixos.io_s3policies.yaml +++ b/package/crds/cloud.ovh.edixos.io_s3policies.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: S3Policy listKind: S3PolicyList plural: s3policies @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -465,6 +465,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -488,6 +495,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/cloud.ovh.edixos.io_users.yaml b/package/crds/cloud.ovh.edixos.io_users.yaml index 71c8e9a..45ed225 100644 --- a/package/crds/cloud.ovh.edixos.io_users.yaml +++ b/package/crds/cloud.ovh.edixos.io_users.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: User listKind: UserList plural: users @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -356,6 +356,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -379,6 +386,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/clouddiskarray.ovh.edixos.io_cephacls.yaml b/package/crds/clouddiskarray.ovh.edixos.io_cephacls.yaml index 1295457..74ad6bb 100644 --- a/package/crds/clouddiskarray.ovh.edixos.io_cephacls.yaml +++ b/package/crds/clouddiskarray.ovh.edixos.io_cephacls.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: CephACL listKind: CephACLList plural: cephacls @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -311,6 +311,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -334,6 +341,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasedatabases.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasedatabases.yaml index 748c158..6a69eda 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasedatabases.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasedatabases.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseDatabase listKind: ProjectDatabaseDatabaseList plural: projectdatabasedatabases @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -334,6 +334,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -357,6 +364,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseintegrations.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseintegrations.yaml index 708b5ab..f173a1c 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseintegrations.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseintegrations.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseIntegration listKind: ProjectDatabaseIntegrationList plural: projectdatabaseintegrations @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -374,6 +374,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -397,6 +404,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseiprestrictions.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseiprestrictions.yaml index 38b4ddd..a202dad 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseiprestrictions.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseiprestrictions.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseIPRestriction listKind: ProjectDatabaseIPRestrictionList plural: projectdatabaseiprestrictions @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -343,6 +343,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -366,6 +373,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasekafkaacls.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasekafkaacls.yaml index 34c0219..fff66fb 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasekafkaacls.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasekafkaacls.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseKafkaACL listKind: ProjectDatabaseKafkaACLList plural: projectdatabasekafkaacls @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -344,6 +344,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -367,6 +374,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasekafkaschemaregistryacls.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasekafkaschemaregistryacls.yaml index 0694735..459df2c 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasekafkaschemaregistryacls.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasekafkaschemaregistryacls.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseKafkaSchemaregistryacl listKind: ProjectDatabaseKafkaSchemaregistryaclList plural: projectdatabasekafkaschemaregistryacls @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -344,6 +344,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -367,6 +374,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasekafkatopics.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasekafkatopics.yaml index d7abf0c..d37c15e 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasekafkatopics.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasekafkatopics.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseKafkaTopic listKind: ProjectDatabaseKafkaTopicList plural: projectdatabasekafkatopics @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -369,6 +369,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -392,6 +399,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasem3dbnamespaces.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasem3dbnamespaces.yaml index 0785b6c..a7de42b 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasem3dbnamespaces.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasem3dbnamespaces.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseM3DbNamespace listKind: ProjectDatabaseM3DbNamespaceList plural: projectdatabasem3dbnamespaces @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -419,6 +419,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -442,6 +449,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasem3dbusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasem3dbusers.yaml index 1d3520c..e803d49 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasem3dbusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasem3dbusers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseM3DbUser listKind: ProjectDatabaseM3DbUserList plural: projectdatabasem3dbusers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -345,6 +345,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -368,6 +375,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasemongodbusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasemongodbusers.yaml index dce2f19..477c3cd 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasemongodbusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasemongodbusers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseMongodbUser listKind: ProjectDatabaseMongodbUserList plural: projectdatabasemongodbusers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -357,6 +357,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -380,6 +387,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchpatterns.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchpatterns.yaml index 76afec6..b188583 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchpatterns.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchpatterns.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseOpensearchPattern listKind: ProjectDatabaseOpensearchPatternList plural: projectdatabaseopensearchpatterns @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -327,6 +327,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -350,6 +357,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchusers.yaml index 83ef8b2..82614be 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseopensearchusers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseOpensearchUser listKind: ProjectDatabaseOpensearchUserList plural: projectdatabaseopensearchusers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -372,6 +372,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -395,6 +402,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlconnectionpools.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlconnectionpools.yaml index 570772a..1778162 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlconnectionpools.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlconnectionpools.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabasePostgresqlConnectionPool listKind: ProjectDatabasePostgresqlConnectionPoolList plural: projectdatabasepostgresqlconnectionpools @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -378,6 +378,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -401,6 +408,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlusers.yaml index 4794086..ddbcac8 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabasepostgresqlusers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabasePostgresqlUser listKind: ProjectDatabasePostgresqlUserList plural: projectdatabasepostgresqlusers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -354,6 +354,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -377,6 +384,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseredisusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseredisusers.yaml index 61c3a18..6148247 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseredisusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseredisusers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseRedisUser listKind: ProjectDatabaseRedisUserList plural: projectdatabaseredisusers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -408,6 +408,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -431,6 +438,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabases.yaml b/package/crds/databases.ovh.edixos.io_projectdatabases.yaml index fc10619..3593a01 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabases.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabases.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabase listKind: ProjectDatabaseList plural: projectdatabases @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -102,10 +102,26 @@ spec: flavor: description: The node flavor used for this cluster type: string + ipRestrictions: + description: IP Blocks authorized to access to the cluster + items: + properties: + description: + description: Description of the IP restriction + type: string + ip: + description: Authorized IP + type: string + type: object + type: array kafkaRestApi: description: Defines whether the REST API is enabled on a Kafka cluster type: boolean + kafkaSchemaRegistry: + description: Defines whether the schema registry is enabled on + a Kafka cluster + type: boolean nodes: description: List of nodes composing the service items: @@ -177,10 +193,26 @@ spec: flavor: description: The node flavor used for this cluster type: string + ipRestrictions: + description: IP Blocks authorized to access to the cluster + items: + properties: + description: + description: Description of the IP restriction + type: string + ip: + description: Authorized IP + type: string + type: object + type: array kafkaRestApi: description: Defines whether the REST API is enabled on a Kafka cluster type: boolean + kafkaSchemaRegistry: + description: Defines whether the schema registry is enabled on + a Kafka cluster + type: boolean nodes: description: List of nodes composing the service items: @@ -466,10 +498,29 @@ spec: type: string id: type: string + ipRestrictions: + description: IP Blocks authorized to access to the cluster + items: + properties: + description: + description: Description of the IP restriction + type: string + ip: + description: Authorized IP + type: string + status: + description: Current status of the IP restriction + type: string + type: object + type: array kafkaRestApi: description: Defines whether the REST API is enabled on a Kafka cluster type: boolean + kafkaSchemaRegistry: + description: Defines whether the schema registry is enabled on + a Kafka cluster + type: boolean maintenanceTime: description: Time on which maintenances can start every day type: string @@ -524,6 +575,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -547,6 +605,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/databases.ovh.edixos.io_projectdatabaseusers.yaml b/package/crds/databases.ovh.edixos.io_projectdatabaseusers.yaml index b3ae152..7fccd07 100644 --- a/package/crds/databases.ovh.edixos.io_projectdatabaseusers.yaml +++ b/package/crds/databases.ovh.edixos.io_projectdatabaseusers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectDatabaseUser listKind: ProjectDatabaseUserList plural: projectdatabaseusers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -347,6 +347,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -370,6 +377,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemehardwareraids.yaml b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemehardwareraids.yaml index 8c34053..7c0e218 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemehardwareraids.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemehardwareraids.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: InstallationTemplatePartitionSchemeHardwareRaid listKind: InstallationTemplatePartitionSchemeHardwareRaidList plural: installationtemplatepartitionschemehardwareraids @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -375,6 +375,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -398,6 +405,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemepartitions.yaml b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemepartitions.yaml index d031ee2..e9be191 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemepartitions.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemepartitions.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: InstallationTemplatePartitionSchemePartition listKind: InstallationTemplatePartitionSchemePartitionList plural: installationtemplatepartitionschemepartitions @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -394,6 +394,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -417,6 +424,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemes.yaml b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemes.yaml index 1df2cb5..0d13ef6 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemes.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplatepartitionschemes.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: InstallationTemplatePartitionScheme listKind: InstallationTemplatePartitionSchemeList plural: installationtemplatepartitionschemes @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -330,6 +330,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -353,6 +360,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplates.yaml b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplates.yaml index f6e428b..8939255 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_installationtemplates.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_installationtemplates.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: InstallationTemplate listKind: InstallationTemplateList plural: installationtemplates @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -80,9 +80,6 @@ spec: customization: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname @@ -98,21 +95,8 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - rating: - type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistributionKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean type: object type: array - defaultLanguage: - description: The default language of this template - type: string removeDefaultPartitionSchemes: description: Remove default partition schemes at creation type: boolean @@ -140,9 +124,6 @@ spec: customization: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname @@ -158,21 +139,8 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - rating: - type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistributionKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean type: object type: array - defaultLanguage: - description: The default language of this template - type: string removeDefaultPartitionSchemes: description: Remove default partition schemes at creation type: boolean @@ -352,10 +320,6 @@ spec: rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.baseTemplateName) || (has(self.initProvider) && has(self.initProvider.baseTemplateName))' - - message: spec.forProvider.defaultLanguage is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.defaultLanguage) - || (has(self.initProvider) && has(self.initProvider.defaultLanguage))' - message: spec.forProvider.templateName is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.templateName) @@ -366,19 +330,10 @@ spec: properties: atProvider: properties: - availableLanguages: - description: List of all language available for this template - items: - type: string - type: array baseTemplateName: description: OVH template name yours will be based on, choose one among the list given by compatibleTemplates function type: string - beta: - description: This distribution is new and, although tested and - functional, may still display odd behaviour - type: boolean bitFormat: description: This template bit format (32 or 64) type: number @@ -389,9 +344,6 @@ spec: customization: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname @@ -407,35 +359,23 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - rating: - type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistributionKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean type: object type: array - defaultLanguage: - description: The default language of this template - type: string - deprecated: - description: is this distribution deprecated - type: boolean description: description: information about this template type: string distribution: description: the distribution this template is based on type: string + endOfInstall: + description: after this date, install of this template will not + be possible at OVH + type: string family: - description: this template family type (bsd,linux,solaris,windows) + description: this template family type type: string filesystems: - description: Filesystems available (btrfs,ext3,ext4,ntfs,reiserfs,swap,ufs,xfs,zfs) + description: Filesystems available items: type: string type: array @@ -445,27 +385,43 @@ spec: type: boolean id: type: string - lastModification: - description: Date of last modification of the base image - type: string + inputs: + items: + properties: + default: + type: string + description: + type: string + enum: + items: + type: string + type: array + mandatory: + type: boolean + name: + type: string + type: + type: string + type: object + type: array lvmReady: - description: This distribution supports Logical Volumes (Linux - LVM) + description: Whether this distribution supports Logical Volumes + (Linux LVM) + type: boolean + noPartitioning: + description: Partitioning customization is not available for this + OS template type: boolean removeDefaultPartitionSchemes: description: Remove default partition schemes at creation type: boolean - supportsDistributionKernel: - description: This distribution supports installation using the - distribution's native kernel instead of the recommended OVH - kernel - type: boolean - supportsRtm: - description: This distribution supports RTM software - type: boolean - supportsSqlServer: - description: This distribution supports the microsoft SQL server + softRaidOnlyMirroring: + description: Partitioning customization is available but limited + to mirroring for this OS template type: boolean + subfamily: + description: this template subfamily type + type: string templateName: description: This template name type: string @@ -486,6 +442,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -509,6 +472,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_serverinstalltasks.yaml b/package/crds/dedicatedserver.ovh.edixos.io_serverinstalltasks.yaml index cd39e0b..3ef85e1 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_serverinstalltasks.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_serverinstalltasks.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ServerInstallTask listKind: ServerInstallTaskList plural: serverinstalltasks @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -80,22 +80,12 @@ spec: details: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname type: string diskGroupId: type: number - installRtm: - type: boolean - installSqlServer: - type: boolean - language: - description: language - type: string noRaid: type: boolean postInstallationScriptLink: @@ -109,20 +99,8 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - resetHwRaid: - type: boolean softRaidDevices: type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistribKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean - useSpla: - type: boolean type: object type: array partitionSchemeName: @@ -134,6 +112,17 @@ spec: templateName: description: Template name type: string + userMetadata: + items: + properties: + key: + description: The key for the user_metadata + type: string + value: + description: The value for the user_metadata + type: string + type: object + type: array type: object initProvider: description: |- @@ -155,22 +144,12 @@ spec: details: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname type: string diskGroupId: type: number - installRtm: - type: boolean - installSqlServer: - type: boolean - language: - description: language - type: string noRaid: type: boolean postInstallationScriptLink: @@ -184,20 +163,8 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - resetHwRaid: - type: boolean softRaidDevices: type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistribKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean - useSpla: - type: boolean type: object type: array partitionSchemeName: @@ -209,6 +176,17 @@ spec: templateName: description: Template name type: string + userMetadata: + items: + properties: + key: + description: The key for the user_metadata + type: string + value: + description: The value for the user_metadata + type: string + type: object + type: array type: object managementPolicies: default: @@ -401,22 +379,12 @@ spec: details: items: properties: - changeLog: - description: Template change log details - type: string customHostname: description: Set up the server using the provided hostname instead of the default hostname type: string diskGroupId: type: number - installRtm: - type: boolean - installSqlServer: - type: boolean - language: - description: language - type: string noRaid: type: boolean postInstallationScriptLink: @@ -430,20 +398,8 @@ spec: case of succes. A good example is ''loh1Xee7eo OK OK OK UGh8Ang1Gu''' type: string - resetHwRaid: - type: boolean softRaidDevices: type: number - sshKeyName: - description: Name of the ssh key that should be installed. - Password login will be disabled - type: string - useDistribKernel: - description: Use the distribution's native kernel instead - of the recommended OVH Kernel - type: boolean - useSpla: - type: boolean type: object type: array doneDate: @@ -472,6 +428,17 @@ spec: templateName: description: Template name type: string + userMetadata: + items: + properties: + key: + description: The key for the user_metadata + type: string + value: + description: The value for the user_metadata + type: string + type: object + type: array type: object conditions: description: Conditions of the resource. @@ -489,6 +456,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -512,6 +486,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_servernetworkings.yaml b/package/crds/dedicatedserver.ovh.edixos.io_servernetworkings.yaml index 55b2bb1..b220bda 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_servernetworkings.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_servernetworkings.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ServerNetworking listKind: ServerNetworkingList plural: servernetworkings @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -348,6 +348,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -371,6 +378,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_serverreboottasks.yaml b/package/crds/dedicatedserver.ovh.edixos.io_serverreboottasks.yaml index 84357f1..e80aa2c 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_serverreboottasks.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_serverreboottasks.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ServerRebootTask listKind: ServerRebootTaskList plural: serverreboottasks @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -330,6 +330,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -353,6 +360,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dedicatedserver.ovh.edixos.io_serverupdates.yaml b/package/crds/dedicatedserver.ovh.edixos.io_serverupdates.yaml index e604812..77c640c 100644 --- a/package/crds/dedicatedserver.ovh.edixos.io_serverupdates.yaml +++ b/package/crds/dedicatedserver.ovh.edixos.io_serverupdates.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ServerUpdate listKind: ServerUpdateList plural: serverupdates @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -78,6 +78,9 @@ spec: bootScript: description: The boot script of your dedicated server. type: string + displayName: + description: Display name of the dedicated server + type: string monitoring: description: Icmp monitoring state type: boolean @@ -107,6 +110,9 @@ spec: bootScript: description: The boot script of your dedicated server. type: string + displayName: + description: Display name of the dedicated server + type: string monitoring: description: Icmp monitoring state type: boolean @@ -300,6 +306,9 @@ spec: bootScript: description: The boot script of your dedicated server. type: string + displayName: + description: Display name of the dedicated server + type: string id: type: string monitoring: @@ -328,6 +337,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -351,6 +367,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/me.ovh.edixos.io_sshkeys.yaml b/package/crds/dns.ovh.edixos.io_zonednssecs.yaml similarity index 88% rename from package/crds/me.ovh.edixos.io_sshkeys.yaml rename to package/crds/dns.ovh.edixos.io_zonednssecs.yaml index 9a94fdb..8dcac67 100644 --- a/package/crds/me.ovh.edixos.io_sshkeys.yaml +++ b/package/crds/dns.ovh.edixos.io_zonednssecs.yaml @@ -4,27 +4,27 @@ kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.14.0 - name: sshkeys.me.ovh.edixos.io + name: zonednssecs.dns.ovh.edixos.io spec: - group: me.ovh.edixos.io + group: dns.ovh.edixos.io names: categories: - crossplane - managed - - ovh - kind: SSHKey - listKind: SSHKeyList - plural: sshkeys - singular: sshkey + - lb + kind: ZoneDNSSEC + listKind: ZoneDNSSECList + plural: zonednssecs + singular: zonednssec 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -34,7 +34,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: SSHKey is the Schema for the SSHKeys API. + description: ZoneDNSSEC is the Schema for the ZoneDNSSECs API. properties: apiVersion: description: |- @@ -54,7 +54,7 @@ spec: metadata: type: object spec: - description: SSHKeySpec defines the desired state of SSHKey + description: ZoneDNSSECSpec defines the desired state of ZoneDNSSEC properties: deletionPolicy: default: Delete @@ -72,15 +72,8 @@ spec: type: string forProvider: properties: - default: - description: True when this public Ssh key is used for rescue - mode and reinstallations - type: boolean - key: - description: ASCII encoded public Ssh key - type: string - keyName: - description: Name of this public Ssh key + zoneName: + description: The internal name of your zone type: string type: object initProvider: @@ -96,15 +89,8 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: - default: - description: True when this public Ssh key is used for rescue - mode and reinstallations - type: boolean - key: - description: ASCII encoded public Ssh key - type: string - keyName: - description: Name of this public Ssh key + zoneName: + description: The internal name of your zone type: string type: object managementPolicies: @@ -275,30 +261,22 @@ spec: - forProvider type: object x-kubernetes-validations: - - message: spec.forProvider.key is a required parameter - rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.key) - || (has(self.initProvider) && has(self.initProvider.key))' - - message: spec.forProvider.keyName is a required parameter + - message: spec.forProvider.zoneName is a required parameter rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies - || ''Update'' in self.managementPolicies) || has(self.forProvider.keyName) - || (has(self.initProvider) && has(self.initProvider.keyName))' + || ''Update'' in self.managementPolicies) || has(self.forProvider.zoneName) + || (has(self.initProvider) && has(self.initProvider.zoneName))' status: - description: SSHKeyStatus defines the observed state of SSHKey. + description: ZoneDNSSECStatus defines the observed state of ZoneDNSSEC. properties: atProvider: properties: - default: - description: True when this public Ssh key is used for rescue - mode and reinstallations - type: boolean id: type: string - key: - description: ASCII encoded public Ssh key + status: + description: DNSSEC Status type: string - keyName: - description: Name of this public Ssh key + zoneName: + description: The internal name of your zone type: string type: object conditions: @@ -317,6 +295,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -340,6 +325,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dns.ovh.edixos.io_zonerecords.yaml b/package/crds/dns.ovh.edixos.io_zonerecords.yaml index 3949800..a064cf3 100644 --- a/package/crds/dns.ovh.edixos.io_zonerecords.yaml +++ b/package/crds/dns.ovh.edixos.io_zonerecords.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ZoneRecord listKind: ZoneRecordList plural: zonerecords @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -34,8 +34,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: 'ZoneRecord is the Schema for the ZoneRecords API. ovh_domain_zone_record.html.markdownsubcategory - : "Domain names"' + description: ZoneRecord is the Schema for the ZoneRecords API. properties: apiVersion: description: |- @@ -74,19 +73,14 @@ spec: forProvider: properties: fieldtype: - description: The type of the record type: string subdomain: - description: The name of the record. It can be an empty string. type: string target: - description: The value of the record type: string ttl: - description: The TTL of the record, it shall be >= to 60. type: number zone: - description: The domain to add the record to type: string type: object initProvider: @@ -103,19 +97,14 @@ spec: autoscaler. properties: fieldtype: - description: The type of the record type: string subdomain: - description: The name of the record. It can be an empty string. type: string target: - description: The value of the record type: string ttl: - description: The TTL of the record, it shall be >= to 60. type: number zone: - description: The domain to add the record to type: string type: object managementPolicies: @@ -304,22 +293,16 @@ spec: atProvider: properties: fieldtype: - description: The type of the record type: string id: - description: The record ID type: string subdomain: - description: The name of the record. It can be an empty string. type: string target: - description: The value of the record type: string ttl: - description: The TTL of the record, it shall be >= to 60. type: number zone: - description: The domain to add the record to type: string type: object conditions: @@ -338,6 +321,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -361,6 +351,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dns.ovh.edixos.io_zoneredirections.yaml b/package/crds/dns.ovh.edixos.io_zoneredirections.yaml index 8480a9f..3963ec9 100644 --- a/package/crds/dns.ovh.edixos.io_zoneredirections.yaml +++ b/package/crds/dns.ovh.edixos.io_zoneredirections.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ZoneRedirection listKind: ZoneRedirectionList plural: zoneredirections @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -34,8 +34,8 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: 'ZoneRedirection is the Schema for the ZoneRedirections API. - ovh_domain_zone_redirection.html.markdownsubcategory : "Domain names"' + description: ZoneRedirection is the Schema for the ZoneRedirections API. properties: apiVersion: description: |- @@ -74,25 +74,18 @@ spec: forProvider: properties: description: - description: A description of this redirection type: string keywords: - description: Keywords to describe this redirection type: string subdomain: - description: The name of the redirection type: string target: - description: The value of the redirection type: string title: - description: Title of this redirection type: string type: - description: 'The type of the redirection, with values:' type: string zone: - description: The domain to add the redirection to type: string type: object initProvider: @@ -109,25 +102,18 @@ spec: autoscaler. properties: description: - description: A description of this redirection type: string keywords: - description: Keywords to describe this redirection type: string subdomain: - description: The name of the redirection type: string target: - description: The value of the redirection type: string title: - description: Title of this redirection type: string type: - description: 'The type of the redirection, with values:' type: string zone: - description: The domain to add the redirection to type: string type: object managementPolicies: @@ -316,28 +302,20 @@ spec: atProvider: properties: description: - description: A description of this redirection type: string id: - description: The redirection ID type: string keywords: - description: Keywords to describe this redirection type: string subdomain: - description: The name of the redirection type: string target: - description: The value of the redirection type: string title: - description: Title of this redirection type: string type: - description: 'The type of the redirection, with values:' type: string zone: - description: The domain to add the redirection to type: string type: object conditions: @@ -356,6 +334,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -379,6 +364,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/dns.ovh.edixos.io_zones.yaml b/package/crds/dns.ovh.edixos.io_zones.yaml index 87c8b56..877de81 100644 --- a/package/crds/dns.ovh.edixos.io_zones.yaml +++ b/package/crds/dns.ovh.edixos.io_zones.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Zone listKind: ZoneList plural: zones @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -34,8 +34,7 @@ spec: name: v1alpha1 schema: openAPIV3Schema: - description: 'Zone is the Schema for the Zones API. ovh_domain_zone.html.markdownsubcategory - : "Domain names"' + description: Zone is the Schema for the Zones API. properties: apiVersion: description: |- @@ -73,103 +72,76 @@ spec: type: string forProvider: properties: + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: - description: |- - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under - Ovh Subsidiary + description: Ovh Subsidiary type: string paymentMean: description: Ovh payment mode type: string plan: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array planOption: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array @@ -187,103 +159,76 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: - description: |- - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under - Ovh Subsidiary + description: Ovh Subsidiary type: string paymentMean: description: Ovh payment mode type: string plan: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array planOption: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array @@ -470,38 +415,26 @@ spec: atProvider: properties: dnssecSupported: - description: |- - Is DNSSEC supported by this zone - Is DNSSEC supported by this zone + description: Is DNSSEC supported by this zone type: boolean hasDnsAnycast: - description: |- - hasDnsAnycast flag of the DNS zone - hasDnsAnycast flag of the DNS zone + description: hasDnsAnycast flag of the DNS zone type: boolean id: type: string lastUpdate: - description: |- - Last update date of the DNS zone - Last update date of the DNS zone + description: Last update date of the DNS zone type: string name: - description: |- - Zone name - Zone name + description: Zone name type: string nameServers: - description: |- - Name servers that host the DNS zone - Name servers that host the DNS zone + description: Name servers that host the DNS zone items: type: string type: array order: - description: |- - Details about an Order - Details about an Order + description: Details about an Order items: properties: date: @@ -512,16 +445,12 @@ spec: items: properties: description: - description: description type: string domain: - description: expiration date type: string orderDetailId: - description: order detail id type: number quantity: - description: quantity type: string type: object type: array @@ -534,102 +463,70 @@ spec: type: object type: array ovhSubsidiary: - description: |- - OVHcloud Subsidiary. Country of OVHcloud legal entity you'll be billed by. List of supported subsidiaries available on API at /1.0/me.json under - Ovh Subsidiary + description: Ovh Subsidiary type: string paymentMean: description: Ovh payment mode type: string plan: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array planOption: - description: |- - Product Plan to order - Product Plan to order + description: Product Plan to order items: properties: catalogName: - description: |- - Catalog name - Catalog name + description: Catalog name type: string configuration: - description: |- - Representation of a configuration item for personalizing product. 2 configurations are required : one for zone and one for template - Representation of a configuration item for personalizing product + description: Representation of a configuration item for + personalizing product items: properties: label: - description: |- - Identifier of the resource : zone or template - Identifier of the resource + description: Identifier of the resource type: string value: - description: |- - For zone, the value is the zone name myzone.example.com. For template, the value can be basic, minimized or redirect which is the same as minimized with additional entries for a redirect configuration. - Path to the resource in API.OVH.COM + description: Path to the resource in API.OVH.COM type: string type: object type: array duration: - description: |- - duration - duration + description: duration type: string planCode: - description: |- - Plan code - Plan code + description: Plan code type: string pricingMode: - description: |- - Pricing model identifier - Pricing model identifier + description: Pricing model identifier type: string type: object type: array @@ -652,6 +549,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -675,6 +579,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/gateway.ovh.edixos.io_projectgateways.yaml b/package/crds/gateway.ovh.edixos.io_projectgateways.yaml index 74aba8c..6121829 100644 --- a/package/crds/gateway.ovh.edixos.io_projectgateways.yaml +++ b/package/crds/gateway.ovh.edixos.io_projectgateways.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectGateway listKind: ProjectGatewayList plural: projectgateways @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -605,8 +605,39 @@ spec: properties: atProvider: properties: + externalInformation: + description: External information of the gateway + items: + properties: + ips: + items: + properties: + ip: + type: string + subnetId: + type: string + type: object + type: array + networkId: + type: string + type: object + type: array id: type: string + interfaces: + description: Interfaces list of the gateway + items: + properties: + id: + type: string + ip: + type: string + networkId: + type: string + subnetId: + type: string + type: object + type: array model: type: string name: @@ -640,6 +671,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -663,6 +701,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/iam.ovh.edixos.io_iampermissionsgroups.yaml b/package/crds/iam.ovh.edixos.io_iampermissionsgroups.yaml index 7d60f0e..8d85184 100644 --- a/package/crds/iam.ovh.edixos.io_iampermissionsgroups.yaml +++ b/package/crds/iam.ovh.edixos.io_iampermissionsgroups.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: IAMPermissionsGroup listKind: IAMPermissionsGroupList plural: iampermissionsgroups @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -357,6 +357,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -380,6 +387,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/iam.ovh.edixos.io_iampolicies.yaml b/package/crds/iam.ovh.edixos.io_iampolicies.yaml index 16448b0..e87cea8 100644 --- a/package/crds/iam.ovh.edixos.io_iampolicies.yaml +++ b/package/crds/iam.ovh.edixos.io_iampolicies.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: IAMPolicy listKind: IAMPolicyList plural: iampolicies @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -401,6 +401,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -424,6 +431,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/iam.ovh.edixos.io_iamresourcegroups.yaml b/package/crds/iam.ovh.edixos.io_iamresourcegroups.yaml index 5ea200f..0eacba4 100644 --- a/package/crds/iam.ovh.edixos.io_iamresourcegroups.yaml +++ b/package/crds/iam.ovh.edixos.io_iamresourcegroups.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: IAMResourceGroup listKind: IAMResourceGroupList plural: iamresourcegroups @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -315,6 +315,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -338,6 +345,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/kube.ovh.edixos.io_clusters.yaml b/package/crds/kube.ovh.edixos.io_clusters.yaml index 0d3ac05..6f596bb 100644 --- a/package/crds/kube.ovh.edixos.io_clusters.yaml +++ b/package/crds/kube.ovh.edixos.io_clusters.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Cluster listKind: ClusterList plural: clusters @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -146,8 +146,12 @@ spec: type: array kubeProxyMode: type: string + loadBalancersSubnetId: + type: string name: type: string + nodesSubnetId: + type: string privateNetworkConfiguration: items: properties: @@ -337,8 +341,12 @@ spec: type: array kubeProxyMode: type: string + loadBalancersSubnetId: + type: string name: type: string + nodesSubnetId: + type: string privateNetworkConfiguration: items: properties: @@ -702,6 +710,8 @@ spec: type: boolean kubeProxyMode: type: string + loadBalancersSubnetId: + type: string name: type: string nextUpgradeVersions: @@ -709,6 +719,8 @@ spec: type: string type: array x-kubernetes-list-type: set + nodesSubnetId: + type: string nodesUrl: type: string privateNetworkConfiguration: @@ -757,6 +769,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -780,6 +799,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/kube.ovh.edixos.io_iprestrictions.yaml b/package/crds/kube.ovh.edixos.io_iprestrictions.yaml index 2d5e3ff..e4ebb2d 100644 --- a/package/crds/kube.ovh.edixos.io_iprestrictions.yaml +++ b/package/crds/kube.ovh.edixos.io_iprestrictions.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: IpRestriction listKind: IpRestrictionList plural: iprestrictions @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -471,6 +471,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -494,6 +501,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/kube.ovh.edixos.io_nodepools.yaml b/package/crds/kube.ovh.edixos.io_nodepools.yaml index 3502b9f..ad707fc 100644 --- a/package/crds/kube.ovh.edixos.io_nodepools.yaml +++ b/package/crds/kube.ovh.edixos.io_nodepools.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: NodePool listKind: NodePoolList plural: nodepools @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -716,6 +716,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -739,6 +746,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/kube.ovh.edixos.io_oidcconfigurations.yaml b/package/crds/kube.ovh.edixos.io_oidcconfigurations.yaml index abce33a..e7447ef 100644 --- a/package/crds/kube.ovh.edixos.io_oidcconfigurations.yaml +++ b/package/crds/kube.ovh.edixos.io_oidcconfigurations.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: OIDCConfiguration listKind: OIDCConfigurationList plural: oidcconfigurations @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -524,6 +524,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -547,6 +554,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_httpfarms.yaml b/package/crds/lb.ovh.edixos.io_httpfarms.yaml index 413a6c9..c34fa57 100644 --- a/package/crds/lb.ovh.edixos.io_httpfarms.yaml +++ b/package/crds/lb.ovh.edixos.io_httpfarms.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: HTTPFarm listKind: HTTPFarmList plural: httpfarms @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -398,6 +398,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -421,6 +428,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_httpfarmservers.yaml b/package/crds/lb.ovh.edixos.io_httpfarmservers.yaml index 5c6a1e8..007329e 100644 --- a/package/crds/lb.ovh.edixos.io_httpfarmservers.yaml +++ b/package/crds/lb.ovh.edixos.io_httpfarmservers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: HTTPFarmServer listKind: HTTPFarmServerList plural: httpfarmservers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -376,6 +376,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -399,6 +406,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_httpfrontends.yaml b/package/crds/lb.ovh.edixos.io_httpfrontends.yaml index be49479..7a99787 100644 --- a/package/crds/lb.ovh.edixos.io_httpfrontends.yaml +++ b/package/crds/lb.ovh.edixos.io_httpfrontends.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: HTTPFrontend listKind: HTTPFrontendList plural: httpfrontends @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -76,6 +76,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string @@ -123,6 +124,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string @@ -342,6 +344,7 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string @@ -390,6 +393,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -413,6 +423,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_httprouterules.yaml b/package/crds/lb.ovh.edixos.io_httprouterules.yaml index 93c4d5d..73b5e35 100644 --- a/package/crds/lb.ovh.edixos.io_httprouterules.yaml +++ b/package/crds/lb.ovh.edixos.io_httprouterules.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: HTTPRouteRule listKind: HTTPRouteRuleList plural: httprouterules @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -343,6 +343,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -366,6 +373,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_httproutes.yaml b/package/crds/lb.ovh.edixos.io_httproutes.yaml index c1ac2cf..c064747 100644 --- a/package/crds/lb.ovh.edixos.io_httproutes.yaml +++ b/package/crds/lb.ovh.edixos.io_httproutes.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: HTTPRoute listKind: HTTPRouteList plural: httproutes @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -410,6 +410,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -433,6 +440,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_iploadbalancings.yaml b/package/crds/lb.ovh.edixos.io_iploadbalancings.yaml index 239771b..141be1e 100644 --- a/package/crds/lb.ovh.edixos.io_iploadbalancings.yaml +++ b/package/crds/lb.ovh.edixos.io_iploadbalancings.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Iploadbalancing listKind: IploadbalancingList plural: iploadbalancings @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -77,6 +77,11 @@ spec: description: Set the name displayed in ManagerV6 for your iplb (max 50 chars) type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -170,6 +175,11 @@ spec: description: Set the name displayed in ManagerV6 for your iplb (max 50 chars) type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -450,8 +460,10 @@ spec: items: properties: date: + description: date type: string details: + description: Information about a Bill entry items: properties: description: @@ -465,8 +477,10 @@ spec: type: object type: array expirationDate: + description: expiration date type: string orderId: + description: order id type: number type: object type: array @@ -592,6 +606,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -615,6 +636,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_refreshes.yaml b/package/crds/lb.ovh.edixos.io_refreshes.yaml index be828d4..ddffbac 100644 --- a/package/crds/lb.ovh.edixos.io_refreshes.yaml +++ b/package/crds/lb.ovh.edixos.io_refreshes.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Refresh listKind: RefreshList plural: refreshes @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -305,6 +305,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -328,6 +335,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_tcpfarms.yaml b/package/crds/lb.ovh.edixos.io_tcpfarms.yaml index a4e9f45..d8f1853 100644 --- a/package/crds/lb.ovh.edixos.io_tcpfarms.yaml +++ b/package/crds/lb.ovh.edixos.io_tcpfarms.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: TCPFarm listKind: TCPFarmList plural: tcpfarms @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -398,6 +398,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -421,6 +428,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_tcpfarmservers.yaml b/package/crds/lb.ovh.edixos.io_tcpfarmservers.yaml index 9b867bf..eb8bc87 100644 --- a/package/crds/lb.ovh.edixos.io_tcpfarmservers.yaml +++ b/package/crds/lb.ovh.edixos.io_tcpfarmservers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: TCPFarmServer listKind: TCPFarmServerList plural: tcpfarmservers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -373,6 +373,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -396,6 +403,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_tcpfrontends.yaml b/package/crds/lb.ovh.edixos.io_tcpfrontends.yaml index 929200f..9fae9cc 100644 --- a/package/crds/lb.ovh.edixos.io_tcpfrontends.yaml +++ b/package/crds/lb.ovh.edixos.io_tcpfrontends.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: TCPFrontend listKind: TCPFrontendList plural: tcpfrontends @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -76,14 +76,21 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string type: array + x-kubernetes-list-type: set defaultFarmId: type: number defaultSslId: type: number + deniedSource: + items: + type: string + type: array + x-kubernetes-list-type: set disabled: type: boolean displayName: @@ -114,14 +121,21 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string type: array + x-kubernetes-list-type: set defaultFarmId: type: number defaultSslId: type: number + deniedSource: + items: + type: string + type: array + x-kubernetes-list-type: set disabled: type: boolean displayName: @@ -324,14 +338,21 @@ spec: items: type: string type: array + x-kubernetes-list-type: set dedicatedIpfo: items: type: string type: array + x-kubernetes-list-type: set defaultFarmId: type: number defaultSslId: type: number + deniedSource: + items: + type: string + type: array + x-kubernetes-list-type: set disabled: type: boolean displayName: @@ -363,6 +384,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -386,6 +414,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_tcprouterules.yaml b/package/crds/lb.ovh.edixos.io_tcprouterules.yaml index 1f2fc70..5416e89 100644 --- a/package/crds/lb.ovh.edixos.io_tcprouterules.yaml +++ b/package/crds/lb.ovh.edixos.io_tcprouterules.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: TCPRouteRule listKind: TCPRouteRuleList plural: tcprouterules @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -343,6 +343,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -366,6 +373,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_tcproutes.yaml b/package/crds/lb.ovh.edixos.io_tcproutes.yaml index 6ebf73d..6588f41 100644 --- a/package/crds/lb.ovh.edixos.io_tcproutes.yaml +++ b/package/crds/lb.ovh.edixos.io_tcproutes.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: TCPRoute listKind: TCPRouteList plural: tcproutes @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -392,6 +392,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -415,6 +422,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/lb.ovh.edixos.io_udpfrontends.yaml b/package/crds/lb.ovh.edixos.io_udpfrontends.yaml new file mode 100644 index 0000000..9fa3b02 --- /dev/null +++ b/package/crds/lb.ovh.edixos.io_udpfrontends.yaml @@ -0,0 +1,425 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: udpfrontends.lb.ovh.edixos.io +spec: + group: lb.ovh.edixos.io + names: + categories: + - crossplane + - managed + - lb + kind: UDPFrontend + listKind: UDPFrontendList + plural: udpfrontends + singular: udpfrontend + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + 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: UDPFrontend is the Schema for the UDPFrontends 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: UDPFrontendSpec defines the desired state of UDPFrontend + 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 ManagementPolicies + field in a future release. Currently, both could be set independently and + non-default values would be honored if the feature flag is enabled. + See 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: + dedicatedIpfo: + description: Only attach frontend on these ip. No restriction + if null + items: + type: string + type: array + defaultFarmId: + description: Default UDP Farm of your frontend + type: number + disabled: + description: 'Disable your frontend. Default: ''false''' + type: boolean + displayName: + description: Human readable name for your frontend, this field + is for you + type: string + port: + description: Port(s) attached to your frontend. Supports single + port (numerical value), range (2 dash-delimited increasing ports) + and comma-separated list of 'single port' and/or 'range'. Each + port must be in the [1;49151] range. + type: string + serviceName: + description: The internal name of your IP load balancing + type: string + zone: + description: Zone of your frontend. Use "all" for all owned zone. + type: string + type: object + initProvider: + description: |- + THIS IS A BETA FIELD. It will be honored + unless the Management Policies feature flag is disabled. + InitProvider holds the same fields as ForProvider, with the exception + of Identifier and other resource reference fields. The fields that are + in InitProvider are merged into ForProvider when the resource is created. + The same fields are also added to the terraform ignore_changes hook, to + avoid updating them after creation. This is useful for fields that are + required on creation, but we do not desire to update them after creation, + for example because of an external controller is managing them, like an + autoscaler. + properties: + dedicatedIpfo: + description: Only attach frontend on these ip. No restriction + if null + items: + type: string + type: array + defaultFarmId: + description: Default UDP Farm of your frontend + type: number + disabled: + description: 'Disable your frontend. Default: ''false''' + type: boolean + displayName: + description: Human readable name for your frontend, this field + is for you + type: string + port: + description: Port(s) attached to your frontend. Supports single + port (numerical value), range (2 dash-delimited increasing ports) + and comma-separated list of 'single port' and/or 'range'. Each + port must be in the [1;49151] range. + type: string + serviceName: + description: The internal name of your IP load balancing + type: string + zone: + description: Zone of your frontend. Use "all" for all owned zone. + type: string + type: object + managementPolicies: + default: + - '*' + description: |- + THIS IS A BETA FIELD. It is on by default but can be opted out + through a Crossplane feature flag. + ManagementPolicies specify the array of actions Crossplane is allowed to + take on the managed and external resources. + This field is planned to replace the DeletionPolicy field in a future + release. Currently, both could be set independently and non-default + values would be honored if the feature flag is enabled. If both are + custom, the DeletionPolicy field will be ignored. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md + items: + description: |- + A ManagementAction represents an action that the Crossplane controllers + can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + 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 + 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: spec.forProvider.port is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.port) + || (has(self.initProvider) && has(self.initProvider.port))' + - message: spec.forProvider.serviceName is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.serviceName) + || (has(self.initProvider) && has(self.initProvider.serviceName))' + - message: spec.forProvider.zone is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.zone) + || (has(self.initProvider) && has(self.initProvider.zone))' + status: + description: UDPFrontendStatus defines the observed state of UDPFrontend. + properties: + atProvider: + properties: + dedicatedIpfo: + description: Only attach frontend on these ip. No restriction + if null + items: + type: string + type: array + defaultFarmId: + description: Default UDP Farm of your frontend + type: number + disabled: + description: 'Disable your frontend. Default: ''false''' + type: boolean + displayName: + description: Human readable name for your frontend, this field + is for you + type: string + frontendId: + description: Id of your frontend + type: number + id: + type: string + port: + description: Port(s) attached to your frontend. Supports single + port (numerical value), range (2 dash-delimited increasing ports) + and comma-separated list of 'single port' and/or 'range'. Each + port must be in the [1;49151] range. + type: string + serviceName: + description: The internal name of your IP load balancing + type: string + zone: + description: Zone of your frontend. Use "all" for all owned zone. + 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 + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: |- + Type of this condition. At most one of each condition type may apply to + a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/lb.ovh.edixos.io_vracknetworks.yaml b/package/crds/lb.ovh.edixos.io_vracknetworks.yaml index 4a07797..0110a08 100644 --- a/package/crds/lb.ovh.edixos.io_vracknetworks.yaml +++ b/package/crds/lb.ovh.edixos.io_vracknetworks.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: VrackNetwork listKind: VrackNetworkList plural: vracknetworks @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -370,6 +370,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -393,6 +400,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/logs.ovh.edixos.io_logsclusters.yaml b/package/crds/logs.ovh.edixos.io_logsclusters.yaml index b0d9fa5..4c5e69e 100644 --- a/package/crds/logs.ovh.edixos.io_logsclusters.yaml +++ b/package/crds/logs.ovh.edixos.io_logsclusters.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: LogsCluster listKind: LogsClusterList plural: logsclusters @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -366,6 +366,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -389,6 +396,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/logs.ovh.edixos.io_logsinputs.yaml b/package/crds/logs.ovh.edixos.io_logsinputs.yaml index dee59fe..8ee09fb 100644 --- a/package/crds/logs.ovh.edixos.io_logsinputs.yaml +++ b/package/crds/logs.ovh.edixos.io_logsinputs.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: LogsInput listKind: LogsInputList plural: logsinputs @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -499,6 +499,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -522,6 +529,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/logs.ovh.edixos.io_logstokens.yaml b/package/crds/logs.ovh.edixos.io_logstokens.yaml new file mode 100644 index 0000000..be735b7 --- /dev/null +++ b/package/crds/logs.ovh.edixos.io_logstokens.yaml @@ -0,0 +1,370 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.14.0 + name: logstokens.logs.ovh.edixos.io +spec: + group: logs.ovh.edixos.io + names: + categories: + - crossplane + - managed + - lb + kind: LogsToken + listKind: LogsTokenList + plural: logstokens + singular: logstoken + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + 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: LogsToken is the Schema for the LogsTokens 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: LogsTokenSpec defines the desired state of LogsToken + 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 ManagementPolicies + field in a future release. Currently, both could be set independently and + non-default values would be honored if the feature flag is enabled. + See 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: + clusterId: + description: Cluster ID + type: string + name: + description: Token name + type: string + serviceName: + description: Service name + type: string + type: object + initProvider: + description: |- + THIS IS A BETA FIELD. It will be honored + unless the Management Policies feature flag is disabled. + InitProvider holds the same fields as ForProvider, with the exception + of Identifier and other resource reference fields. The fields that are + in InitProvider are merged into ForProvider when the resource is created. + The same fields are also added to the terraform ignore_changes hook, to + avoid updating them after creation. This is useful for fields that are + required on creation, but we do not desire to update them after creation, + for example because of an external controller is managing them, like an + autoscaler. + properties: + clusterId: + description: Cluster ID + type: string + name: + description: Token name + type: string + serviceName: + description: Service name + type: string + type: object + managementPolicies: + default: + - '*' + description: |- + THIS IS A BETA FIELD. It is on by default but can be opted out + through a Crossplane feature flag. + ManagementPolicies specify the array of actions Crossplane is allowed to + take on the managed and external resources. + This field is planned to replace the DeletionPolicy field in a future + release. Currently, both could be set independently and non-default + values would be honored if the feature flag is enabled. If both are + custom, the DeletionPolicy field will be ignored. + See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md + items: + description: |- + A ManagementAction represents an action that the Crossplane controllers + can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + 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 + 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: spec.forProvider.name is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.name) + || (has(self.initProvider) && has(self.initProvider.name))' + - message: spec.forProvider.serviceName is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.serviceName) + || (has(self.initProvider) && has(self.initProvider.serviceName))' + status: + description: LogsTokenStatus defines the observed state of LogsToken. + properties: + atProvider: + properties: + clusterId: + description: Cluster ID + type: string + createdAt: + description: Token creation + type: string + id: + type: string + name: + description: Token name + type: string + serviceName: + description: Service name + type: string + tokenId: + description: Token used + type: string + updatedAt: + description: Token last update + 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 + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: |- + Type of this condition. At most one of each condition type may apply to + a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/package/crds/me.ovh.edixos.io_groups.yaml b/package/crds/me.ovh.edixos.io_groups.yaml index eb8ba0b..06e69b5 100644 --- a/package/crds/me.ovh.edixos.io_groups.yaml +++ b/package/crds/me.ovh.edixos.io_groups.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Group listKind: GroupList plural: groups @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -309,6 +309,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -332,6 +339,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/me.ovh.edixos.io_oauth2clients.yaml b/package/crds/me.ovh.edixos.io_oauth2clients.yaml index 3483915..44a3ac0 100644 --- a/package/crds/me.ovh.edixos.io_oauth2clients.yaml +++ b/package/crds/me.ovh.edixos.io_oauth2clients.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Oauth2Client listKind: Oauth2ClientList plural: oauth2clients @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -344,6 +344,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -367,6 +374,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/me.ovh.edixos.io_users.yaml b/package/crds/me.ovh.edixos.io_users.yaml index 7ae6438..bc538f1 100644 --- a/package/crds/me.ovh.edixos.io_users.yaml +++ b/package/crds/me.ovh.edixos.io_users.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: User listKind: UserList plural: users @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -275,6 +275,25 @@ spec: login: description: User's login suffix type: string + passwordSecretRef: + description: User's password + 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 + required: + - passwordSecretRef type: object managementPolicies: default: @@ -505,6 +524,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -528,6 +554,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/nas.ovh.edixos.io_nashapartitionaccesses.yaml b/package/crds/nas.ovh.edixos.io_nashapartitionaccesses.yaml index 96644d7..b129cb0 100644 --- a/package/crds/nas.ovh.edixos.io_nashapartitionaccesses.yaml +++ b/package/crds/nas.ovh.edixos.io_nashapartitionaccesses.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: NashaPartitionAccess listKind: NashaPartitionAccessList plural: nashapartitionaccesses @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -73,6 +73,9 @@ spec: type: string forProvider: properties: + aclDescription: + description: A brief description of the ACL + type: string ip: type: string partitionName: @@ -95,6 +98,9 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + aclDescription: + description: A brief description of the ACL + type: string ip: type: string partitionName: @@ -290,6 +296,9 @@ spec: properties: atProvider: properties: + aclDescription: + description: A brief description of the ACL + type: string id: type: string ip: @@ -317,6 +326,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -340,6 +356,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/nas.ovh.edixos.io_nashapartitions.yaml b/package/crds/nas.ovh.edixos.io_nashapartitions.yaml index 82faf77..71e71ac 100644 --- a/package/crds/nas.ovh.edixos.io_nashapartitions.yaml +++ b/package/crds/nas.ovh.edixos.io_nashapartitions.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: NashaPartition listKind: NashaPartitionList plural: nashapartitions @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -330,6 +330,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -353,6 +360,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/nas.ovh.edixos.io_nashapartitionsnapshots.yaml b/package/crds/nas.ovh.edixos.io_nashapartitionsnapshots.yaml index bfee327..2dfbfee 100644 --- a/package/crds/nas.ovh.edixos.io_nashapartitionsnapshots.yaml +++ b/package/crds/nas.ovh.edixos.io_nashapartitionsnapshots.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: NashaPartitionSnapshot listKind: NashaPartitionSnapshotList plural: nashapartitionsnapshots @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -311,6 +311,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -334,6 +341,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/network.ovh.edixos.io_privatenetworks.yaml b/package/crds/network.ovh.edixos.io_privatenetworks.yaml index 394f2e3..91cc017 100644 --- a/package/crds/network.ovh.edixos.io_privatenetworks.yaml +++ b/package/crds/network.ovh.edixos.io_privatenetworks.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: PrivateNetwork listKind: PrivateNetworkList plural: privatenetworks @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -351,6 +351,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -374,6 +381,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/network.ovh.edixos.io_subnets.yaml b/package/crds/network.ovh.edixos.io_subnets.yaml index bfc32a5..3a4b5ac 100644 --- a/package/crds/network.ovh.edixos.io_subnets.yaml +++ b/package/crds/network.ovh.edixos.io_subnets.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Subnet listKind: SubnetList plural: subnets @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -524,6 +524,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -547,6 +554,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/ovh.edixos.io_providerconfigs.yaml b/package/crds/ovh.edixos.io_providerconfigs.yaml index 00f5ed9..6d5d5f4 100644 --- a/package/crds/ovh.edixos.io_providerconfigs.yaml +++ b/package/crds/ovh.edixos.io_providerconfigs.yaml @@ -129,6 +129,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. diff --git a/package/crds/ovh.edixos.io_storeconfigs.yaml b/package/crds/ovh.edixos.io_storeconfigs.yaml index f99210f..fbe7c8a 100644 --- a/package/crds/ovh.edixos.io_storeconfigs.yaml +++ b/package/crds/ovh.edixos.io_storeconfigs.yaml @@ -183,6 +183,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. diff --git a/package/crds/privatesql.ovh.edixos.io_privatedatabasedatabases.yaml b/package/crds/privatesql.ovh.edixos.io_privatedatabasedatabases.yaml index 82e107a..139b150 100644 --- a/package/crds/privatesql.ovh.edixos.io_privatedatabasedatabases.yaml +++ b/package/crds/privatesql.ovh.edixos.io_privatedatabasedatabases.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: PrivatedatabaseDatabase listKind: PrivatedatabaseDatabaseList plural: privatedatabasedatabases @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -308,6 +308,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -331,6 +338,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/privatesql.ovh.edixos.io_privatedatabases.yaml b/package/crds/privatesql.ovh.edixos.io_privatedatabases.yaml index 3dcf57d..f138c6c 100644 --- a/package/crds/privatesql.ovh.edixos.io_privatedatabases.yaml +++ b/package/crds/privatesql.ovh.edixos.io_privatedatabases.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Privatedatabase listKind: PrivatedatabaseList plural: privatedatabases @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -77,6 +77,11 @@ spec: description: Name displayed in customer panel for your private database type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -165,6 +170,11 @@ spec: description: Name displayed in customer panel for your private database type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -446,8 +456,10 @@ spec: items: properties: date: + description: date type: string details: + description: Information about a Bill entry items: properties: description: @@ -461,8 +473,10 @@ spec: type: object type: array expirationDate: + description: expiration date type: string orderId: + description: order id type: number type: object type: array @@ -588,6 +602,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -611,6 +632,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/privatesql.ovh.edixos.io_privatedatabaseusergrants.yaml b/package/crds/privatesql.ovh.edixos.io_privatedatabaseusergrants.yaml index d97c847..5b75a01 100644 --- a/package/crds/privatesql.ovh.edixos.io_privatedatabaseusergrants.yaml +++ b/package/crds/privatesql.ovh.edixos.io_privatedatabaseusergrants.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: PrivatedatabaseUserGrant listKind: PrivatedatabaseUserGrantList plural: privatedatabaseusergrants @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -334,6 +334,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -357,6 +364,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/privatesql.ovh.edixos.io_privatedatabaseusers.yaml b/package/crds/privatesql.ovh.edixos.io_privatedatabaseusers.yaml index b0276c9..7208a39 100644 --- a/package/crds/privatesql.ovh.edixos.io_privatedatabaseusers.yaml +++ b/package/crds/privatesql.ovh.edixos.io_privatedatabaseusers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: PrivatedatabaseUser listKind: PrivatedatabaseUserList plural: privatedatabaseusers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -111,12 +111,32 @@ spec: for example because of an external controller is managing them, like an autoscaler. properties: + passwordSecretRef: + description: Password for the new user ( alphanumeric and 8 characters + minimum ) + 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 serviceName: description: The internal name of your private database type: string userName: description: User name used to connect on your databases type: string + required: + - passwordSecretRef type: object managementPolicies: default: @@ -327,6 +347,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -350,6 +377,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/privatesql.ovh.edixos.io_privatedatabasewhitelists.yaml b/package/crds/privatesql.ovh.edixos.io_privatedatabasewhitelists.yaml index 867a029..e137009 100644 --- a/package/crds/privatesql.ovh.edixos.io_privatedatabasewhitelists.yaml +++ b/package/crds/privatesql.ovh.edixos.io_privatedatabasewhitelists.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: PrivatedatabaseWhitelist listKind: PrivatedatabaseWhitelistList plural: privatedatabasewhitelists @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -347,6 +347,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -370,6 +377,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/registry.ovh.edixos.io_containerregistries.yaml b/package/crds/registry.ovh.edixos.io_containerregistries.yaml index 886c4d1..f5d96b9 100644 --- a/package/crds/registry.ovh.edixos.io_containerregistries.yaml +++ b/package/crds/registry.ovh.edixos.io_containerregistries.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ContainerRegistry listKind: ContainerRegistryList plural: containerregistries @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -378,6 +378,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -401,6 +408,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsmanagements.yaml b/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsmanagements.yaml index 4394678..253a30a 100644 --- a/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsmanagements.yaml +++ b/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsmanagements.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ContainerRegistryIPRestrictionsManagement listKind: ContainerRegistryIPRestrictionsManagementList plural: containerregistryiprestrictionsmanagements @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -484,6 +484,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -507,6 +514,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsregistries.yaml b/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsregistries.yaml index 1dc7cef..d25993d 100644 --- a/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsregistries.yaml +++ b/package/crds/registry.ovh.edixos.io_containerregistryiprestrictionsregistries.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ContainerRegistryIPRestrictionsRegistry listKind: ContainerRegistryIPRestrictionsRegistryList plural: containerregistryiprestrictionsregistries @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -484,6 +484,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -507,6 +514,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/registry.ovh.edixos.io_containerregistryoidcs.yaml b/package/crds/registry.ovh.edixos.io_containerregistryoidcs.yaml index 5a2ee00..91741eb 100644 --- a/package/crds/registry.ovh.edixos.io_containerregistryoidcs.yaml +++ b/package/crds/registry.ovh.edixos.io_containerregistryoidcs.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ContainerRegistryOIDC listKind: ContainerRegistryOIDCList plural: containerregistryoidcs @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -213,6 +213,24 @@ spec: type: boolean oidcClientId: type: string + oidcClientSecretSecretRef: + 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 oidcEndpoint: type: string oidcGroupsClaim: @@ -305,6 +323,8 @@ spec: type: object serviceName: type: string + required: + - oidcClientSecretSecretRef type: object managementPolicies: default: @@ -546,6 +566,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -569,6 +596,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/registry.ovh.edixos.io_containerregistryusers.yaml b/package/crds/registry.ovh.edixos.io_containerregistryusers.yaml index b1e0009..ea70e62 100644 --- a/package/crds/registry.ovh.edixos.io_containerregistryusers.yaml +++ b/package/crds/registry.ovh.edixos.io_containerregistryusers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ContainerRegistryUser listKind: ContainerRegistryUserList plural: containerregistryusers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -484,6 +484,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -507,6 +514,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/storage.ovh.edixos.io_projectregionstoragepresigns.yaml b/package/crds/storage.ovh.edixos.io_projectregionstoragepresigns.yaml index 0e3e1c5..38b9676 100644 --- a/package/crds/storage.ovh.edixos.io_projectregionstoragepresigns.yaml +++ b/package/crds/storage.ovh.edixos.io_projectregionstoragepresigns.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectRegionStoragePresign listKind: ProjectRegionStoragePresignList plural: projectregionstoragepresigns @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -363,6 +363,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -386,6 +393,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vminstances.ovh.edixos.io_projectworkflowbackups.yaml b/package/crds/vminstances.ovh.edixos.io_projectworkflowbackups.yaml index 3aab4e3..ed29a26 100644 --- a/package/crds/vminstances.ovh.edixos.io_projectworkflowbackups.yaml +++ b/package/crds/vminstances.ovh.edixos.io_projectworkflowbackups.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: ProjectWorkflowBackup listKind: ProjectWorkflowBackupList plural: projectworkflowbackups @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -348,6 +348,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -371,6 +378,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_cloudprojects.yaml b/package/crds/vrack.ovh.edixos.io_cloudprojects.yaml index 6fb9ec0..427b889 100644 --- a/package/crds/vrack.ovh.edixos.io_cloudprojects.yaml +++ b/package/crds/vrack.ovh.edixos.io_cloudprojects.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Cloudproject listKind: CloudprojectList plural: cloudprojects @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -298,6 +298,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -321,6 +328,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_dedicatedserverinterfaces.yaml b/package/crds/vrack.ovh.edixos.io_dedicatedserverinterfaces.yaml index 37401fd..1ba84ac 100644 --- a/package/crds/vrack.ovh.edixos.io_dedicatedserverinterfaces.yaml +++ b/package/crds/vrack.ovh.edixos.io_dedicatedserverinterfaces.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: DedicatedServerInterface listKind: DedicatedServerInterfaceList plural: dedicatedserverinterfaces @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -305,6 +305,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -328,6 +335,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_dedicatedservers.yaml b/package/crds/vrack.ovh.edixos.io_dedicatedservers.yaml index ac40439..88f6f56 100644 --- a/package/crds/vrack.ovh.edixos.io_dedicatedservers.yaml +++ b/package/crds/vrack.ovh.edixos.io_dedicatedservers.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: DedicatedServer listKind: DedicatedServerList plural: dedicatedservers @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -306,6 +306,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -329,6 +336,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_iploadbalancings.yaml b/package/crds/vrack.ovh.edixos.io_iploadbalancings.yaml index 127d2b3..40d1cf0 100644 --- a/package/crds/vrack.ovh.edixos.io_iploadbalancings.yaml +++ b/package/crds/vrack.ovh.edixos.io_iploadbalancings.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Iploadbalancing listKind: IploadbalancingList plural: iploadbalancings @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -306,6 +306,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -329,6 +336,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_ips.yaml b/package/crds/vrack.ovh.edixos.io_ips.yaml index 5edde3d..4f17766 100644 --- a/package/crds/vrack.ovh.edixos.io_ips.yaml +++ b/package/crds/vrack.ovh.edixos.io_ips.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: IP listKind: IPList plural: ips @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -314,6 +314,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -337,6 +344,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec diff --git a/package/crds/vrack.ovh.edixos.io_vracks.yaml b/package/crds/vrack.ovh.edixos.io_vracks.yaml index 4a96196..c9be225 100644 --- a/package/crds/vrack.ovh.edixos.io_vracks.yaml +++ b/package/crds/vrack.ovh.edixos.io_vracks.yaml @@ -11,7 +11,7 @@ spec: categories: - crossplane - managed - - ovh + - lb kind: Vrack listKind: VrackList plural: vracks @@ -19,12 +19,12 @@ spec: 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: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string - jsonPath: .metadata.annotations.crossplane\.io/external-name name: EXTERNAL-NAME type: string @@ -78,6 +78,11 @@ spec: name: description: yourvrackname type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -166,6 +171,11 @@ spec: name: description: yourvrackname type: string + order: + description: Details about an Order + items: + type: object + type: array ovhSubsidiary: description: Ovh Subsidiary type: string @@ -429,8 +439,10 @@ spec: items: properties: date: + description: date type: string details: + description: Information about a Bill entry items: properties: description: @@ -444,8 +456,10 @@ spec: type: object type: array expirationDate: + description: expiration date type: string orderId: + description: order id type: number type: object type: array @@ -539,6 +553,13 @@ spec: A Message containing details about this condition's last transition from one status to another, if any. type: string + observedGeneration: + description: |- + ObservedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer reason: description: A Reason for this condition's last transition from one status to another. @@ -562,6 +583,13 @@ spec: x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map + observedGeneration: + description: |- + ObservedGeneration is the latest metadata.generation + which resulted in either a ready state, or stalled due to error + it can not recover from without human intervention. + format: int64 + type: integer type: object required: - spec