forked from GoogleCloudPlatform/magic-modules
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInstance.yaml
343 lines (343 loc) · 12.7 KB
/
Instance.yaml
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
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
---
!ruby/object:Api::Resource
base_url: "projects/{{project}}/locations/{{location}}/instances"
create_url: "projects/{{project}}/locations/{{location}}/instances?instanceId={{instance_id}}"
self_link: "projects/{{project}}/locations/{{location}}/instances/{{instance_id}}"
id_format: "projects/{{project}}/locations/{{location}}/instances/{{instance_id}}"
import_format:
- "projects/{{project}}/locations/{{location}}/instances/{{instance_id}}"
name: Instance
description: A Google Cloud Memorystore instance.
update_verb: :PATCH
update_mask: true
autogen_async: true
min_version: beta
timeouts: !ruby/object:Api::Timeouts
insert_minutes: 60
update_minutes: 120
delete_minutes: 30
custom_code: !ruby/object:Provider::Terraform::CustomCode
encoder: templates/terraform/encoders/memorystore_instance.go.erb
decoder: templates/terraform/decoders/memorystore_instance.go.erb
examples:
- !ruby/object:Provider::Terraform::Examples
name: "memorystore_instance_basic"
primary_resource_id: "instance-basic"
min_version: beta
vars:
instance_name: "basic-instance"
policy_name: "my-policy"
subnet_name: "my-subnet"
network_name: "my-network"
prevent_destroy: "true"
test_vars_overrides:
prevent_destroy: "false"
oics_vars_overrides:
prevent_destroy: "false"
- !ruby/object:Provider::Terraform::Examples
name: "memorystore_instance_full"
primary_resource_id: "instance-full"
min_version: beta
vars:
instance_name: "full-instance"
policy_name: "my-policy"
subnet_name: "my-subnet"
network_name: "my-network"
prevent_destroy: "true"
test_vars_overrides:
prevent_destroy: "false"
oics_vars_overrides:
prevent_destroy: "false"
- !ruby/object:Provider::Terraform::Examples
name: "memorystore_instance_persistence_aof"
primary_resource_id: "instance-persistence-aof"
min_version: beta
vars:
instance_name: "aof-instance"
policy_name: "my-policy"
subnet_name: "my-subnet"
network_name: "my-network"
prevent_destroy: "true"
test_vars_overrides:
prevent_destroy: "false"
oics_vars_overrides:
prevent_destroy: "false"
properties:
- !ruby/object:Api::Type::String
name: name
description: "Identifier. Unique name of the instance.\nFormat: projects/{project}/locations/{location}/instances/{instance} "
output: true
- !ruby/object:Api::Type::String
name: createTime
description: "Output only. Creation timestamp of the instance. "
output: true
- !ruby/object:Api::Type::String
name: updateTime
description: "Output only. Latest update timestamp of the instance. "
output: true
- !ruby/object:Api::Type::KeyValueLabels
name: labels
description: "Optional. Labels to represent user-provided metadata. "
- !ruby/object:Api::Type::String
name: state
description:
"Output only. Current state of the instance. \n Possible values:\n
CREATING\nACTIVE\nUPDATING\nDELETING"
output: true
- !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::Integer
name: targetShardCount
description: "Output only. Target number of shards for the instance. "
output: true
- !ruby/object:Api::Type::Integer
name: targetReplicaCount
description:
"Output only. Target number of replica nodes per shard for the
instance. "
output: true
name: updateInfo
description: "Represents information about instance with state UPDATING. "
output: true
name: stateInfo
description: "Additional information about the state of the instance. "
output: true
- !ruby/object:Api::Type::String
name: uid
description: "Output only. System assigned, unique identifier for the instance. "
output: true
- !ruby/object:Api::Type::Integer
name: replicaCount
description:
"Optional. Number of replica nodes per shard. If omitted the default
is 0 replicas. "
default_from_api: true
- !ruby/object:Api::Type::String
name: authorizationMode
description:
"Optional. Immutable. Authorization mode of the instance. \n Possible
values:\n AUTH_DISABLED\nIAM_AUTH"
immutable: true
default_from_api: true
- !ruby/object:Api::Type::String
name: transitEncryptionMode
description:
"Optional. Immutable. In-transit encryption mode of the instance. \n
Possible values:\n TRANSIT_ENCRYPTION_DISABLED\nSERVER_AUTHENTICATION"
immutable: true
default_from_api: true
- !ruby/object:Api::Type::Integer
name: shardCount
description: "Required. Number of shards for the instance. "
required: true
- !ruby/object:Api::Type::Array
name: discoveryEndpoints
item_type: !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::String
name: address
description:
"Output only. IP address of the exposed endpoint clients connect
to. "
output: true
- !ruby/object:Api::Type::Integer
name: port
description: "Output only. The port number of the exposed endpoint. "
output: true
- !ruby/object:Api::Type::String
name: network
description:
"Output only. The network where the IP address of the discovery
endpoint will be\nreserved, in the form of\nprojects/{network_project}/global/networks/{network_id}. "
output: true
description:
"Output only. Endpoints clients can connect to the instance through.
Currently only one\ndiscovery endpoint is supported. "
output: true
- !ruby/object:Api::Type::String
name: nodeType
description:
"Optional. Immutable. Machine type for individual nodes of the instance.
\n Possible values:\n SHARED_CORE_NANO\nHIGHMEM_MEDIUM\nHIGHMEM_XLARGE\nSTANDARD_SMALL"
immutable: true
default_from_api: true
- !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::Enum
name: mode
description: "Optional. Current persistence mode. \n Possible values:\nDISABLED\nRDB\nAOF"
values:
- :DISABLED
- :RDB
- :AOF
default_from_api: true
- !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::String
name: rdbSnapshotPeriod
default_from_api: true
description:
"Optional. Period between RDB snapshots. \n Possible values:\n
ONE_HOUR\nSIX_HOURS\nTWELVE_HOURS\nTWENTY_FOUR_HOURS"
- !ruby/object:Api::Type::String
name: rdbSnapshotStartTime
description:
"Optional. Time that the first snapshot was/will be attempted,
and to which future\nsnapshots will be aligned. If not provided, the current
time will be\nused. "
default_from_api: true
name: rdbConfig
description: "Configuration for RDB based persistence. "
default_from_api: true
- !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::String
name: appendFsync
description: "Optional. The fsync mode. \n Possible values:\n NEVER\nEVERY_SEC\nALWAYS"
default_from_api: true
name: aofConfig
description: "Configuration for AOF based persistence. "
default_from_api: true
name: persistenceConfig
default_from_api: true
description: "Represents persistence configuration for a instance. "
- !ruby/object:Api::Type::String
name: engineVersion
description: "Optional. Immutable. Engine version of the instance. "
immutable: true
default_from_api: true
- !ruby/object:Api::Type::KeyValuePairs
name: engineConfigs
description: "Optional. User-provided engine configurations for the instance. "
- !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::Double
name: sizeGb
description: "Output only. Memory size in GB of the node. "
output: true
name: nodeConfig
output: true
description: "Represents configuration for nodes of the instance. "
- !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::String
name: zone
description:
"Optional. Defines zone where all resources will be allocated with
SINGLE_ZONE mode.\nIgnored for MULTI_ZONE mode. "
immutable: true
- !ruby/object:Api::Type::Enum
name: mode
values:
- :MULTI_ZONE
- :SINGLE_ZONE
default_from_api: true
description:
"Optional. Current zone distribution mode. Defaults to MULTI_ZONE.
\n Possible values:\n MULTI_ZONE\nSINGLE_ZONE"
name: zoneDistributionConfig
immutable: true
default_from_api: true
description: "Zone distribution configuration for allocation of instance resources. "
- !ruby/object:Api::Type::Boolean
name: deletionProtectionEnabled
description: "Optional. If set to true deletion of the instance will fail. "
default_value: true
- !ruby/object:Api::Type::Array
name: pscAutoConnections
item_type: !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::String
name: pscConnectionId
description:
"Output only. The PSC connection id of the forwarding rule connected
to the\nservice attachment. "
output: true
- !ruby/object:Api::Type::String
name: ipAddress
description:
"Output only. The IP allocated on the consumer network for the
PSC forwarding rule. "
output: true
- !ruby/object:Api::Type::String
name: forwardingRule
description: "Output only. The URI of the consumer side forwarding rule.\nFormat:\nprojects/{project}/regions/{region}/forwardingRules/{forwarding_rule} "
output: true
- !ruby/object:Api::Type::String
name: projectId
description:
"Output only. The consumer project_id where the forwarding rule is
created from. "
output: true
- !ruby/object:Api::Type::String
name: network
description:
"Output only. The consumer network where the IP address resides, in
the form of\nprojects/{project_id}/global/networks/{network_id}. "
output: true
description:
"Output only. User inputs and resource details of the auto-created
PSC connections. "
output: true
parameters:
- !ruby/object:Api::Type::String
name: location
description:
"Resource ID segment making up resource `name`. It identifies the resource
within its parent collection as described in https://google.aip.dev/122. See documentation
for resource type `memorystore.googleapis.com/CertificateAuthority`. "
url_param_only: true
required: true
immutable: true
- !ruby/object:Api::Type::String
name: instanceId
description:
"Required. The ID to use for the instance, which will become the final
component of\nthe instance's resource name.\n\nThis value is subject to the following
restrictions:\n\n* Must be 4-63 characters in length\n* Must begin with a letter
or digit\n* Must contain only lowercase letters, digits, and hyphens\n* Must not
end with a hyphen\n* Must be unique within a location "
url_param_only: true
required: true
immutable: true
virtual_fields:
- !ruby/object:Api::Type::Array
name: desired_psc_auto_connections
item_type: !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::String
name: project_id
description:
"Required. The consumer project_id where the forwarding rule is
created from. "
required: true
- !ruby/object:Api::Type::String
name: network
description:
"Required. The consumer network where the IP address resides, in
the form of\nprojects/{project_id}/global/networks/{network_id}. "
required: true
description: "Required. Immutable. User inputs for the auto-created
PSC connections. "
immutable: true
required: true
async: !ruby/object:Api::OpAsync
operation: !ruby/object:Api::OpAsync::Operation
path: name
base_url: "{{op_id}}"
wait_ms: 1000
timeouts:
result: !ruby/object:Api::OpAsync::Result
path: response
resource_inside_response: true
status: !ruby/object:Api::OpAsync::Status
path: done
complete: true
allowed:
- true
- false
error: !ruby/object:Api::OpAsync::Error
path: error
message: message