forked from hashicorp/terraform-provider-azurerm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsettings.kt
175 lines (122 loc) · 11.4 KB
/
settings.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
// specifies the default hour (UTC) at which tests should be triggered, if enabled
var defaultStartHour = 0
// specifies the default level of parallelism per-service-package
var defaultParallelism = 20
// specifies the default version of Terraform Core which should be used for testing
var defaultTerraformCoreVersion = "1.1.5"
// This represents a cron view of days of the week, Monday - Friday.
const val defaultDaysOfWeek = "2,3,4,5,6"
// Cron value for any day of month
const val defaultDaysOfMonth = "*"
var locations = mapOf(
"public" to LocationConfiguration("westeurope", "eastus2", "westus2", true)
)
// specifies the list of Azure Environments where tests should be run nightly
var runNightly = mapOf(
"public" to true
)
// specifies a list of services which should be run with a custom test configuration
var serviceTestConfigurationOverrides = mapOf(
// Server is only available in certain locations
"analysisservices" to testConfiguration(locationOverride = LocationConfiguration("westus", "northeurope", "southcentralus", true), useDevTestSubscription = true),
// App Service Plans for Linux are currently unavailable in WestUS2
"appservice" to testConfiguration(startHour = 3, daysOfWeek = "2,4,6", locationOverride = LocationConfiguration("westeurope", "northeurope", "eastus2", false), useDevTestSubscription = true),
// these tests all conflict with one another
"authorization" to testConfiguration(parallelism = 1),
// HCICluster is only available in certain locations
"azurestackhci" to testConfiguration(locationOverride = LocationConfiguration("australiaeast", "eastus", "westeurope", true), useDevTestSubscription = true),
//Blueprints are constrained on the number of targets available - these execute quickly, so can be serialised
"blueprints" to testConfiguration(parallelism = 1),
// CDN is only available in certain locations
"cdn" to testConfiguration(locationOverride = LocationConfiguration("centralus", "eastus2", "westeurope", true), useDevTestSubscription = true),
// "cognitive" is expensive - Monday, Wednesday, Friday
// cognitive is only available in certain locations
"cognitive" to testConfiguration(daysOfWeek = "2,4,6", locationOverride = LocationConfiguration("westeurope", "eastus", "southcentralus", true), useDevTestSubscription = true),
// Cosmos is only available in certain locations
"cosmos" to testConfiguration(locationOverride = LocationConfiguration("westus", "northeurope", "southcentralus", true), useDevTestSubscription = true),
//Confidential Ledger
"confidentialledger" to testConfiguration(locationOverride = LocationConfiguration("eastus","southcentralus","westeurope", false)),
// Container App Managed Environments are limited to 20 per location, using 10 as they can take some time to clear
"containerapps" to testConfiguration(parallelism = 10, locationOverride = LocationConfiguration("westeurope","eastus","canadacentral", false)),
// The AKS API has a low rate limit
"containers" to testConfiguration(parallelism = 5, locationOverride = LocationConfiguration("eastus","westeurope","eastus2", false), useDevTestSubscription = true),
// Custom Providers is only available in certain locations
"customproviders" to testConfiguration(locationOverride = LocationConfiguration("eastus", "westus2", "westeurope", true)),
// Dashboard is only available in certain locations
"dashboard" to testConfiguration(locationOverride = LocationConfiguration("westeurope", "westus2", "eastus2", false)),
// Datadog is available only in WestUS2 region
"datadog" to testConfiguration(locationOverride = LocationConfiguration("westus2", "westus2", "centraluseuap", false)),
// data factory uses NC class VMs which are not available in eastus2
"datafactory" to testConfiguration(daysOfWeek = "2,4,6", locationOverride = LocationConfiguration("westeurope", "southeastasia", "westus2", false), useDevTestSubscription = true),
// Data Lake has a low quota
"datalake" to testConfiguration(parallelism = 2, useDevTestSubscription = true),
// "hdinsight" is super expensive - G class VM's are not available in westus2, quota only available in westeurope currently
"hdinsight" to testConfiguration(daysOfWeek = "2,4,6", locationOverride = LocationConfiguration("westeurope", "southeastasia", "eastus2", false), useDevTestSubscription = true),
// Elastic can't provision many in parallel
"elastic" to testConfiguration(parallelism = 1, useDevTestSubscription = true),
// HPC Cache has a 4 instance per subscription quota as of early 2021
"hpccache" to testConfiguration(parallelism = 3, daysOfWeek = "2,4,6", useDevTestSubscription = true),
// HSM has low quota and potentially slow recycle time, Only run on Mondays
"hsm" to testConfiguration(parallelism = 1, daysOfWeek = "1", useDevTestSubscription = true),
// IoT Central is only available in certain locations
"iotcentral" to testConfiguration(locationOverride = LocationConfiguration("westeurope", "southeastasia", "eastus2", false), useDevTestSubscription = true),
// IoT Hub Device Update is only available in certain locations
"iothub" to testConfiguration(locationOverride = LocationConfiguration("northeurope", "eastus2", "westus2", false), useDevTestSubscription = true),
// Lab Service is only available in certain locations
"labservice" to testConfiguration(locationOverride = LocationConfiguration("westeurope", "eastus", "westus", false)),
// Log Analytics Clusters have a max deployments of 2 - parallelism set to 1 or `importTest` fails
"loganalytics" to testConfiguration(parallelism = 1, useDevTestSubscription = true),
// Logic uses app service which is only available in certain locations
"logic" to testConfiguration(locationOverride = LocationConfiguration("westeurope", "francecentral", "eastus2", false)),
// Logz is only available in certain locations
"logz" to testConfiguration(locationOverride = LocationConfiguration("westeurope", "westus2", "eastus2", false)),
// MSSQl uses app service which is only available in certain locations
"mssql" to testConfiguration(locationOverride = LocationConfiguration("westeurope", "francecentral", "eastus2", false), useDevTestSubscription = true),
// MSSQL Managed Instance creation can impact the service so limit the frequency and number of tests
"mssqlmanagedinstance" to testConfiguration(parallelism = 4, daysOfWeek = "7", locationOverride = LocationConfiguration("westeurope", "francecentral", "eastus2", false), useDevTestSubscription = true),
// MySQL has quota available in certain locations
"mysql" to testConfiguration(locationOverride = LocationConfiguration("westeurope", "francecentral", "eastus2", false), useDevTestSubscription = true),
// netapp has a max of 10 accounts and the max capacity of pool is 25 TiB per subscription so lets limit it to 1 to account for broken ones, run Monday, Wednesday, Friday
"netapp" to testConfiguration(parallelism = 1, daysOfWeek = "2,4,6", locationOverride = LocationConfiguration("westeurope", "eastus2", "westus2", false), useDevTestSubscription = true),
// New Relic is only available in East US region
"newrelic" to testConfiguration(locationOverride = LocationConfiguration("eastus", "eastus", "eastus", false)),
// Orbital is only available in certain locations
"orbital" to testConfiguration(locationOverride = LocationConfiguration("eastus", "southcentralus", "westus2", false)),
"policy" to testConfiguration(useAltSubscription = true),
// Private DNS Resolver is only available in certain locations
"privatednsresolver" to testConfiguration(locationOverride = LocationConfiguration("eastus", "westus3", "westeurope", true)),
// redisenterprise is costly - Monday, Wednesday, Friday
"redisenterprise" to testConfiguration(daysOfWeek = "2,4,6", useDevTestSubscription = true),
// servicebus quotas are limited and we experience failures if tests
// execute too quickly as we run out of namespaces in the sub
"servicebus" to testConfiguration(parallelism = 10, useDevTestSubscription = true),
// SignalR only allows provisioning one "Free" instance at a time,
// which is used in multiple tests
"signalr" to testConfiguration(parallelism = 1),
// Spring Cloud only allows a max of 10 provisioned
"springcloud" to testConfiguration(parallelism = 5, useDevTestSubscription = true),
// SQL has quota available in certain locations
"sql" to testConfiguration(locationOverride = LocationConfiguration("westeurope", "francecentral", "eastus2", false), useDevTestSubscription = true),
"storagemover" to testConfiguration(locationOverride = LocationConfiguration("eastus", "eastus2", "westus3", false), useDevTestSubscription = true),
// StreamAnalytics has quota available in certain locations
"streamanalytics" to testConfiguration(locationOverride = LocationConfiguration("westeurope", "francecentral", "eastus2", false), useDevTestSubscription = true),
// Synapse is only available in certain locations
"synapse" to testConfiguration(locationOverride = LocationConfiguration("westeurope", "francecentral", "eastus2", false), useDevTestSubscription = true),
// Currently, we have insufficient quota to actually run these, but there are a few nodes in West Europe, so we'll pin it there for now
"vmware" to testConfiguration(parallelism = 3, locationOverride = LocationConfiguration("westeurope", "westus2", "eastus2", false), useDevTestSubscription = true),
// In general, Azure Voice Service is available in several different regions, but each subscription will only be allowlisted for specific regions(`westcentralus`, `westcentralus`, `westcentralus`).
// Only the regions (`westcentralus`) is specified since the devtest subscription does not support creating resource group for the other two regions.
"voiceservices" to testConfiguration(parallelism = 3, locationOverride = LocationConfiguration("westcentralus", "westcentralus", "westcentralus", false), useDevTestSubscription = true),
// Offset start hour to avoid collision with new App Service, reduce frequency of testing days
"web" to testConfiguration(startHour = 3, daysOfWeek = "1,3,5", locationOverride = LocationConfiguration("westeurope", "francecentral", "eastus2", false), useDevTestSubscription = true),
// moved to alt subsription
"appconfiguration" to testConfiguration(useDevTestSubscription = true),
"dns" to testConfiguration(useDevTestSubscription = true),
"eventgrid" to testConfiguration(useDevTestSubscription = true),
"eventhub" to testConfiguration(useDevTestSubscription = true),
"firewall" to testConfiguration(useDevTestSubscription = true),
"keyvault" to testConfiguration(useDevTestSubscription = true),
"postgres" to testConfiguration(locationOverride = LocationConfiguration("northeurope", "centralus", "eastus", false), useDevTestSubscription = true),
"privatedns" to testConfiguration(useDevTestSubscription = true),
"redis" to testConfiguration(useDevTestSubscription = true)
)