Some checks failed
CI Workflow / Check GoReleaser config (pull_request) Successful in 14s
CI Workflow / CI (pull_request) Failing after 12m47s
CI Workflow / Code coverage report (pull_request) Has been skipped
CI Workflow / Test readiness for publishing provider (pull_request) Successful in 30m54s
465 lines
11 KiB
Go
465 lines
11 KiB
Go
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,
|
|
)
|
|
}
|