OVHcloud Terraform-Provider
OVHcloud Terraform-Provider
Der offizielle Terraform/OpenTofu-Provider zum Verwalten Ihrer OVHcloud Ressourcen „as Code“. Versionieren Sie Ihre Infrastruktur, nehmen Sie sie in Ihre CI/CD-Pipelines auf und sorgen Sie für zuverlässige Bereitstellungen.
Vorteile und Nutzen
Terraform/OpenTofu ist ein Infrastructure-as-Code-Tool, mit dem Sie den gewünschten Zustand Ihrer Infrastruktur in Dateien beschreiben können. Der OVHcloud Provider verbindet Terraform mit den OVHcloud APIs, um Ihre Ressourcen automatisch zu erstellen, zu ändern und zu löschen.
Deklarative Ressourcenverwaltung
Beschreiben Sie Ihre Public-Cloud-Projekte, Instanzen, Netzwerke, Datenbanken, Domains und Loadbalancer in Terraform-Dateien. Die Lösung berechnet die Abweichungen zwischen dem Ist- und dem Soll-Zustand und wendet sie an.
CI/CD-Integration und Zusammenarbeit
Versionieren Sie Ihre Terraform-/OpenTofu-Dateien in Git, überprüfen Sie die Ausführungspläne im Rahmen des Code-Review und führen Sie die Bereitstellung über Ihre CI/CD-Pipelines durch. Ihre OVHcloud Umgebungen werden dadurch reproduzierbar, überprüfbar und auditierbar.
Anpassung an das Terraform-Ökosystem
Der OVHcloud Provider lässt sich nahtlos in andere Terraform-Provider integrieren. Sie können Ihre Multi-Cloud- oder Hybrid-Stacks zusammenstellen und dabei dieselben Workflows und Tools verwenden.
Die Besonderheiten
Ein von OVHcloud betreuter Provider, der schrittweise das gesamte Portfolio an Diensten abdecken soll.
Abdeckung der Dienste von OVHcloud
Der Provider soll eine breite Abdeckung der OVHcloud APIs bieten: Public Cloud (Projekte, Instanzen, Netzwerke, Storage, Kubernetes), Domainnamen und DNS, vRack, Loadbalancer, Sicherheit, KMS und vieles mehr.
Kontinuierliche Weiterentwicklung
Der Provider wird aktiv gepflegt und regelmäßig in der Terraform-Registry aktualisiert. Die neuen Funktionen von OVHcloud werden nach und nach über neue Ressourcen und Optionen im Provider bereitgestellt.
Abbildung Dienste/Ressourcen/Datenquellen
Zunehmende Abdeckung der OVHcloud Produkte mit dedizierten Befehlen.
„Ja“ = vollständige Abdeckung, „Teilweise“ = Abdeckung wird derzeit erweitert.
Der Terraform-Provider lässt sich in wenigen Sekunden installieren und wird von OVHcloud gepflegt, um schrittweise das gesamte Portfolio an Diensten abzudecken.
| Kategorie | resource "ovh_* | data "ovh_*" | Abdeckung |
| Public Cloud: Projekt, User, Region, Warnungen, regionales Netzwerk, Pre-Signature | ovh_cloud_project, ovh_cloud_project_alerting, ovh_cloud_project_region, ovh_cloud_project_region_network, ovh_cloud_project_region_storage_presign, ovh_cloud_project_user, ovh_cloud_project_user_s3_credential, ovh_cloud_project_user_s3_policy | ovh_cloud_project, ovh_cloud_project_region, ovh_cloud_project_regions, ovh_cloud_project_user, ovh_cloud_project_user_s3_credential, ovh_cloud_project_user_s3_credentials, ovh_cloud_project_user_s3_policy, ovh_cloud_project_users, ovh_cloud_projects | Ja |
| Public Cloud: Compute (Instanz, Volume, Snapshot, SSH, Failover-IP) | ovh_cloud_project_failover_ip_attach, ovh_cloud_project_instance, ovh_cloud_project_instance_snapshot, ovh_cloud_project_ssh_key, ovh_cloud_project_volume, ovh_cloud_project_volume_backup | ovh_cloud_project_failover_ip_attach, ovh_cloud_project_flavor, ovh_cloud_project_flavors, ovh_cloud_project_floatingips, ovh_cloud_project_image, ovh_cloud_project_images, ovh_cloud_project_instance, ovh_cloud_project_instances, ovh_cloud_project_ssh_key, ovh_cloud_project_ssh_keys, ovh_cloud_project_volume, ovh_cloud_project_volumes | Ja |
| Public Cloud: Netzwerk (Loadbalancer, Gateway, privates Netzwerk, Subnetze, LB-Protokolle, vRack Projekt) | ovh_cloud_project_gateway, ovh_cloud_project_gateway_interface, ovh_cloud_project_loadbalancer, ovh_cloud_project_network_private, ovh_cloud_project_network_private_subnet, ovh_cloud_project_network_private_subnet_v2, ovh_cloud_project_region_loadbalancer_log_subscription | ovh_cloud_project_gateway, ovh_cloud_project_gateway_interface, ovh_cloud_project_loadbalancer, ovh_cloud_project_loadbalancer_flavors, ovh_cloud_project_loadbalancers, ovh_cloud_project_network_private, ovh_cloud_project_network_private_subnets, ovh_cloud_project_network_privates, ovh_cloud_project_region_loadbalancer_log_subscription, ovh_cloud_project_region_loadbalancer_log_subscriptions, ovh_cloud_project_vrack | Ja |
| Public Cloud: Container (Kubernetes, Rancher, Container Registry) | ovh_cloud_project_containerregistry, ovh_cloud_project_containerregistry_iam, ovh_cloud_project_containerregistry_ip_restrictions_management, ovh_cloud_project_containerregistry_ip_restrictions_registry, ovh_cloud_project_containerregistry_oidc, ovh_cloud_project_containerregistry_user, ovh_cloud_project_kube, ovh_cloud_project_kube_iprestrictions, ovh_cloud_project_kube_nodepool, ovh_cloud_project_kube_oidc, ovh_cloud_project_rancher | ovh_cloud_project_capabilities_containerregistry, ovh_cloud_project_capabilities_containerregistry_filter, ovh_cloud_project_containerregistries, ovh_cloud_project_containerregistry, ovh_cloud_project_containerregistry_ip_restrictions_management, ovh_cloud_project_containerregistry_ip_restrictions_registry, ovh_cloud_project_containerregistry_oidc, ovh_cloud_project_containerregistry_users, ovh_cloud_project_kube, ovh_cloud_project_kube_iprestrictions, ovh_cloud_project_kube_nodepool, ovh_cloud_project_kube_nodepool_nodes, ovh_cloud_project_kube_nodes, ovh_cloud_project_kube_oidc, ovh_cloud_project_rancher, ovh_cloud_project_rancher_capabilities_plan, ovh_cloud_project_rancher_capabilities_version, ovh_cloud_project_rancher_plan, ovh_cloud_project_rancher_version | Ja |
| Public Cloud: Cloud Databases | ovh_cloud_project_database, ovh_cloud_project_database_clickhouse_user, ovh_cloud_project_database_database, ovh_cloud_project_database_integration, ovh_cloud_project_database_ip_restriction, ovh_cloud_project_database_kafka_acl, ovh_cloud_project_database_kafka_schemaregistryacl, ovh_cloud_project_database_kafka_topic, ovh_cloud_project_database_log_subscription, ovh_cloud_project_database_m3db_namespace, ovh_cloud_project_database_m3db_user, ovh_cloud_project_database_mongodb_prometheus, ovh_cloud_project_database_mongodb_user, ovh_cloud_project_database_opensearch_pattern, ovh_cloud_project_database_opensearch_user, ovh_cloud_project_database_postgresql_connection_pool, ovh_cloud_project_database_postgresql_user, ovh_cloud_project_database_prometheus, ovh_cloud_project_database_redis_user, ovh_cloud_project_database_user, ovh_cloud_project_database_valkey_user | ovh_cloud_project_database, ovh_cloud_project_database_capabilities, ovh_cloud_project_database_certificates, ovh_cloud_project_database_clickhouse_user, ovh_cloud_project_database_database, ovh_cloud_project_database_databases, ovh_cloud_project_database_integration, ovh_cloud_project_database_integrations, ovh_cloud_project_database_ip_restrictions, ovh_cloud_project_database_kafka_acl, ovh_cloud_project_database_kafka_acls, ovh_cloud_project_database_kafka_schemaregistryacl, ovh_cloud_project_database_kafka_schemaregistryacls, ovh_cloud_project_database_kafka_topic, ovh_cloud_project_database_kafka_topics, ovh_cloud_project_database_kafka_user_access, ovh_cloud_project_database_log_subscription, ovh_cloud_project_database_log_subscriptions, ovh_cloud_project_database_m3db_namespace, ovh_cloud_project_database_m3db_namespaces, ovh_cloud_project_database_m3db_user, ovh_cloud_project_database_mongodb_prometheus, ovh_cloud_project_database_mongodb_user, ovh_cloud_project_database_opensearch_pattern, ovh_cloud_project_database_opensearch_patterns, ovh_cloud_project_database_opensearch_user, ovh_cloud_project_database_postgresql_connection_pool, ovh_cloud_project_database_postgresql_connection_pools, ovh_cloud_project_database_postgresql_user, ovh_cloud_project_database_prometheus, ovh_cloud_project_database_redis_user, ovh_cloud_project_database_user, ovh_cloud_project_database_users, ovh_cloud_project_database_valkey_user, ovh_cloud_project_databases | Ja |
| Public Cloud: Object Storage und Lebenszyklus | ovh_cloud_project_file_storage_share, ovh_cloud_project_storage, ovh_cloud_project_storage_object_bucket_lifecycle_configuration, ovh_cloud_project_storage_replication_job | ovh_cloud_project_storage, ovh_cloud_project_storage_object, ovh_cloud_project_storage_object_bucket_lifecycle_configuration, ovh_cloud_project_storage_objects, ovh_cloud_project_storages | Ja |
| Public Cloud: Backup-Workflow | ovh_cloud_project_workflow_backup | — | Ja |
| Logs Data Platform | ovh_dbaas_logs_cluster, ovh_dbaas_logs_input, ovh_dbaas_logs_output_graylog_stream, ovh_dbaas_logs_output_opensearch_alias, ovh_dbaas_logs_output_opensearch_index, ovh_dbaas_logs_role, ovh_dbaas_logs_role_permission_stream, ovh_dbaas_logs_token | ovh_dbaas_logs_cluster, ovh_dbaas_logs_cluster_retention, ovh_dbaas_logs_clusters, ovh_dbaas_logs_input_engine, ovh_dbaas_logs_output_graylog_stream, ovh_dbaas_logs_output_graylog_stream_url, ovh_dbaas_logs_output_opensearch_index | Ja |
| Bare Metal: Dedicated Server, Ceph, HA-NAS, Private Cloud (Daten) | ovh_dedicated_ceph_acl, ovh_dedicated_nasha_partition, ovh_dedicated_nasha_partition_access, ovh_dedicated_nasha_partition_snapshot, ovh_dedicated_server, ovh_dedicated_server_reboot_task, ovh_dedicated_server_reinstall_task, ovh_dedicated_server_update | ovh_dedicated_ceph, ovh_dedicated_cloud, ovh_dedicated_installation_template, ovh_dedicated_installation_templates, ovh_dedicated_nasha, ovh_dedicated_nasha_partition, ovh_dedicated_server, ovh_dedicated_server_boots, ovh_dedicated_server_orderable_bandwidth, ovh_dedicated_server_orderable_bandwidth_vrack, ovh_dedicated_server_specifications_hardware, ovh_dedicated_server_specifications_network, ovh_dedicated_servers | Ja |
| Enterprise File Storage | ovh_storage_efs, ovh_storage_efs_share, ovh_storage_efs_share_acl, ovh_storage_efs_share_snapshot | ovh_storage_efs, ovh_storage_efs_share_access_path, ovh_storage_efs_share_access_paths | Ja |
| VPS | ovh_vps | ovh_vps, ovh_vpss | Ja |
| vRack und vRack Services | ovh_vrack, ovh_vrack_cloudproject, ovh_vrack_dedicated_cloud, ovh_vrack_dedicated_cloud_datacenter, ovh_vrack_dedicated_server, ovh_vrack_dedicated_server_interface, ovh_vrack_ip, ovh_vrack_iploadbalancing, ovh_vrack_ipv6, ovh_vrack_ipv6_routed_subrange, ovh_vrack_ovhcloudconnect, ovh_vrack_vrackservices, ovh_vrackservices | ovh_vracks, ovh_vrackservices, ovh_vrackservicess | Teilweise |
| IP-Adressen (Dienst, Reverse, Transfer, Firewall, Abwehr) | ovh_ip_firewall, ovh_ip_firewall_rule, ovh_ip_mitigation, ovh_ip_move, ovh_ip_reverse, ovh_ip_service | ovh_ip_firewall, ovh_ip_firewall_rule, ovh_ip_mitigation, ovh_ip_service | Teilweise |
| IP-Loadbalancer | ovh_iploadbalancing, ovh_iploadbalancing_http_farm, ovh_iploadbalancing_http_farm_server, ovh_iploadbalancing_http_frontend, ovh_iploadbalancing_http_route, ovh_iploadbalancing_http_route_rule, ovh_iploadbalancing_refresh, ovh_iploadbalancing_ssl, ovh_iploadbalancing_tcp_farm, ovh_iploadbalancing_tcp_farm_server, ovh_iploadbalancing_tcp_frontend, ovh_iploadbalancing_tcp_route, ovh_iploadbalancing_tcp_route_rule, ovh_iploadbalancing_udp_farm, ovh_iploadbalancing_udp_farm_server, ovh_iploadbalancing_udp_frontend, ovh_iploadbalancing_vrack_network | ovh_iploadbalancing, ovh_iploadbalancing_nat_ips, ovh_iploadbalancing_vrack_network, ovh_iploadbalancing_vrack_networks, ovh_iploadbalancings | Teilweise |
| OVHcloud Connect | ovh_ovhcloud_connect_pop_config, ovh_ovhcloud_connect_pop_datacenter_config, ovh_ovhcloud_connect_pop_datacenter_extra_config | ovh_ovhcloud_connect, ovh_ovhcloud_connect_config_pop_datacenter_extras, ovh_ovhcloud_connect_config_pop_datacenters, ovh_ovhcloud_connect_config_pops, ovh_ovhcloud_connect_datacenters, ovh_ovhcloud_connects | Teilweise |
| VMware Cloud Director (Daten) | — | ovh_vmware_cloud_director_backup, ovh_vmware_cloud_director_organization | Teilweise |
| IAM | ovh_iam_permissions_group, ovh_iam_policy, ovh_iam_resource_group, ovh_iam_resource_tags | ovh_iam_permissions_group, ovh_iam_permissions_groups, ovh_iam_policies, ovh_iam_policy, ovh_iam_reference_actions, ovh_iam_reference_resource_type, ovh_iam_resource_group, ovh_iam_resource_groups | Teilweise |
| Account: Identität, OAuth2-API, Zahlungsmittel (Daten) | ovh_me_api_oauth2_client, ovh_me_identity_group, ovh_me_identity_user, ovh_me_identity_user_token | ovh_me, ovh_me_api_oauth2_client, ovh_me_api_oauth2_clients, ovh_me_identity_group, ovh_me_identity_groups, ovh_me_identity_user, ovh_me_identity_users, ovh_me_paymentmean_bankaccount, ovh_me_paymentmean_creditcard | Teilweise |
| KMS | ovh_okms, ovh_okms_credential, ovh_okms_secret, ovh_okms_service_key, ovh_okms_service_key_jwk | ovh_okms_credential, ovh_okms_resource, ovh_okms_secret, ovh_okms_service_key, ovh_okms_service_key_jwk, ovh_okms_service_key_pem | Ja |
| Savings Plans | ovh_savings_plan | — | Ja |
| Domainnamen und DNS | ovh_domain_ds_records, ovh_domain_name, ovh_domain_name_servers, ovh_domain_zone, ovh_domain_zone_dnssec, ovh_domain_zone_dynhost_login, ovh_domain_zone_dynhost_record, ovh_domain_zone_import, ovh_domain_zone_record, ovh_domain_zone_redirection | ovh_domain_zone, ovh_domain_zone_dnssec, ovh_domain_zone_record, ovh_domain_zone_records | Teilweise |
| WebCloud Private SQL | ovh_hosting_privatedatabase, ovh_hosting_privatedatabase_database, ovh_hosting_privatedatabase_user, ovh_hosting_privatedatabase_user_grant, ovh_hosting_privatedatabase_whitelist | ovh_hosting_privatedatabase, ovh_hosting_privatedatabase_database, ovh_hosting_privatedatabase_user, ovh_hosting_privatedatabase_user_grant, ovh_hosting_privatedatabase_whitelist | Teilweise |
| Warenkorb/Bestellung und Standort (Daten) | — | ovh_location, ovh_order_cart, ovh_order_cart_product, ovh_order_cart_product_options, ovh_order_cart_product_options_plan, ovh_order_cart_product_plan | Teilweise |
Diese Produkte könnten Sie ebenfalls interessieren
Mit Terraform OVHcloud „as Code“ verwalten
Standardisieren Sie Ihre Bereitstellungen, sorgen Sie für Sicherheit bei Änderungen und stimmen Sie Ihre Teams anhand einer einheitlichen Beschreibung Ihrer OVHcloud Infrastruktur aufeinander ab.
Häufig gestellte Fragen
Was ist der OVHcloud Terraform-Provider?
Es handelt sich um die Terraform-Komponente, die es der Lösung ermöglicht, die OVHcloud APIs aufzurufen. Sie stellt Ressourcen und Datenquellen bereit, die Ihre OVHcloud Dienste (Public Cloud, Netzwerk, Domains usw.) abbilden, damit Sie diese wie Code verwalten können.
Welche Version von Terraform wird benötigt?
Der Provider ist mit den Terraform-Versionen ab 0.12.x kompatibel. Um die neuesten Funktionen nutzen zu können, empfehlen wir Ihnen, eine aktuelle Version von Terraform sowie die neueste Version des Providers zu verwenden, die in der Terraform-Registry veröffentlicht wurde.
Wie kann man sich bei OVHcloud authentifizieren?
Die Authentifizierung erfolgt über die OVHcloud API-Zugangsdaten (Endpunkt, Anwendungsschlüssel, Anwendungs-Secret, Verbraucherschlüssel), die als Umgebungsvariablen oder Konfigurationsdateien bereitgestellt werden. In der Readme-Datei des GitHub-Repositorys wird die Vorgehensweise zur Erstellung dieser Zugangsdaten ausführlich beschrieben.
Der Terraform-Provider ist auch mit den OVHcloud OAuth2-Anmeldedaten kompatibel.
Wo finde ich umfassende Beispiele?
Das GitHub-Repository „terraform-provider-ovh“ enthält einen Ordner examples/ mit vollständigen Konfigurationen für verschiedene OVHcloud Produkte. Die Dokumentation der Terraform-Registry enthält ebenfalls Beispiele für verschiedene Ressourcen.
Weitere Beispiele finden Sie auch unter https://github.com/ovh/public-cloud-examples.
Ist der OVHcloud Terraform-Provider mit OpenTofu kompatibel?
Ja, der OVHcloud Terraform-Provider ist mit OpenTofu kompatibel.


