Compare commits
6 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
431f6eff8c | ||
|
|
a310d1454a | ||
|
|
7d4cbb6b08 | ||
|
|
4cc801a7f3 | ||
|
|
4eff763519 | ||
|
|
2733834fc9 |
20 changed files with 1826 additions and 0 deletions
38
sample/alpha-from-registry/key.tf
Normal file
38
sample/alpha-from-registry/key.tf
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
resource "stackit_kms_keyring" "mshalpha-keyring" {
|
||||
project_id = var.project_id
|
||||
display_name = "msh-alpha-tests"
|
||||
description = "This is a test keyring for private endpoints"
|
||||
}
|
||||
|
||||
resource "stackit_kms_key" "mshalpha-key01" {
|
||||
project_id = var.project_id
|
||||
keyring_id = stackit_kms_keyring.mshalpha-keyring.keyring_id
|
||||
display_name = "mshalpha-key01"
|
||||
protection = "software"
|
||||
algorithm = "aes_256_gcm"
|
||||
purpose = "symmetric_encrypt_decrypt"
|
||||
access_scope = "SNA"
|
||||
}
|
||||
|
||||
output "keyid" {
|
||||
value = stackit_kms_key.mshalpha-key01.key_id
|
||||
}
|
||||
|
||||
# (because stackit_kms_key.key001 is not in configuration)
|
||||
resource "stackit_kms_key" "key001" {
|
||||
access_scope = "SNA"
|
||||
algorithm = "aes_256_gcm"
|
||||
display_name = "msh-key-sna01"
|
||||
keyring_id = stackit_kms_keyring.keyring001.keyring_id
|
||||
project_id = var.project_id
|
||||
protection = "software"
|
||||
purpose = "symmetric_encrypt_decrypt"
|
||||
}
|
||||
|
||||
# stackit_kms_keyring.keyring001 will be destroyed
|
||||
# (because stackit_kms_keyring.keyring001 is not in configuration)
|
||||
resource "stackit_kms_keyring" "keyring001" {
|
||||
description = "This is a test keyring for private endpoints"
|
||||
display_name = "msh-keyring-sna01"
|
||||
project_id = var.project_id
|
||||
}
|
||||
96
sample/alpha-from-registry/postresql.tf
Normal file
96
sample/alpha-from-registry/postresql.tf
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
|
||||
data "stackitprivatepreview_postgresflexalpha_flavor" "pgsql_flavor" {
|
||||
project_id = var.project_id
|
||||
region = "eu01"
|
||||
cpu = 2
|
||||
ram = 4
|
||||
node_type = "Single"
|
||||
storage_class = "premium-perf2-stackit"
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_postgresflexalpha_instance" "msh-alpha-sna-enc" {
|
||||
project_id = var.project_id
|
||||
name = "msh-alpha-sna-enc"
|
||||
backup_schedule = "0 0 * * *"
|
||||
retention_days = 45
|
||||
flavor_id = data.stackitprivatepreview_postgresflexalpha_flavor.pgsql_flavor.flavor_id
|
||||
replicas = 1
|
||||
storage = {
|
||||
performance_class = "premium-perf2-stackit"
|
||||
size = 10
|
||||
}
|
||||
encryption = {
|
||||
kek_key_id = stackit_kms_key.mshalpha-key01.key_id
|
||||
kek_key_ring_id = stackit_kms_keyring.mshalpha-keyring.keyring_id
|
||||
kek_key_version = 1
|
||||
service_account = var.sa_email
|
||||
}
|
||||
network = {
|
||||
acl = ["0.0.0.0/0", "193.148.160.0/19", "170.85.2.177/32"]
|
||||
access_scope = "SNA"
|
||||
}
|
||||
version = 17
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_postgresflexalpha_instance" "msh-alpha-nosna-noenc" {
|
||||
project_id = var.project_id
|
||||
name = "msh-alpha-nosna-enc"
|
||||
backup_schedule = "0 0 * * *"
|
||||
retention_days = 45
|
||||
flavor_id = data.stackitprivatepreview_postgresflexalpha_flavor.pgsql_flavor.flavor_id
|
||||
replicas = 1
|
||||
storage = {
|
||||
performance_class = "premium-perf2-stackit"
|
||||
size = 10
|
||||
}
|
||||
network = {
|
||||
acl = ["0.0.0.0/0", "193.148.160.0/19", "170.85.2.177/32"]
|
||||
access_scope = "PUBLIC"
|
||||
}
|
||||
version = 16
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_postgresflexalpha_user" "ptlsdbadminuser" {
|
||||
project_id = var.project_id
|
||||
instance_id = stackitprivatepreview_postgresflexalpha_instance.msh-alpha-sna-enc.instance_id
|
||||
name = var.db_admin_username
|
||||
roles = ["createdb", "login"]
|
||||
# roles = ["createdb", "login", "createrole"]
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_postgresflexalpha_user" "ptlsdbuser" {
|
||||
project_id = var.project_id
|
||||
instance_id = stackitprivatepreview_postgresflexalpha_instance.msh-alpha-sna-enc.instance_id
|
||||
name = var.db_username
|
||||
roles = ["login"]
|
||||
# roles = ["createdb", "login", "createrole"]
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_postgresflexalpha_database" "example" {
|
||||
count = 5
|
||||
depends_on = [stackitprivatepreview_postgresflexalpha_user.ptlsdbadminuser]
|
||||
project_id = var.project_id
|
||||
instance_id = stackitprivatepreview_postgresflexalpha_instance.msh-alpha-sna-enc.instance_id
|
||||
name = "${var.db_name}${count.index}"
|
||||
owner = var.db_admin_username
|
||||
}
|
||||
|
||||
# data "stackitprivatepreview_postgresflexalpha_instance" "datapsql" {
|
||||
# project_id = var.project_id
|
||||
# instance_id = var.instance_id
|
||||
# region = "eu01"
|
||||
# }
|
||||
|
||||
# output "psql_instance_id" {
|
||||
# value = data.stackitprivatepreview_postgresflexalpha_instance.datapsql.instance_id
|
||||
# }
|
||||
|
||||
output "psql_user_password" {
|
||||
value = stackitprivatepreview_postgresflexalpha_user.ptlsdbuser.password
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
# output "psql_user_conn" {
|
||||
# value = stackitprivatepreview_postgresflexalpha_user.ptlsdbuser.connection_string
|
||||
# sensitive = true
|
||||
# }
|
||||
24
sample/alpha-from-registry/providers.tf
Normal file
24
sample/alpha-from-registry/providers.tf
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
terraform {
|
||||
required_providers {
|
||||
stackit = {
|
||||
source = "registry.terraform.io/stackitcloud/stackit"
|
||||
version = "~> 0.70"
|
||||
}
|
||||
stackitprivatepreview = {
|
||||
source = "tfregistry.sysops.stackit.rocks/mhenselin/stackitprivatepreview"
|
||||
version = ">=0.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
enable_beta_resources = true
|
||||
service_account_key_path = "../service_account.json"
|
||||
}
|
||||
|
||||
provider "stackitprivatepreview" {
|
||||
default_region = "eu01"
|
||||
service_account_key_path = "../service_account.json"
|
||||
}
|
||||
101
sample/alpha-from-registry/sqlserver.tf
Normal file
101
sample/alpha-from-registry/sqlserver.tf
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
# resource "stackit_kms_keyring" "keyring001" {
|
||||
# project_id = var.project_id
|
||||
# display_name = "msh-keyring-sna01"
|
||||
# description = "This is a test keyring for private endpoints"
|
||||
# }
|
||||
#
|
||||
# resource "stackit_kms_key" "key001" {
|
||||
# project_id = var.project_id
|
||||
# keyring_id = stackit_kms_keyring.keyring001.keyring_id
|
||||
# display_name = "msh-key-sna01"
|
||||
# protection = "software"
|
||||
# algorithm = "aes_256_gcm"
|
||||
# purpose = "symmetric_encrypt_decrypt"
|
||||
# access_scope = "SNA"
|
||||
# }
|
||||
|
||||
data "stackitprivatepreview_sqlserverflexbeta_flavor" "sqlserver_flavor" {
|
||||
project_id = var.project_id
|
||||
region = "eu01"
|
||||
cpu = 4
|
||||
ram = 16
|
||||
node_type = "Single"
|
||||
storage_class = "premium-perf2-stackit"
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_sqlserverflexbeta_instance" "msh-sna-001" {
|
||||
project_id = var.project_id
|
||||
name = "msh-sna-001"
|
||||
backup_schedule = "0 3 * * *"
|
||||
retention_days = 31
|
||||
flavor_id = data.stackitprivatepreview_sqlserverflexbeta_flavor.sqlserver_flavor.flavor_id
|
||||
storage = {
|
||||
class = "premium-perf2-stackit"
|
||||
size = 50
|
||||
}
|
||||
version = 2022
|
||||
encryption = {
|
||||
kek_key_version = 1
|
||||
kek_key_id = var.key_id
|
||||
kek_key_ring_id = var.keyring_id
|
||||
service_account = var.sa_email
|
||||
}
|
||||
network = {
|
||||
acl = ["0.0.0.0/0", "193.148.160.0/19"]
|
||||
access_scope = "SNA"
|
||||
}
|
||||
}
|
||||
|
||||
#resource "stackitprivatepreview_sqlserverflexbeta_instance" "msh-nosna-001" {
|
||||
# project_id = var.project_id
|
||||
# name = "msh-nosna-001"
|
||||
# backup_schedule = "0 3 * * *"
|
||||
# retention_days = 31
|
||||
# flavor_id = data.stackitprivatepreview_sqlserverflexbeta_flavor.sqlserver_flavor.flavor_id
|
||||
# storage = {
|
||||
# class = "premium-perf2-stackit"
|
||||
# size = 50
|
||||
# }
|
||||
# version = 2022
|
||||
# # encryption = {
|
||||
# # #key_id = stackit_kms_key.key.key_id
|
||||
# # #keyring_id = stackit_kms_keyring.keyring.keyring_id
|
||||
# # #key_version = 1
|
||||
# # #key_id = var.key_id
|
||||
# # # key with scope public
|
||||
# # key_id = "fe039bcf-8d7b-431a-801d-9e81371a6b7b"
|
||||
# # keyring_id = var.keyring_id
|
||||
# # key_version = var.key_version
|
||||
# # service_account = var.sa_email
|
||||
# # }
|
||||
# network = {
|
||||
# acl = ["0.0.0.0/0", "193.148.160.0/19"]
|
||||
# access_scope = "PUBLIC"
|
||||
# }
|
||||
#}
|
||||
|
||||
# data "stackitprivatepreview_sqlserverflexbeta_instance" "test" {
|
||||
# project_id = var.project_id
|
||||
# instance_id = var.instance_id
|
||||
# region = "eu01"
|
||||
# }
|
||||
|
||||
# output "test" {
|
||||
# value = data.stackitprivatepreview_sqlserverflexbeta_instance.test
|
||||
# }
|
||||
|
||||
resource "stackitprivatepreview_sqlserverflexbeta_user" "ptlsdbadminuser" {
|
||||
project_id = var.project_id
|
||||
instance_id = stackitprivatepreview_sqlserverflexbeta_instance.msh-sna-001.instance_id
|
||||
username = var.db_admin_username
|
||||
#roles = ["##STACKIT_LoginManager##", "##STACKIT_DatabaseManager##"]
|
||||
roles = ["##STACKIT_LoginManager##"]
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_sqlserverflexbeta_user" "ptlsdbuser" {
|
||||
project_id = var.project_id
|
||||
instance_id = stackitprivatepreview_sqlserverflexbeta_instance.msh-sna-001.instance_id
|
||||
username = var.db_username
|
||||
roles = ["##STACKIT_LoginManager##"]
|
||||
}
|
||||
|
||||
57
sample/kms/kms.tf
Normal file
57
sample/kms/kms.tf
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
resource "stackit_kms_keyring" "keyring001" {
|
||||
project_id = var.project_id
|
||||
display_name = "msh-keyring-sna01"
|
||||
description = "This is a test keyring for private endpoints"
|
||||
}
|
||||
|
||||
resource "stackit_kms_key" "key001" {
|
||||
project_id = var.project_id
|
||||
keyring_id = stackit_kms_keyring.keyring001.keyring_id
|
||||
display_name = "msh-key-sna01"
|
||||
protection = "software"
|
||||
algorithm = "aes_256_gcm"
|
||||
purpose = "symmetric_encrypt_decrypt"
|
||||
access_scope = "SNA"
|
||||
}
|
||||
|
||||
|
||||
# data "stackitprivatepreview_sqlserverflexalpha_instance" "test" {
|
||||
# project_id = var.project_id
|
||||
# instance_id = var.instance_id
|
||||
# region = "eu01"
|
||||
# }
|
||||
|
||||
output "key_ring_id" {
|
||||
value = stackit_kms_keyring.keyring001.id
|
||||
}
|
||||
|
||||
resource "stackit_kms_keyring" "keyring001yy" {
|
||||
project_id = var.project_id
|
||||
display_name = "msh-kr-sna01"
|
||||
description = "This is a test keyring for private endpoints"
|
||||
}
|
||||
|
||||
resource "stackit_kms_key" "key001yy" {
|
||||
project_id = var.project_id
|
||||
keyring_id = stackit_kms_keyring.keyring001yy.keyring_id
|
||||
display_name = "msh-k-001"
|
||||
protection = "software"
|
||||
algorithm = "aes_256_gcm"
|
||||
purpose = "symmetric_encrypt_decrypt"
|
||||
access_scope = "SNA"
|
||||
}
|
||||
|
||||
|
||||
# data "stackitprivatepreview_sqlserverflexalpha_instance" "test" {
|
||||
# project_id = var.project_id
|
||||
# instance_id = var.instance_id
|
||||
# region = "eu01"
|
||||
# }
|
||||
|
||||
output "key_ring_idxx" {
|
||||
value = stackit_kms_keyring.keyring001yy.id
|
||||
}
|
||||
|
||||
output "key_id" {
|
||||
value = stackit_kms_key.key001yy.id
|
||||
}
|
||||
25
sample/kms/providers.tf
Normal file
25
sample/kms/providers.tf
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
terraform {
|
||||
required_providers {
|
||||
stackit = {
|
||||
source = "registry.terraform.io/stackitcloud/stackit"
|
||||
version = "~> 0.70"
|
||||
}
|
||||
# stackitprivatepreview = {
|
||||
# source = "tfregistry.sysops.stackit.rocks/mhenselin/stackitprivatepreview"
|
||||
# version = "= 0.0.2-alpha"
|
||||
# }
|
||||
}
|
||||
}
|
||||
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
enable_beta_resources = true
|
||||
service_account_key_path = "../service_account.json"
|
||||
}
|
||||
|
||||
# provider "stackitprivatepreview" {
|
||||
# default_region = "eu01"
|
||||
# enable_beta_resources = true
|
||||
# service_account_key_path = "../service_account.json"
|
||||
# }
|
||||
4
sample/pg_import/outputs.tf
Normal file
4
sample/pg_import/outputs.tf
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#
|
||||
# output "postgres_flavor" {
|
||||
# value = data.stackitprivatepreview_postgresflexalpha_flavor.pgsql_flavor.flavor_id
|
||||
# }
|
||||
45
sample/pg_import/postresql.tf
Normal file
45
sample/pg_import/postresql.tf
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
|
||||
data "stackitprivatepreview_postgresflexalpha_flavor" "pgsql_flavor" {
|
||||
project_id = var.project_id
|
||||
region = "eu01"
|
||||
cpu = 2
|
||||
ram = 4
|
||||
node_type = "Single"
|
||||
storage_class = "premium-perf2-stackit"
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_postgresflexalpha_instance" "import_for_deletion" {
|
||||
project_id = var.project_id
|
||||
name = "mshpetest2"
|
||||
backup_schedule = "0 0 * * *"
|
||||
retention_days = 45
|
||||
flavor_id = data.stackitprivatepreview_postgresflexalpha_flavor.pgsql_flavor.flavor_id
|
||||
replicas = 1
|
||||
storage = {
|
||||
# class = "premium-perf2-stackit"
|
||||
performance_class = "premium-perf2-stackit"
|
||||
size = 10
|
||||
}
|
||||
encryption = {
|
||||
# key_id = stackit_kms_key.key.key_id
|
||||
# keyring_id = stackit_kms_keyring.keyring.keyring_id
|
||||
kek_key_id = var.key_id
|
||||
kek_key_ring_id = var.keyring_id
|
||||
kek_key_version = var.key_version
|
||||
service_account = var.sa_email
|
||||
}
|
||||
network = {
|
||||
acl = ["0.0.0.0/0", "193.148.160.0/19", "170.85.2.177/32"]
|
||||
access_scope = "PUBLIC"
|
||||
}
|
||||
version = 14
|
||||
}
|
||||
|
||||
import {
|
||||
to = stackitprivatepreview_postgresflexalpha_instance.import_for_deletion
|
||||
identity = {
|
||||
project_id = var.project_id
|
||||
region = "eu01"
|
||||
instance_id = "d52b5d4c-be3f-4c14-a107-330dab99fd2e"
|
||||
}
|
||||
}
|
||||
25
sample/pg_import/providers.tf
Normal file
25
sample/pg_import/providers.tf
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
terraform {
|
||||
required_providers {
|
||||
# stackit = {
|
||||
# source = "registry.terraform.io/stackitcloud/stackit"
|
||||
# version = "~> 0.70"
|
||||
# }
|
||||
stackitprivatepreview = {
|
||||
source = "tfregistry.sysops.stackit.rocks/mhenselin/stackitprivatepreview"
|
||||
version = "> 0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# provider "stackit" {
|
||||
# default_region = "eu01"
|
||||
# enable_beta_resources = true
|
||||
# service_account_key_path = "./service_account.json"
|
||||
# }
|
||||
|
||||
provider "stackitprivatepreview" {
|
||||
default_region = "eu01"
|
||||
enable_beta_resources = true
|
||||
service_account_key_path = "../service_account.json"
|
||||
}
|
||||
11
sample/pg_import/variables.tf.example
Normal file
11
sample/pg_import/variables.tf.example
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
variable "project_id" {
|
||||
default = "<PROJECT ID UUID>"
|
||||
}
|
||||
|
||||
variable "sa_email" {
|
||||
default = "<SERVICE ACCOUNT EMAIL>"
|
||||
}
|
||||
|
||||
variable "db_username" {
|
||||
default = "<DB USERNAME>"
|
||||
}
|
||||
0
sample/pg_instance/outputs.tf
Normal file
0
sample/pg_instance/outputs.tf
Normal file
17
sample/pg_instance/postresql.tf
Normal file
17
sample/pg_instance/postresql.tf
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
data "stackitprivatepreview_postgresflexalpha_flavor" "pgsql_flavor" {
|
||||
project_id = var.project_id
|
||||
region = "eu01"
|
||||
cpu = 2
|
||||
ram = 4
|
||||
node_type = "Single"
|
||||
storage_class = "premium-perf2-stackit"
|
||||
}
|
||||
data "stackitprivatepreview_postgresflexalpha_flavor" "pgsql_flavor2"{
|
||||
project_id = var.project_id
|
||||
region = "eu01"
|
||||
cpu = 2
|
||||
ram = 4
|
||||
node_type = "Single"
|
||||
storage_class = "premium-perf2-stackit"
|
||||
}
|
||||
25
sample/pg_instance/providers.tf
Normal file
25
sample/pg_instance/providers.tf
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
terraform {
|
||||
required_providers {
|
||||
# stackit = {
|
||||
# source = "registry.terraform.io/stackitcloud/stackit"
|
||||
# version = "~> 0.70"
|
||||
# }
|
||||
stackitprivatepreview = {
|
||||
source = "tfregistry.sysops.stackit.rocks/mhenselin/stackitprivatepreview"
|
||||
version = "> 0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# provider "stackit" {
|
||||
# default_region = "eu01"
|
||||
# enable_beta_resources = true
|
||||
# service_account_key_path = "./service_account.json"
|
||||
# }
|
||||
|
||||
provider "stackitprivatepreview" {
|
||||
default_region = "eu01"
|
||||
enable_beta_resources = true
|
||||
service_account_key_path = "/home/henselinm/Development/PTLS/terraform-provider-stackit-MSH/sample/pg_instance/service_account.json"
|
||||
}
|
||||
11
sample/pg_instance/variables.tf.example
Normal file
11
sample/pg_instance/variables.tf.example
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
variable "project_id" {
|
||||
default = "<PROJECT ID UUID>"
|
||||
}
|
||||
|
||||
variable "sa_email" {
|
||||
default = "<SERVICE ACCOUNT EMAIL>"
|
||||
}
|
||||
|
||||
variable "db_username" {
|
||||
default = "<DB USERNAME>"
|
||||
}
|
||||
13
sample/sqlserver_beta/flavor.tf
Normal file
13
sample/sqlserver_beta/flavor.tf
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#
|
||||
# data "stackitprivatepreview_sqlserverflexalpha_flavor" "sqlserver_flavor" {
|
||||
# project_id = var.project_id
|
||||
# region = "eu01"
|
||||
# cpu = 4
|
||||
# ram = 16
|
||||
# node_type = "Single"
|
||||
# storage_class = "premium-perf2-stackit"
|
||||
# }
|
||||
#
|
||||
# output "sqlserver_flavor" {
|
||||
# value = data.stackitprivatepreview_sqlserverflexalpha_flavor.sqlserver_flavor.flavor_id
|
||||
# }
|
||||
9
sample/sqlserver_beta/postgres.tf
Normal file
9
sample/sqlserver_beta/postgres.tf
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
data "stackitprivatepreview_postgresflexalpha_flavor" "pgsql_flavor" {
|
||||
project_id = var.project_id
|
||||
region = "eu01"
|
||||
cpu = 2
|
||||
ram = 4
|
||||
node_type = "Single"
|
||||
storage_class = "premium-perf2-stackit"
|
||||
}
|
||||
25
sample/sqlserver_beta/providers.tf
Normal file
25
sample/sqlserver_beta/providers.tf
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
terraform {
|
||||
required_providers {
|
||||
# stackit = {
|
||||
# source = "registry.terraform.io/stackitcloud/stackit"
|
||||
# version = "~> 0.70"
|
||||
# }
|
||||
stackitprivatepreview = {
|
||||
source = "tfregistry.sysops.stackit.rocks/mhenselin/stackitprivatepreview"
|
||||
version = "> 0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# provider "stackit" {
|
||||
# default_region = "eu01"
|
||||
# enable_beta_resources = true
|
||||
# service_account_key_path = "../service_account.json"
|
||||
# }
|
||||
|
||||
provider "stackitprivatepreview" {
|
||||
default_region = "eu01"
|
||||
enable_beta_resources = true
|
||||
service_account_key_path = "../service_account.json"
|
||||
}
|
||||
116
sample/sqlserver_beta/sqlserver.tf
Normal file
116
sample/sqlserver_beta/sqlserver.tf
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
data "stackitprivatepreview_sqlserverflexbeta_flavor" "sqlserver_flavor" {
|
||||
project_id = var.project_id
|
||||
region = "eu01"
|
||||
cpu = 4
|
||||
ram = 16
|
||||
node_type = "Single"
|
||||
storage_class = "premium-perf2-stackit"
|
||||
}
|
||||
|
||||
data "stackitprivatepreview_sqlserverflexbeta_flavor" "sqlserver_flavor_2" {
|
||||
project_id = var.project_id
|
||||
region = "eu01"
|
||||
cpu = 4
|
||||
ram = 32
|
||||
node_type = "Replica"
|
||||
storage_class = "premium-perf2-stackit"
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_sqlserverflexbeta_instance" "msh-beta-nosna-001" {
|
||||
project_id = var.project_id
|
||||
name = "msh-beta-nosna-001-renamed"
|
||||
backup_schedule = "0 3 * * *"
|
||||
retention_days = 31
|
||||
flavor_id = data.stackitprivatepreview_sqlserverflexbeta_flavor.sqlserver_flavor.flavor_id
|
||||
storage = {
|
||||
class = "premium-perf2-stackit"
|
||||
size = 50
|
||||
}
|
||||
version = 2022
|
||||
network = {
|
||||
acl = ["0.0.0.0/0", "193.148.160.0/19"]
|
||||
access_scope = "PUBLIC"
|
||||
}
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_sqlserverflexbeta_instance" "msh-beta-sna-001" {
|
||||
project_id = var.project_id
|
||||
name = "msh-beta-sna-001"
|
||||
backup_schedule = "0 3 * * *"
|
||||
retention_days = 31
|
||||
flavor_id = data.stackitprivatepreview_sqlserverflexbeta_flavor.sqlserver_flavor.flavor_id
|
||||
storage = {
|
||||
class = "premium-perf2-stackit"
|
||||
size = 5
|
||||
}
|
||||
version = 2022
|
||||
encryption = {
|
||||
#key_id = stackit_kms_key.key.key_id
|
||||
#keyring_id = stackit_kms_keyring.keyring.keyring_id
|
||||
#key_version = 1
|
||||
# key with scope public
|
||||
kek_key_id = "fe039bcf-8d7b-431a-801d-9e81371a6b7b"
|
||||
# key_id = var.key_id
|
||||
kek_key_ring_id = var.keyring_id
|
||||
kek_key_version = var.key_version
|
||||
service_account = var.sa_email
|
||||
}
|
||||
network = {
|
||||
acl = ["0.0.0.0/0", "193.148.160.0/19"]
|
||||
access_scope = "SNA"
|
||||
}
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_sqlserverflexbeta_user" "exampleuseruno" {
|
||||
project_id = var.project_id
|
||||
instance_id = stackitprivatepreview_sqlserverflexbeta_instance.msh-beta-nosna-001.instance_id
|
||||
username = "exampleuserdue"
|
||||
roles = ["##STACKIT_ProcessManager##", "##STACKIT_LoginManager##", "##STACKIT_ServerManager##"]
|
||||
}
|
||||
|
||||
resource "stackitprivatepreview_sqlserverflexbeta_user" "exampleuser" {
|
||||
project_id = var.project_id
|
||||
instance_id = stackitprivatepreview_sqlserverflexbeta_instance.msh-beta-nosna-001.instance_id
|
||||
username = "exampleuser"
|
||||
roles = ["##STACKIT_LoginManager##"]
|
||||
}
|
||||
|
||||
|
||||
resource "stackitprivatepreview_sqlserverflexbeta_database" "mshtest002" {
|
||||
project_id = var.project_id
|
||||
instance_id = stackitprivatepreview_sqlserverflexbeta_instance.msh-beta-nosna-001.instance_id
|
||||
name = "mshtest002"
|
||||
# owner = "dbuser"
|
||||
owner = stackitprivatepreview_sqlserverflexbeta_user.exampleuseruno.username
|
||||
}
|
||||
|
||||
|
||||
# data "stackitprivatepreview_sqlserverflexbeta_database" "example" {
|
||||
# project_id = var.project_id
|
||||
# region = "eu01"
|
||||
# instance_id = "b3b63d0c-35bf-4804-84ea-5abec2a8ae58"
|
||||
# database_name = "mshtest001"
|
||||
# }
|
||||
|
||||
# output "dbdetails" {
|
||||
# value = data.stackitprivatepreview_sqlserverflexbeta_database.example
|
||||
# }
|
||||
#
|
||||
|
||||
|
||||
# resource "stackitprivatepreview_sqlserverflexbeta_database" "mshtest" {
|
||||
# project_id = var.project_id
|
||||
# instance_id = "b3b63d0c-35bf-4804-84ea-5abec2a8ae58"
|
||||
# name = "mshtest"
|
||||
# owner = "dbuser"
|
||||
# }
|
||||
#
|
||||
# import {
|
||||
# to = stackitprivatepreview_sqlserverflexbeta_database.mshtest
|
||||
# identity = {
|
||||
# project_id = var.project_id
|
||||
# region = "eu01"
|
||||
# instance_id = "b3b63d0c-35bf-4804-84ea-5abec2a8ae58"
|
||||
# database_name = "mshtest"
|
||||
# }
|
||||
# }
|
||||
11
sample/sqlserver_beta/variables.tf.example
Normal file
11
sample/sqlserver_beta/variables.tf.example
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
variable "project_id" {
|
||||
default = "<PROJECT ID UUID>"
|
||||
}
|
||||
|
||||
variable "sa_email" {
|
||||
default = "<SERVICE ACCOUNT EMAIL>"
|
||||
}
|
||||
|
||||
variable "db_username" {
|
||||
default = "<DB USERNAME>"
|
||||
}
|
||||
1173
tools/go.sum
Normal file
1173
tools/go.sum
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue