-
Notifications
You must be signed in to change notification settings - Fork 6
/
config.schema.json
83 lines (83 loc) · 3.16 KB
/
config.schema.json
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
{
"$schema": "http://json-schema.org/schema",
"$id": "http://purple.telstra.com/ADP/config.schema.json",
"title": "Azure Data Platform Config",
"description": "Configuration file for the Azure Data Platform",
"type": "object",
"properties": {
"CompanyName": {
"type": "string",
"description": "The full name of the company this solution will be deployed for e.g. Telstra Purple",
"minLength": 1
},
"CompanyCode": {
"type": "string",
"description": "The abbreviated code of the company this solution will be deployed for e.g. TP",
"maxLength": 10,
"minLength": 1
},
"AppName": {
"type": "string",
"description": "The full name of the application being deployed e.g. Azure Data Platform",
"minLength": 1
},
"AppCode": {
"type": "string",
"description": "The abbreviated code of the application being deployed e.g. ADP",
"maxLength": 10,
"minLength": 1
},
"Delimiter": {
"type": "string",
"description": "The delimiter to use between the different parts of resource names",
"enum": ["", "-", "_"]
},
"resourceGroupNames": {
//Declare resourceGroups here instead of in the core module schema.
//Even though they're deployed _by_ the core module, they're used by every deploy script
"$ref": "./schema/config.common.schema.json#/definitions/resourceGroups"
},
"deployAzureADResources": {
"type": "boolean",
"description": "Whether or not we have permission to deploy resources (e.g. groups, service principals) into Azure AD."
},
"deploySubscriptionResources": {
"type": "boolean",
"description": "Whether or not we have permission to deploy resources (e.g. resource groups, Azure Policy) into the Azure subscription."
},
"create": {
"description": "Flags to control optionally deployed components.",
"type": "object"
//Don't declare any specific properties of the "create" property".
//Config.schema.json declares the required existence of the "create" property.
//Sub-schemas declare the required properties _inside_ it.
}
},
"allOf": [
{ "$ref": "./schema/deploy-core.schema.json" },
{ "$ref": "./schema/deploy-identities.schema.json" },
{ "$ref": "./schema/deploy-policy.schema.json" },
{ "$ref": "./schema/deploy-network.schema.json" },
{ "$ref": "./schema/deploy-automation.schema.json" },
{ "$ref": "./schema/deploy-data.schema.json" },
{ "$ref": "./schema/deploy-databricks.schema.json" },
{ "$ref": "./schema/deploy-datafactory.schema.json" },
{ "$ref": "./schema/deploy-webapp.schema.json" },
{ "$ref": "./schema/deploy-keyvault.schema.json" },
{ "$ref": "./schema/deploy-sqlaccess.schema.json" },
{ "$ref": "./schema/databases/deploy-databases.schema.json" },
{ "$ref": "./schema/datafactory/deploy-datafactory-app.schema.json" },
{ "$ref": "./schema/databricks/deploy-databricks-app.schema.json" }
],
"required": [
"CompanyName",
"CompanyCode",
"AppName",
"AppCode",
"Delimiter",
"resourceGroupNames",
"deployAzureADResources",
"deploySubscriptionResources",
"create"
]
}