provider "stackitprivatepreview" { default_region = "{{ .Region }}" service_account_key_path = "{{ .ServiceAccountFilePath }}" } resource "stackitprivatepreview_sqlserverflexalpha_instance" "{{ .TfName }}" { project_id = "{{ .ProjectId }}" name = "{{ .Name }}" backup_schedule = "{{ .BackupSchedule }}" retention_days = {{ .RetentionDays }} flavor_id = "{{ .FlavorId }}" storage = { class = "{{ .PerformanceClass }}" size = {{ .Size }} } {{ if .UseEncryption }} encryption = { kek_key_id = "{{ .KekKeyId }}" kek_key_ring_id = "{{ .KekKeyRingId }}" kek_key_version = {{ .KekKeyVersion }} service_account = "{{ .KekServiceAccount }}" } {{ end }} network = { acl = ["{{ .AclString }}"] access_scope = "{{ .AccessScope }}" } version = "{{ .Version }}" } {{ if .Users }} {{ $tfName := .TfName }} {{ range $user := .Users }} resource "stackitprivatepreview_sqlserverflexalpha_user" "{{ $user.Name }}" { project_id = "{{ $user.ProjectId }}" instance_id = stackitprivatepreview_sqlserverflexalpha_instance.{{ $tfName }}.instance_id username = "{{ $user.Name }}" roles = [{{ range $i, $v := $user.Roles }}{{if $i}},{{end}}"{{$v}}"{{end}}] } {{ end }} {{ end }} {{ if .Databases }} {{ $tfName := .TfName }} {{ range $db := .Databases }} resource "stackitprivatepreview_sqlserverflexalpha_database" "{{ $db.Name }}" { depends_on = [stackitprivatepreview_sqlserverflexalpha_user.{{ $db.Owner }}] project_id = "{{ $db.ProjectId }}" instance_id = stackitprivatepreview_sqlserverflexalpha_instance.{{ $tfName }}.instance_id name = "{{ $db.Name }}" owner = "{{ $db.Owner }}" {{ if $db.Collation }} collation = "{{ $db.Collation }}" {{ end }} {{ if $db.Compatibility }} compatibility = "{{ $db.Compatibility }}" {{ end }} } {{ end }} {{ end }}