-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
Copy pathapi.yaml
733 lines (729 loc) · 30.8 KB
/
api.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
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
# Copyright 2017 Google Inc.
# 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.
--- !ruby/object:Api::Product
name: SQL
display_name: Cloud SQL
versions:
- !ruby/object:Api::Product::Version
name: ga
base_url: https://sqladmin.googleapis.com/sql/v1beta4/
scopes:
- https://www.googleapis.com/auth/sqlservice.admin
apis_required:
- !ruby/object:Api::Product::ApiReference
name: Cloud SQL Admin API
url: https://console.cloud.google.com/apis/library/sqladmin.googleapis.com/
async: !ruby/object:Api::OpAsync
operation: !ruby/object:Api::OpAsync::Operation
kind: 'sql#operation'
path: 'name'
base_url: 'projects/{{project}}/operations/{{op_id}}'
wait_ms: 1000
result: !ruby/object:Api::OpAsync::Result
path: 'targetLink'
status: !ruby/object:Api::OpAsync::Status
path: 'status'
complete: 'DONE'
allowed:
- 'PENDING'
- 'RUNNING'
- 'DONE'
error: !ruby/object:Api::OpAsync::Error
path: 'error/errors'
message: 'message'
objects:
# 'BackupRun' is not idempotent and will not be covered.
# | - !ruby/object:Api::Resource
# | name: 'BackupRun'
# | kind: 'sql#backupRun'
# | base_url: projects/{{project}}/instances/{{instance}}/backupRuns
- !ruby/object:Api::Resource
name: 'Instance'
kind: 'sql#instance'
base_url: projects/{{project}}/instances
description: |
Represents a Cloud SQL instance. Cloud SQL instances are SQL databases
hosted in Google's cloud. The Instances resource provides methods for
common configuration and management tasks.
collection_url_key: 'items'
properties:
- !ruby/object:Api::Type::Enum
name: 'backendType'
description: |
* FIRST_GEN: First Generation instance. MySQL only.
* SECOND_GEN: Second Generation instance or PostgreSQL instance.
* EXTERNAL: A database server that is not managed by Google.
values:
- :FIRST_GEN
- :SECOND_GEN
- :EXTERNAL
- !ruby/object:Api::Type::String
name: 'connectionName'
description: |
Connection name of the Cloud SQL instance used in connection strings.
# currentDiskSize (long) [DEPRECATED]
# | - !ruby/object:Api::Type::Long
# | name: 'currentDiskSize'
# | description: |
# | The current disk usage of the instance in bytes. This property has
# | been deprecated. Users should use the
# | "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud
# | Monitoring API instead. Please see
# | https://groups.google.com/d/msg/google-cloud-sql-announce/
# | I_7-F9EBhT0/BtvFtdFeAgAJ for details.
- !ruby/object:Api::Type::Enum
name: 'databaseVersion'
description: |
The database engine type and version. For First Generation instances,
can be MYSQL_5_5, or MYSQL_5_6. For Second Generation instances, can
be MYSQL_5_6 or MYSQL_5_7. Defaults to MYSQL_5_6.
PostgreSQL instances: POSTGRES_9_6
The databaseVersion property can not be changed after instance
creation.
values:
- :MYSQL_5_5
- :MYSQL_5_6
- :MYSQL_5_7
- :POSTGRES_9_6
- !ruby/object:Api::Type::NestedObject
name: 'failoverReplica'
description: |
The name and status of the failover replica. This property is
applicable only to Second Generation instances.
properties:
- !ruby/object:Api::Type::Boolean
name: 'available'
description: |
The availability status of the failover replica. A false status
indicates that the failover replica is out of sync. The master
can only failover to the failover replica when the status is true.
output: true
- !ruby/object:Api::Type::String
name: 'name'
description: |
The name of the failover replica. If specified at instance
creation, a failover replica is created for the instance. The name
doesn't include the project ID. This property is applicable only
to Second Generation instances.
- !ruby/object:Api::Type::Enum
name: 'instanceType'
description: |
The instance type. This can be one of the following.
* CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating
from a master.
* ON_PREMISES_INSTANCE: An instance running on the customer's
premises.
* READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a
read-replica.
values:
- :CLOUD_SQL_INSTANCE
- :ON_PREMISES_INSTANCE
- :READ_REPLICA_INSTANCE
- !ruby/object:Api::Type::Array
name: 'ipAddresses'
description: 'The assigned IP addresses for the instance.'
output: true
item_type: !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::String
name: 'ipAddress'
description: 'The IP address assigned.'
- !ruby/object:Api::Type::Time
name: 'timeToRetire'
description: |
The due time for this IP to be retired in RFC 3339 format, for
example 2012-11-15T16:19:00.094Z. This field is only available
when the IP is scheduled to be retired.
- !ruby/object:Api::Type::Enum
name: 'type'
description: |
The type of this IP address. A PRIMARY address is an address
that can accept incoming connections. An OUTGOING address is the
source address of connections originating from the instance, if
supported.
values:
- :PRIMARY
- :OUTGOING
- !ruby/object:Api::Type::String
name: 'ipv6Address'
description: |
The IPv6 address assigned to the instance. This property is applicable
only to First Generation instances.
- !ruby/object:Api::Type::String
name: 'masterInstanceName'
description: |
The name of the instance which will act as master in the replication
setup.
- !ruby/object:Api::Type::Integer
name: 'maxDiskSize'
description: 'The maximum disk size of the instance in bytes.'
- !ruby/object:Api::Type::String
name: 'name'
description: |
Name of the Cloud SQL instance. This does not include the project
ID.
required: true
# TODO(alexstephen): Investigate if worth to make this depend on compute's
# region as a resource reference. (low priority, non launch blocker)
- !ruby/object:Api::Type::String
name: 'region'
description: |
The geographical region. Defaults to us-central or us-central1
depending on the instance type (First Generation or Second
Generation/PostgreSQL).
- !ruby/object:Api::Type::NestedObject
name: 'replicaConfiguration'
description: |
Configuration specific to failover replicas and read replicas.
properties:
- !ruby/object:Api::Type::Boolean
name: 'failoverTarget'
description: |
Specifies if the replica is the failover target. If the field is
set to true the replica will be designated as a failover replica.
In case the master instance fails, the replica instance will be
promoted as the new master instance.
Only one replica can be specified as failover target, and the
replica has to be in different zone with the master instance.
# TODO(nelsonjr): Is this needed or output only?
# | - !ruby/object:Api::Type::Constant
# | name: 'kind'
# | description: |
# | This is always sql#replicaConfiguration.
# | value: 'sql#replicaConfiguration'
- !ruby/object:Api::Type::NestedObject
name: 'mysqlReplicaConfiguration'
description: |
MySQL specific configuration when replicating from a MySQL
on-premises master. Replication configuration information such as
the username, password, certificates, and keys are not stored in
the instance metadata. The configuration information is used
only to set up the replication connection and is stored by MySQL
in a file named master.info in the data directory.
properties:
- !ruby/object:Api::Type::String
name: 'caCertificate'
description: |
PEM representation of the trusted CA's x509 certificate.
- !ruby/object:Api::Type::String
name: 'clientCertificate'
description: |
PEM representation of the slave's x509 certificate
- !ruby/object:Api::Type::String
name: 'clientKey'
description: |
PEM representation of the slave's private key. The
corresponding public key is encoded in the client's certificate.
- !ruby/object:Api::Type::Integer
name: 'connectRetryInterval'
description: |
Seconds to wait between connect retries. MySQL's default is 60
seconds.
- !ruby/object:Api::Type::String
name: 'dumpFilePath'
description: |
Path to a SQL dump file in Google Cloud Storage from which the
slave instance is to be created. The URI is in the form
gs://bucketName/fileName. Compressed gzip files (.gz) are
also supported. Dumps should have the binlog coordinates from
which replication should begin. This can be accomplished by
setting --master-data to 1 when using mysqldump.
# TODO(nelsonjr): Is this needed or output only?
# | - !ruby/object:Api::Type::Constant
# | name: 'kind'
# | description: 'This is always sql#mysqlReplicaConfiguration.'
# | value: 'sql#mysqlReplicaConfiguration'
- !ruby/object:Api::Type::Integer
name: 'masterHeartbeatPeriod'
description: |
Interval in milliseconds between replication heartbeats.
- !ruby/object:Api::Type::String
name: 'password'
description: |
The password for the replication connection.
- !ruby/object:Api::Type::String
name: 'sslCipher'
description: |
A list of permissible ciphers to use for SSL encryption.
- !ruby/object:Api::Type::String
name: 'username'
description: |
The username for the replication connection.
- !ruby/object:Api::Type::Boolean
name: 'verifyServerCertificate'
description: |
Whether or not to check the master's Common Name value in the
certificate that it sends during the SSL handshake.
- !ruby/object:Api::Type::Array
name: 'replicaNames'
description: |
The replicas of the instance.
item_type: Api::Type::String
# TODO(nelsonjr): Parameter is unclear. Review this property when
# http://b/62686412 is addressed.
# | - !ruby/object:Api::Type::NestedObject
# | name: 'serverCaCert'
# | description: 'SSL configuration.'
- !ruby/object:Api::Type::String
name: 'serviceAccountEmailAddress'
description: |
The service account email address assigned to the instance. This
property is applicable only to Second Generation instances.
# TODO(nelsonjr): Add other settings properties
- !ruby/object:Api::Type::NestedObject
name: 'settings'
description: 'The user settings.'
properties:
- !ruby/object:Api::Type::Array
name: 'databaseFlags'
description: The database flags passed to the instance at startup
item_type: !ruby/object:Api::Type::NestedObject
properties:
- !ruby/object:Api::Type::String
name: 'name'
description: |
The name of the flag. These flags are passed at instance
startup, so include both server options and system
variables for MySQL. Flags should be specified with
underscores, not hyphens.
- !ruby/object:Api::Type::String
name: 'value'
description: |
The value of the flag. Booleans should be set to on for
true and off for false. This field must be omitted if the
flag doesn't take a value.
#- !ruby/object:Api::Type::Constant
# name: 'kind'
# value: 'sql#settings'
- !ruby/object:Api::Type::NestedObject
name: 'ipConfiguration'
description: |
The settings for IP Management. This allows to enable or disable
the instance IP and manage which external networks can connect to
the instance. The IPv4 address cannot be disabled for Second
Generation instances.
properties:
- !ruby/object:Api::Type::Boolean
name: 'ipv4Enabled'
description: |
Whether the instance should be assigned an IP address or not.
- !ruby/object:Api::Type::Array
name: 'authorizedNetworks'
description: |
The list of external networks that are allowed to connect to
the instance using the IP. In CIDR notation, also known as
'slash' notation (e.g. 192.168.100.0/24).
item_type: !ruby/object:Api::Type::NestedObject
properties:
#- !ruby/object:Api::Type::Constant
# name: 'kind'
# value: 'sql#aclEntry'
- !ruby/object:Api::Type::Time
name: 'expirationTime'
description: |
The time when this access control entry expires in RFC
3339 format, for example 2012-11-15T16:19:00.094Z.
- !ruby/object:Api::Type::String
name: 'name'
description: 'An optional label to identify this entry.'
- !ruby/object:Api::Type::String
name: 'value'
description: |
The whitelisted value for the access control list. For
example, to grant access to a client from an external IP
(IPv4 or IPv6) address or subnet, use that address or
subnet here.
- !ruby/object:Api::Type::Boolean
name: 'requireSsl'
description: |
Whether the mysqld should default to 'REQUIRE X509' for
users connecting over IP.
- !ruby/object:Api::Type::String
name: 'tier'
description: |
The tier or machine type for this instance, for
example db-n1-standard-1. For MySQL instances, this field
determines whether the instance is Second Generation (recommended)
or First Generation.
- !ruby/object:Api::Type::Enum
name: 'availabilityType'
description: |
The availabilityType define if your postgres instance is run zonal
or regional.
values:
- :ZONAL
- :REGIONAL
- !ruby/object:Api::Type::NestedObject
name: 'backupConfiguration'
description: |
The daily backup configuration for the instance.
properties:
#- !ruby/object:Api::Type::Constant
# name: 'kind'
# value: 'sql#backupConfiguration'
- !ruby/object:Api::Type::Boolean
name: 'enabled'
description: |
Enable Autobackup for your instance.
- !ruby/object:Api::Type::Boolean
name: 'binaryLogEnabled'
description: |
Whether binary log is enabled. If backup configuration
is disabled, binary log must be disabled as well. MySQL only.
- !ruby/object:Api::Type::String
name: 'startTime'
description: |
Define the backup start time in UTC (HH:MM)
- !ruby/object:Api::Type::Integer
name: 'settingsVersion'
output: true
description: |
The version of instance settings. This is a required field for
update method to make sure concurrent updates are handled properly.
During update, use the most recent settingsVersion value for this
instance and do not try to update this value.
- !ruby/object:Api::Type::KeyValuePairs
name: 'userLabels'
description: |
User-provided labels, represented as a dictionary where each label is a single key value pair.
- !ruby/object:Api::Type::String
name: 'gceZone'
output: true
description: |
The Compute Engine zone that the instance is currently serving from. This value could be
different from the zone that was specified when the instance was created if the instance
has failed over to its secondary zone.
- !ruby/object:Api::Type::Enum
name: 'state'
output: true
description: |
The current serving state of the database instance.
values:
- :SQL_INSTANCE_STATE_UNSPECIFIED
- :RUNNABLE
- :SUSPENDED
- :PENDING_DELETE
- :PENDING_CREATE
- :MAINTENANCE
- :FAILED
- !ruby/object:Api::Type::NestedObject
name: 'diskEncryptionConfiguration'
description: 'Disk encyption settings'
properties:
- !ruby/object:Api::Type::String
name: 'kmsKeyName'
description: |
The KMS key used to encrypt the Cloud SQL instance
- !ruby/object:Api::Type::NestedObject
name: 'diskEncryptionStatus'
description: 'Disk encyption status'
properties:
- !ruby/object:Api::Type::String
name: 'kmsKeyVersionName'
description: |
The KMS key version used to encrypt the Cloud SQL instance
- !ruby/object:Api::Type::NestedObject
name: 'serverCaCert'
description: 'SSL configuration'
output: true
properties:
- !ruby/object:Api::Type::String
name: 'cert'
description: 'PEM representation of the X.509 certificate.'
- !ruby/object:Api::Type::String
name: 'certSerialNumber'
description: 'Serial number, as extracted from the certificate.'
- !ruby/object:Api::Type::String
name: 'commonName'
description: 'User supplied name. Constrained to [a-zA-Z.-_ ]+.'
- !ruby/object:Api::Type::Time
name: 'createTime'
description: |
The time when the certificate was created in RFC 3339 format, for
example 2012-11-15T16:19:00.094Z.
- !ruby/object:Api::Type::Time
name: 'expirationTime'
description: |
The time when the certificate expires in RFC 3339 format, for example
2012-11-15T16:19:00.094Z.
- !ruby/object:Api::Type::String
name: 'sha1Fingerprint'
description: |
SHA-1 fingerprint of the certificate.
- !ruby/object:Api::Resource
name: 'Database'
kind: 'sql#database'
base_url: projects/{{project}}/instances/{{instance}}/databases
has_self_link: true
collection_url_key: 'items'
description: |
Represents a SQL database inside the Cloud SQL instance, hosted in
Google's cloud.
parameters:
- !ruby/object:Api::Type::String
name: 'instance'
description: |
The name of the Cloud SQL instance. This does not include the project
ID.
required: true
input: true
properties:
- !ruby/object:Api::Type::String
name: 'charset'
description: |
The charset value. See MySQL's
[Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html)
and Postgres' [Character Set Support](https://www.postgresql.org/docs/9.6/static/multibyte.html)
for more details and supported values. Postgres databases only support
a value of `UTF8` at creation time.
- !ruby/object:Api::Type::String
name: 'collation'
description: |
The collation value. See MySQL's
[Supported Character Sets and Collations](https://dev.mysql.com/doc/refman/5.7/en/charset-charsets.html)
and Postgres' [Collation Support](https://www.postgresql.org/docs/9.6/static/collation.html)
for more details and supported values. Postgres databases only support
a value of `en_US.UTF8` at creation time.
- !ruby/object:Api::Type::String
name: 'name'
required: true
input: true
description: |
The name of the database in the Cloud SQL instance.
This does not include the project ID or instance name.
- !ruby/object:Api::Resource
name: 'User'
kind: 'sql#user'
base_url: projects/{{project}}/instances/{{instance}}/users
self_link: 'projects/{{project}}/instances/{{instance}}/users?name={{name}}&host={{host}}'
nested_query: !ruby/object:Api::Resource::NestedQuery
kind: 'sql#usersList'
keys: ['items']
collection_url_key: 'items'
identity:
- name
- host
description: |
The Users resource represents a database user in a Cloud SQL instance.
parameters:
- !ruby/object:Api::Type::ResourceRef
name: 'instance'
description: |
The name of the Cloud SQL instance. This does not include the project
ID.
resource: 'Instance'
imports: 'name'
required: true
- !ruby/object:Api::Type::String
name: 'password'
description: 'The password for the user.'
input: true
properties:
- !ruby/object:Api::Type::String
name: 'host'
description: |
The host name from which the user can connect. For insert operations,
host defaults to an empty string. For update operations, host is
specified as part of the request URL. The host name cannot be updated
after insertion.
required: true
- !ruby/object:Api::Type::String
name: 'name'
description: 'The name of the user in the Cloud SQL instance.'
required: true
- !ruby/object:Api::Resource
name: 'SslCert'
kind: 'sql#sslCert'
base_url: projects/{{project}}/instances/{{instance}}/sslCerts
self_link: 'projects/{{project}}/instances/{{instance}}/sslCerts/{{sha1_fingerprint}}'
readonly: true # we're not enforcing state as it is all server-side driven.
description: |
Represents an SSL certificate created for a Cloud SQL instance. To use the
SSL certificate you must have the SSL Client Certificate and the
associated SSL Client Key. The Client Key can be downloaded only when the
SSL certificate is created with the insert method.
identity:
- sha1Fingerprint
parameters:
- !ruby/object:Api::Type::ResourceRef
name: 'instance'
description: |
The name of the Cloud SQL instance. This does not include the project
ID.
resource: 'Instance'
imports: 'name'
required: true
- !ruby/object:Api::Type::String
name: 'sha1Fingerprint'
description: 'The SHA-1 of the certificate.'
required: true
properties:
- !ruby/object:Api::Type::String
name: 'cert'
description: 'PEM representation of the X.509 certificate.'
- !ruby/object:Api::Type::String
name: 'certSerialNumber'
description: 'Serial number, as extracted from the certificate.'
- !ruby/object:Api::Type::String
name: 'commonName'
description: 'User supplied name. Constrained to [a-zA-Z.-_ ]+.'
- !ruby/object:Api::Type::Time
name: 'createTime'
description: |
The time when the certificate was created in RFC 3339 format, for
example 2012-11-15T16:19:00.094Z.
- !ruby/object:Api::Type::Time
name: 'expirationTime'
description: |
The time when the certificate expires in RFC 3339 format, for example
2012-11-15T16:19:00.094Z.
- !ruby/object:Api::Resource
name: 'Flag'
kind: 'sql#flag'
description:
'Represents a flag that can be configured for a Cloud SQL instance.'
base_url: flags
self_link: flags
nested_query: !ruby/object:Api::Resource::NestedQuery
kind: 'sql#flagsList'
keys: ['items']
readonly: true
properties:
- !ruby/object:Api::Type::Array
name: 'allowedStringValues'
item_type: Api::Type::String
description:
'For STRING flags, List of strings that the value can be set to.'
output: true
- !ruby/object:Api::Type::Array
name: 'appliesTo'
item_type: Api::Type::String
description: 'The database versions this flag is supported for.'
output: true
- !ruby/object:Api::Type::Integer
name: 'maxValue'
description: 'For INTEGER flags, the maximum allowed value.'
output: true
- !ruby/object:Api::Type::Integer
name: 'minValue'
description: 'For INTEGER flags, the minimum allowed value.'
output: true
- !ruby/object:Api::Type::String
name: 'name'
description: |
This is the name of the flag. Flag names always use underscores, not
hyphens, e.g. max_allowed_packet
- !ruby/object:Api::Type::Boolean
name: 'requiresRestart'
description: |
Indicates whether changing this flag will trigger a database restart.
Only applicable to Second Generation instances.
output: true
- !ruby/object:Api::Type::String
name: 'type'
description: |
The type of the flag. Flags are typed to being BOOLEAN, STRING,
INTEGER or NONE. NONE is used for flags which do not take a value,
such as skip_grant_tables.
output: true
- !ruby/object:Api::Resource
name: 'Tier'
kind: 'sql#tier'
description: |
The Tiers resource represents a service configuration that can be used to
define a Cloud SQL instance. Each tier has an associated RAM, maximum
storage, and list of regions in which the tier can be used. Available
tiers vary depending on whether you use PostgreSQL, MySQL Second
Generation, or MySQL First Generation instances.
base_url: projects/{{project}}/tiers
self_link: projects/{{project}}/tiers
nested_query: !ruby/object:Api::Resource::NestedQuery
kind: 'sql#tiersList'
keys: ['items']
identity:
- tier
readonly: true
parameters:
- !ruby/object:Api::Type::String
name: 'tier'
description: |
An identifier for the service tier or machine type, for example,
db-n1-standard-1. For related information.
required: true
properties:
- !ruby/object:Api::Type::Integer
name: 'DiskQuota'
description: 'The maximum disk size of this tier in bytes.'
output: true
- !ruby/object:Api::Type::Integer
name: 'RAM'
description: 'The maximum RAM usage of this tier in bytes.'
output: true
- !ruby/object:Api::Type::Array
name: 'region'
item_type: Api::Type::String
description: 'The applicable regions for this tier.'
output: true
- !ruby/object:Api::Resource
name: 'SourceRepresentationInstance'
kind: 'sql#instance'
description: |
A source representation instance is a Cloud SQL instance that represents
the source database server to the Cloud SQL replica. It is visible in the
Cloud Console and appears the same as a regular Cloud SQL instance, but it
contains no data, requires no configuration or maintenance, and does not
affect billing. You cannot update the source representation instance.
base_url: projects/{{project}}/instances
input: true
properties:
- !ruby/object:Api::Type::String
name: 'name'
description: |
The name of the source representation instance. Use any valid Cloud SQL instance name.
required: true
- !ruby/object:Api::Type::String
name: 'region'
description: |
The region where you want your Cloud SQL replicas to reside.
required: true
- !ruby/object:Api::Type::Enum
name: 'databaseVersion'
description: |
The MySQL version running on your source database server.
required: true
values:
- :MYSQL_5_6
- :MYSQL_5_7
- !ruby/object:Api::Type::NestedObject
name: 'onPremisesConfiguration'
description: |
Configuration specific to on-premises instances.
required: true
properties:
- !ruby/object:Api::Type::String
name: 'host'
description: |
The externally accessible IPv4 address for the source database server.
required: true
- !ruby/object:Api::Type::Integer
name: 'port'
default_value: 3306
description: |
The externally accessible port for the source database server.
Defaults to 3306.
# 'Operation' is not idempotent and will not be covered.
# (it is used internally to assert the state of operations being performed)
# | - !ruby/object:Api::Resource
# | name: 'Operation'
# | kind: 'sql#operation'
# | base_url: projects/{{project}}/operations