Dengan Terraform OCI Provider 4.90.0 (dirilis 24 Agustus 2022), kami telah menambahkan kemampuan untuk menentukan nilai variabel konfigurasi yang dapat diedit langsung dari Terraform.
Variabel-variabel ini harus didefinisikan dalam tipe resource oci_mysql_mysql_configuration
seperti ini:
resource "oci_mysql_mysql_configuration" "mds_mysql_configuration" {
#Required
compartment_id = var.compartment_ocid
shape_name = var.mysql_shape
#Optional
description = "MDS configuration created by terraform"
display_name = "MDS terraform configuration"
parent_configuration_id = data.oci_mysql_mysql_configurations.mds_mysql_configurations.configurations[0].id
variables {
#Optional
max_connections = "501"
binlog_expire_logs_seconds = "7200"
}
}
Dari kode di atas, kita dapat melihat bahwa kita telah mengubah nilai dua variabel: max_connections
Dan binlog_expire_logs_seconds
.
Kami juga dapat melihat bahwa ID konfigurasi induk harus disediakan. Konfigurasi adalah tipe data induk. Ini adalah bagaimana Anda dapat menentukan konfigurasi induk:
data "oci_mysql_mysql_configurations" "mds_mysql_configurations" {
compartment_id = var.compartment_ocid
#Optional
state = "ACTIVE"
shape_name = var.mysql_shape
}
Dan terakhir, sumber daya konfigurasi MySQL yang dibuat harus diterapkan ke sumber daya instance MySQL yang ingin kita gunakan (baris 6 dalam kode di bawah):
resource "oci_mysql_mysql_db_system" "MDSinstance" {
admin_password = var.admin_password
admin_username = var.admin_username
availability_domain = var.availability_domain
compartment_id = var.compartment_ocid
configuration_id = oci_mysql_mysql_configuration.mds_mysql_configuration.id
shape_name = var.mysql_shape
subnet_id = var.subnet_id
data_storage_size_in_gb = var.mysql_data_storage_in_gb
display_name = var.display_name
count = var.existing_mds_instance_id == "" ? 1 : 0
is_highly_available = var.deploy_ha
}
Setelah lingkungan Terraform diterapkan, di konsol OCI kita dapat melihat bahwa sistem MySQL DB menggunakan konfigurasi baru yang kita buat:
Jika kami memverifikasi nilai variabel dalam konfigurasi ini, kami dapat melihat bahwa itu berisi nilai default untuk semua kecuali dua variabel yang kami definisikan dalam file Terraform kami:
Banyak orang telah meminta fitur ini dan sekarang tersedia!
Jangan lupa bahwa tidak semua variabel dapat diubah di MySQL HeatWave Database Service. Hanya yang disebut Variabel Pengguna yang dapat diubah. Anda dapat menemukan daftar variabel pengguna tersebut di halaman ini.
Contoh lengkap penerapan layanan database MySQL ke OCI tersedia di repositori GitHub ini.
Jangan lupa bahwa jika Anda ingin terhubung ke instans DB MySQL Anda sebagai pengembang, cara termudah adalah dengan menggunakan Shell MySQL untuk Kode Visual Studio:
Seperti biasa, nikmati MySQL dan selamat menerapkan OCI dengan Terraform!