-
Notifications
You must be signed in to change notification settings - Fork 10
/
azure-postgresql.yml
255 lines (255 loc) · 8.36 KB
/
azure-postgresql.yml
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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
# Copyright 2018 the Service Broker Project Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http:#www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
version: 1
name: csb-azure-postgresql
id: ef89bc54-299a-4384-9dd6-4ea0cca11700
description: Retired - Azure Database for PostgreSQL single servers
display_name: Retired - Azure Database for PostgreSQL single servers
image_url: file://service-images/csb.png
documentation_url: https://learn.microsoft.com/en-gb/azure/postgresql/single-server/overview-single-server
support_url: https://learn.microsoft.com/en-gb/azure/postgresql/single-server/overview-single-server
tags: [azure, postgresql, postgres, preview, retired, single server]
plan_updateable: true
plans:
- name: small
id: aa1cf0f0-79fe-4132-a112-859fef9bf7cc
description: 'PostgreSQL 11, minimum 2 cores, minimum 4GB ram, 5GB storage'
display_name: "small"
properties:
- name: medium
id: d83c74b9-0bb9-409e-bd26-8424ea908462
description: 'PostgreSQL 11, minimum 4 cores, minimum 8GB ram, 10GB storage'
display_name: "medium"
properties:
cores: 4
storage_gb: 10
- name: large
id: 945b0ca1-5b5e-49b0-884a-20809103907e
description: 'PostgreSQL 11, minimum 8 cores, minimum 16GB ram, 20GB storage'
display_name: "large"
properties:
cores: 8
storage_gb: 20
provision:
plan_inputs: []
user_inputs:
- field_name: cores
type: integer
details: Minimum number of cores for service instance.
default: 2
constraints:
maximum: 64
minimum: 1
multipleOf: 2
- field_name: postgres_version
type: string
details: The version for the PostgreSQL instance.
default: "11"
enum:
"9.5": PostgreSQL 9.5
"9.6": PostgreSQL 9.6
"10": PostgreSQL 10
"11": PostgreSQL 11
- field_name: storage_gb
type: number
details: Size of storage volume for service instance.
default: 5
constraints:
maximum: 4096
minimum: 5
- field_name: use_tls
type: boolean
details: Use TLS for connection
default: true
- field_name: instance_name
type: string
details: Name for your PostgreSQL instance
default: csb-postgresql-${request.instance_id}
constraints:
maxLength: 98
minLength: 6
pattern: ^[a-z][a-z0-9-]+$
prohibit_update: true
- field_name: resource_group
type: string
details: Name for the resource group for this instance
default: ''
constraints:
maxLength: 64
minLength: 0
pattern: ^[a-z][a-z0-9-]+$|^$
prohibit_update: true
- field_name: db_name
type: string
details: Name for your database
default: vsbdb
constraints:
maxLength: 64
- field_name: authorized_network
type: string
details: The subnet ID of the Azure VNET to which the instance is locked down to. If left unspecified,
default: default
- field_name: location
type: string
details: The location of the Postgres instance.
default: westus
constraints:
examples:
- westus2
- uksouth
pattern: ^[a-z][a-z0-9]+$
prohibit_update: true
- field_name: azure_tenant_id
type: string
details: Azure Tenant to create resource in
default: ${config("azure.tenant_id")}
- field_name: azure_subscription_id
type: string
details: Azure Subscription to create resource in
default: ${config("azure.subscription_id")}
- field_name: azure_client_id
type: string
details: Client ID of Azure principal
default: ${config("azure.client_id")}
- field_name: azure_client_secret
type: string
details: Client secret for Azure principal
default: ${config("azure.client_secret")}
- field_name: skip_provider_registration
type: boolean
details: Skip automatic Azure provider registration, set to true if service principal being used does not have rights to register providers
default: false
- field_name: sku_name
type: string
details: Azure sku (typically, tier [B,GP,MO] + family [Gen4,Gen5] + cores, e.g. B_Gen4_1, GP_Gen5_8, see https://docs.microsoft.com/en-us/azure/mysql/concepts-pricing-tiers) Will be computed from cores if empty.
default: ""
computed_inputs:
- name: labels
default: ${json.marshal(request.default_labels)}
overwrite: true
type: object
template_refs:
data: terraform/azure-postgres/provision/data.tf
main: terraform/azure-postgres/provision/main.tf
moved: terraform/azure-postgres/provision/moved-azure-postgres.tf
outputs: terraform/azure-postgres/provision/outputs.tf
provider: terraform/azure-postgres/provision/provider.tf
variables: terraform/azure-postgres/provision/variables.tf
versions: terraform/azure-postgres/provision/versions.tf
outputs:
- field_name: name
type: string
details: The name of the database.
- field_name: hostname
type: string
details: Hostname or IP address of the exposed PostgreSQL endpoint used by clients to connect to the service.
- field_name: port
type: integer
details: The port number of the exposed PostgreSQL instance.
- field_name: username
type: string
details: The username to authenticate to the database instance.
- field_name: password
type: string
details: The password to authenticate to the database instance.
- field_name: use_tls
type: boolean
details: Using TLS for connection
bind:
plan_inputs: []
user_inputs: []
computed_inputs:
- name: db_name
type: string
default: ${instance.details["name"]}
overwrite: true
- name: hostname
type: string
default: ${instance.details["hostname"]}
overwrite: true
- name: port
type: integer
default: ${instance.details["port"]}
overwrite: true
- name: admin_username
type: string
default: ${instance.details["username"]}
overwrite: true
- name: admin_password
type: string
default: ${instance.details["password"]}
overwrite: true
- name: use_tls
type: boolean
default: ${instance.details["use_tls"]}
overwrite: true
template_refs:
data: terraform/azure-postgres/bind/data.tf
main: terraform/azure-postgres/bind/main.tf
moved: terraform/azure-postgres/bind/moved-azure-postgres.tf
outputs: terraform/azure-postgres/bind/outputs.tf
provider: terraform/azure-postgres/bind/provider.tf
variables: terraform/azure-postgres/bind/variables.tf
versions: terraform/azure-postgres/bind/versions.tf
outputs:
- field_name: username
type: string
details: The username to authenticate to the database instance.
- field_name: password
type: string
details: The password to authenticate to the database instance.
- field_name: uri
type: string
details: The uri to connect to the database instance and database.
- field_name: jdbcUrl
type: string
details: The jdbc url to connect to the database instance and database.
examples:
- name: small
description: Create a small PostgreSQL instance
plan_id: aa1cf0f0-79fe-4132-a112-859fef9bf7cc
provision_params: {}
bind_params: {}
bind_can_fail: true
- name: small-v9.6-50gb
description: Create a small PostgreSQL v9.6 instance with 50gb storage
plan_id: aa1cf0f0-79fe-4132-a112-859fef9bf7cc
provision_params: {"postgres_version": "9.6", "storage_gb": 50}
bind_params: {}
bind_can_fail: true
- name: medium
description: Create a medium PostgreSQL instance
plan_id: d83c74b9-0bb9-409e-bd26-8424ea908462
provision_params: {}
bind_params: {}
bind_can_fail: true
- name: large
description: Create a large PostgreSQL instance
plan_id: 945b0ca1-5b5e-49b0-884a-20809103907e
provision_params: {}
bind_params: {}
bind_can_fail: true
- name: small-v9.5
description: Create a small PostgreSQL v9.5 instance
plan_id: aa1cf0f0-79fe-4132-a112-859fef9bf7cc
provision_params: {"postgres_version": "9.5"}
bind_params: {}
bind_can_fail: true
- name: small-v10
description: Create a small PostgreSQL v10 instance
plan_id: aa1cf0f0-79fe-4132-a112-859fef9bf7cc
provision_params: {"postgres_version": "10"}
bind_params: {}
bind_can_fail: true