package testutils import ( "fmt" "os" ) var ( CdnCustomEndpoint = os.Getenv("TF_ACC_CDN_CUSTOM_ENDPOINT") DnsCustomEndpoint = os.Getenv("TF_ACC_DNS_CUSTOM_ENDPOINT") GitCustomEndpoint = os.Getenv("TF_ACC_GIT_CUSTOM_ENDPOINT") IaaSCustomEndpoint = os.Getenv("TF_ACC_IAAS_CUSTOM_ENDPOINT") KMSCustomEndpoint = os.Getenv("TF_ACC_KMS_CUSTOM_ENDPOINT") LoadBalancerCustomEndpoint = os.Getenv("TF_ACC_LOADBALANCER_CUSTOM_ENDPOINT") LogMeCustomEndpoint = os.Getenv("TF_ACC_LOGME_CUSTOM_ENDPOINT") MariaDBCustomEndpoint = os.Getenv("TF_ACC_MARIADB_CUSTOM_ENDPOINT") ModelServingCustomEndpoint = os.Getenv("TF_ACC_MODELSERVING_CUSTOM_ENDPOINT") AuthorizationCustomEndpoint = os.Getenv("TF_ACC_authorization_custom_endpoint") MongoDBFlexCustomEndpoint = os.Getenv("TF_ACC_MONGODBFLEX_CUSTOM_ENDPOINT") OpenSearchCustomEndpoint = os.Getenv("TF_ACC_OPENSEARCH_CUSTOM_ENDPOINT") ObservabilityCustomEndpoint = os.Getenv("TF_ACC_OBSERVABILITY_CUSTOM_ENDPOINT") ObjectStorageCustomEndpoint = os.Getenv("TF_ACC_OBJECTSTORAGE_CUSTOM_ENDPOINT") PostgresFlexCustomEndpoint = os.Getenv("TF_ACC_POSTGRESFLEX_CUSTOM_ENDPOINT") RabbitMQCustomEndpoint = os.Getenv("TF_ACC_RABBITMQ_CUSTOM_ENDPOINT") RedisCustomEndpoint = os.Getenv("TF_ACC_REDIS_CUSTOM_ENDPOINT") ResourceManagerCustomEndpoint = os.Getenv("TF_ACC_RESOURCEMANAGER_CUSTOM_ENDPOINT") ScfCustomEndpoint = os.Getenv("TF_ACC_SCF_CUSTOM_ENDPOINT") SecretsManagerCustomEndpoint = os.Getenv("TF_ACC_SECRETSMANAGER_CUSTOM_ENDPOINT") SQLServerFlexCustomEndpoint = os.Getenv("TF_ACC_SQLSERVERFLEX_CUSTOM_ENDPOINT") ServerBackupCustomEndpoint = os.Getenv("TF_ACC_SERVER_BACKUP_CUSTOM_ENDPOINT") ServerUpdateCustomEndpoint = os.Getenv("TF_ACC_SERVER_UPDATE_CUSTOM_ENDPOINT") ServiceAccountCustomEndpoint = os.Getenv("TF_ACC_SERVICE_ACCOUNT_CUSTOM_ENDPOINT") SKECustomEndpoint = os.Getenv("TF_ACC_SKE_CUSTOM_ENDPOINT") ) func ObservabilityProviderConfig() string { if ObservabilityCustomEndpoint == "" { return `provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { observability_custom_endpoint = "%s" }`, ObservabilityCustomEndpoint, ) } func CdnProviderConfig() string { if CdnCustomEndpoint == "" { return ` provider "stackitprivatepreview" { enable_beta_resources = true }` } return fmt.Sprintf(` provider "stackitprivatepreview" { cdn_custom_endpoint = "%s" enable_beta_resources = true }`, CdnCustomEndpoint, ) } func DnsProviderConfig() string { if DnsCustomEndpoint == "" { return `provider "stackitprivatepreview" {}` } return fmt.Sprintf(` provider "stackitprivatepreview" { dns_custom_endpoint = "%s" }`, DnsCustomEndpoint, ) } func IaaSProviderConfig() string { if IaaSCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { iaas_custom_endpoint = "%s" }`, IaaSCustomEndpoint, ) } func IaaSProviderConfigWithBetaResourcesEnabled() string { if IaaSCustomEndpoint == "" { return ` provider "stackitprivatepreview" { enable_beta_resources = true default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { enable_beta_resources = true iaas_custom_endpoint = "%s" }`, IaaSCustomEndpoint, ) } func IaaSProviderConfigWithExperiments() string { if IaaSCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" experiments = [ "routing-tables", "network" ] }` } return fmt.Sprintf(` provider "stackitprivatepreview" { iaas_custom_endpoint = "%s" experiments = [ "routing-tables", "network" ] }`, IaaSCustomEndpoint, ) } func KMSProviderConfig() string { if KMSCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { kms_custom_endpoint = "%s" }`, KMSCustomEndpoint, ) } func LoadBalancerProviderConfig() string { if LoadBalancerCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { loadbalancer_custom_endpoint = "%s" }`, LoadBalancerCustomEndpoint, ) } func LogMeProviderConfig() string { if LogMeCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { logme_custom_endpoint = "%s" }`, LogMeCustomEndpoint, ) } func MariaDBProviderConfig() string { if MariaDBCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { mariadb_custom_endpoint = "%s" }`, MariaDBCustomEndpoint, ) } func ModelServingProviderConfig() string { if ModelServingCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" } ` } return fmt.Sprintf(` provider "stackitprivatepreview" { modelserving_custom_endpoint = "%s" }`, ModelServingCustomEndpoint, ) } func MongoDBFlexProviderConfig() string { if MongoDBFlexCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { mongodbflex_custom_endpoint = "%s" }`, MongoDBFlexCustomEndpoint, ) } func ObjectStorageProviderConfig() string { if ObjectStorageCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { objectstorage_custom_endpoint = "%s" }`, ObjectStorageCustomEndpoint, ) } func OpenSearchProviderConfig() string { if OpenSearchCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { opensearch_custom_endpoint = "%s" }`, OpenSearchCustomEndpoint, ) } func PostgresFlexProviderConfig(saFile string) string { if PostgresFlexCustomEndpoint == "" { return fmt.Sprintf(` provider "stackitprivatepreview" { default_region = "eu01" service_account_key_path = "%s" }`, saFile) } return fmt.Sprintf(` provider "stackitprivatepreview" { service_account_key_path = "%s" postgresflex_custom_endpoint = "%s" }`, saFile, PostgresFlexCustomEndpoint, ) } func RabbitMQProviderConfig() string { if RabbitMQCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { rabbitmq_custom_endpoint = "%s" }`, RabbitMQCustomEndpoint, ) } func RedisProviderConfig() string { if RedisCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { redis_custom_endpoint = "%s" }`, RedisCustomEndpoint, ) } func ResourceManagerProviderConfig() string { key := GetTestProjectServiceAccountJson("") if ResourceManagerCustomEndpoint == "" || AuthorizationCustomEndpoint == "" { return fmt.Sprintf(` provider "stackitprivatepreview" { service_account_key = "%s" }`, key, ) } return fmt.Sprintf(` provider "stackitprivatepreview" { resourcemanager_custom_endpoint = "%s" authorization_custom_endpoint = "%s" service_account_token = "%s" }`, ResourceManagerCustomEndpoint, AuthorizationCustomEndpoint, key, ) } func SecretsManagerProviderConfig() string { if SecretsManagerCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { secretsmanager_custom_endpoint = "%s" }`, SecretsManagerCustomEndpoint, ) } func SQLServerFlexProviderConfig(saFile string) string { if SQLServerFlexCustomEndpoint == "" { return fmt.Sprintf(` provider "stackitprivatepreview" { default_region = "eu01" service_account_key_path = "%s" }`, saFile) } return fmt.Sprintf(` provider "stackitprivatepreview" { service_account_key_path = "%s" sqlserverflex_custom_endpoint = "%s" }`, saFile, SQLServerFlexCustomEndpoint, ) } func ServerBackupProviderConfig() string { if ServerBackupCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" enable_beta_resources = true }` } return fmt.Sprintf(` provider "stackitprivatepreview" { server_backup_custom_endpoint = "%s" enable_beta_resources = true }`, ServerBackupCustomEndpoint, ) } func ServerUpdateProviderConfig() string { if ServerUpdateCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" enable_beta_resources = true }` } return fmt.Sprintf(` provider "stackitprivatepreview" { server_update_custom_endpoint = "%s" enable_beta_resources = true }`, ServerUpdateCustomEndpoint, ) } func SKEProviderConfig() string { if SKECustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { ske_custom_endpoint = "%s" }`, SKECustomEndpoint, ) } func AuthorizationProviderConfig() string { if AuthorizationCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" experiments = ["iam"] }` } return fmt.Sprintf(` provider "stackitprivatepreview" { authorization_custom_endpoint = "%s" experiments = ["iam"] }`, AuthorizationCustomEndpoint, ) } func ServiceAccountProviderConfig() string { if ServiceAccountCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" enable_beta_resources = true }` } return fmt.Sprintf(` provider "stackitprivatepreview" { service_account_custom_endpoint = "%s" enable_beta_resources = true }`, ServiceAccountCustomEndpoint, ) } func GitProviderConfig() string { if GitCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" enable_beta_resources = true }` } return fmt.Sprintf(` provider "stackitprivatepreview" { git_custom_endpoint = "%s" enable_beta_resources = true }`, GitCustomEndpoint, ) } func ScfProviderConfig() string { if ScfCustomEndpoint == "" { return ` provider "stackitprivatepreview" { default_region = "eu01" }` } return fmt.Sprintf(` provider "stackitprivatepreview" { default_region = "eu01" scf_custom_endpoint = "%s" }`, ScfCustomEndpoint, ) }