feat: initial copy of v0.1.0
All checks were successful
Publish / Check GoReleaser config (push) Successful in 5s
Publish / Publish provider (push) Successful in 16m14s

This commit is contained in:
Marcel S. Henselin 2026-03-13 09:03:49 +01:00
parent 4cc801a7f3
commit 7d4cbb6b08
538 changed files with 63361 additions and 55213 deletions

View file

@ -0,0 +1,60 @@
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 }}

View file

@ -1,53 +0,0 @@
# Copyright (c) STACKIT
variable "project_id" {}
variable "name" {}
variable "acl1" {}
variable "flavor_cpu" {}
variable "flavor_ram" {}
variable "storage_class" {}
variable "storage_size" {}
variable "options_retention_days" {}
variable "backup_schedule" {}
variable "username" {}
variable "role" {}
variable "server_version" {}
variable "region" {}
resource "stackit_sqlserverflex_instance" "instance" {
project_id = var.project_id
name = var.name
acl = [var.acl1]
flavor = {
cpu = var.flavor_cpu
ram = var.flavor_ram
}
storage = {
class = var.storage_class
size = var.storage_size
}
version = var.server_version
options = {
retention_days = var.options_retention_days
}
backup_schedule = var.backup_schedule
region = var.region
}
resource "stackit_sqlserverflex_user" "user" {
project_id = stackit_sqlserverflex_instance.instance.project_id
instance_id = stackit_sqlserverflex_instance.instance.instance_id
username = var.username
roles = [var.role]
}
data "stackit_sqlserverflex_instance" "instance" {
project_id = var.project_id
instance_id = stackit_sqlserverflex_instance.instance.instance_id
}
data "stackit_sqlserverflex_user" "user" {
project_id = var.project_id
instance_id = stackit_sqlserverflex_instance.instance.instance_id
user_id = stackit_sqlserverflex_user.user.user_id
}

View file

@ -1,35 +0,0 @@
# Copyright (c) STACKIT
variable "project_id" {}
variable "name" {}
variable "flavor_cpu" {}
variable "flavor_ram" {}
variable "username" {}
variable "role" {}
resource "stackit_sqlserverflex_instance" "instance" {
project_id = var.project_id
name = var.name
flavor = {
cpu = var.flavor_cpu
ram = var.flavor_ram
}
}
resource "stackit_sqlserverflex_user" "user" {
project_id = stackit_sqlserverflex_instance.instance.project_id
instance_id = stackit_sqlserverflex_instance.instance.instance_id
username = var.username
roles = [var.role]
}
data "stackit_sqlserverflex_instance" "instance" {
project_id = var.project_id
instance_id = stackit_sqlserverflex_instance.instance.instance_id
}
data "stackit_sqlserverflex_user" "user" {
project_id = var.project_id
instance_id = stackit_sqlserverflex_instance.instance.instance_id
user_id = stackit_sqlserverflex_user.user.user_id
}