OVHcloud Terraform-Provider


OVHcloud Terraform-Provider

Open Source


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.

Icons/concept/todoList Created with Sketch.

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.

Kategorieresource "ovh_*data "ovh_*" Abdeckung
Public Cloud: Projekt, User, Region, Warnungen, regionales Netzwerk, Pre-Signatureovh_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_policyovh_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_projectsJa
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_backupovh_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_volumesJa
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_subscriptionovh_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_vrackJa
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_rancherovh_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_versionJa
Public Cloud: Cloud Databasesovh_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_userovh_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_databasesJa
Public Cloud: Object Storage und Lebenszyklusovh_cloud_project_file_storage_share, ovh_cloud_project_storage, ovh_cloud_project_storage_object_bucket_lifecycle_configuration, ovh_cloud_project_storage_replication_jobovh_cloud_project_storage, ovh_cloud_project_storage_object, ovh_cloud_project_storage_object_bucket_lifecycle_configuration, ovh_cloud_project_storage_objects, ovh_cloud_project_storagesJa
Public Cloud: Backup-Workflowovh_cloud_project_workflow_backupJa
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_tokenovh_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_indexJa
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_updateovh_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_serversJa
Enterprise File Storageovh_storage_efs, ovh_storage_efs_share, ovh_storage_efs_share_acl, ovh_storage_efs_share_snapshotovh_storage_efs, ovh_storage_efs_share_access_path, ovh_storage_efs_share_access_pathsJa
VPSovh_vpsovh_vps, ovh_vpssJa
vRack und vRack Servicesovh_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_vrackservicesovh_vracks, ovh_vrackservices, ovh_vrackservicessTeilweise
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_serviceovh_ip_firewall, ovh_ip_firewall_rule, ovh_ip_mitigation, ovh_ip_serviceTeilweise
IP-Loadbalancerovh_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_networkovh_iploadbalancing, ovh_iploadbalancing_nat_ips, ovh_iploadbalancing_vrack_network, ovh_iploadbalancing_vrack_networks, ovh_iploadbalancingsTeilweise
OVHcloud Connectovh_ovhcloud_connect_pop_config, ovh_ovhcloud_connect_pop_datacenter_config, ovh_ovhcloud_connect_pop_datacenter_extra_configovh_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_connectsTeilweise
VMware Cloud Director (Daten)ovh_vmware_cloud_director_backup, ovh_vmware_cloud_director_organizationTeilweise
IAMovh_iam_permissions_group, ovh_iam_policy, ovh_iam_resource_group, ovh_iam_resource_tagsovh_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_groupsTeilweise
Account: Identität, OAuth2-API, Zahlungsmittel (Daten)ovh_me_api_oauth2_client, ovh_me_identity_group, ovh_me_identity_user, ovh_me_identity_user_tokenovh_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_creditcardTeilweise
KMSovh_okms, ovh_okms_credential, ovh_okms_secret, ovh_okms_service_key, ovh_okms_service_key_jwkovh_okms_credential, ovh_okms_resource, ovh_okms_secret, ovh_okms_service_key, ovh_okms_service_key_jwk, ovh_okms_service_key_pemJa
Savings Plansovh_savings_planJa
Domainnamen und DNSovh_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_redirectionovh_domain_zone, ovh_domain_zone_dnssec, ovh_domain_zone_record, ovh_domain_zone_recordsTeilweise
WebCloud Private SQLovh_hosting_privatedatabase, ovh_hosting_privatedatabase_database, ovh_hosting_privatedatabase_user, ovh_hosting_privatedatabase_user_grant, ovh_hosting_privatedatabase_whitelistovh_hosting_privatedatabase, ovh_hosting_privatedatabase_database, ovh_hosting_privatedatabase_user, ovh_hosting_privatedatabase_user_grant, ovh_hosting_privatedatabase_whitelistTeilweise
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_planTeilweise

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.