Skip to content

Commit a1185ce

Browse files
Google APIscopybara-github
authored andcommitted
feat: support for enabling outbound public IP on an instance
feat: support for getting outbound public IP addresses of an instance feat: support for setting maintenance update policy on a cluster feat: support for getting maintenance schedule of a cluster PiperOrigin-RevId: 667707701
1 parent ec38267 commit a1185ce

1 file changed

Lines changed: 53 additions & 3 deletions

File tree

google/cloud/alloydb/v1beta/resources.proto

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,33 @@ message ContinuousBackupSource {
375375
[(google.api.field_behavior) = REQUIRED];
376376
}
377377

378+
// MaintenanceUpdatePolicy defines the policy for system updates.
379+
message MaintenanceUpdatePolicy {
380+
// MaintenanceWindow specifies a preferred day and time for maintenance.
381+
message MaintenanceWindow {
382+
// Preferred day of the week for maintenance, e.g. MONDAY, TUESDAY, etc.
383+
google.type.DayOfWeek day = 1;
384+
385+
// Preferred time to start the maintenance operation on the specified day.
386+
// Maintenance will start within 1 hour of this time.
387+
google.type.TimeOfDay start_time = 2;
388+
}
389+
390+
// Preferred windows to perform maintenance. Currently limited to 1.
391+
repeated MaintenanceWindow maintenance_windows = 1;
392+
}
393+
394+
// MaintenanceSchedule stores the maintenance schedule generated from
395+
// the MaintenanceUpdatePolicy, once a maintenance rollout is triggered, if
396+
// MaintenanceWindow is set, and if there is no conflicting DenyPeriod.
397+
// The schedule is cleared once the update takes place. This field cannot be
398+
// manually changed; modify the MaintenanceUpdatePolicy instead.
399+
message MaintenanceSchedule {
400+
// Output only. The scheduled start time for the maintenance.
401+
google.protobuf.Timestamp start_time = 1
402+
[(google.api.field_behavior) = OUTPUT_ONLY];
403+
}
404+
378405
// A cluster is a collection of regional AlloyDB resources. It can include a
379406
// primary instance and one or more read pool instances.
380407
// All cluster resources share a storage layer, which scales as needed.
@@ -391,7 +418,7 @@ message Cluster {
391418
// resources are created and from which they are accessible via Private IP.
392419
// The network must belong to the same project as the cluster. It is
393420
// specified in the form:
394-
// "projects/{project_number}/global/networks/{network_id}". This is
421+
// `projects/{project_number}/global/networks/{network_id}`. This is
395422
// required to create a cluster.
396423
string network = 1 [
397424
(google.api.field_behavior) = OPTIONAL,
@@ -543,7 +570,7 @@ message Cluster {
543570
// Required. The resource link for the VPC network in which cluster resources
544571
// are created and from which they are accessible via Private IP. The network
545572
// must belong to the same project as the cluster. It is specified in the
546-
// form: "projects/{project}/global/networks/{network_id}". This is required
573+
// form: `projects/{project}/global/networks/{network_id}`. This is required
547574
// to create a cluster. Deprecated, use network_config.network instead.
548575
string network = 10 [
549576
deprecated = true,
@@ -610,6 +637,16 @@ message Cluster {
610637

611638
// Output only. Reserved for future use.
612639
bool satisfies_pzs = 30 [(google.api.field_behavior) = OUTPUT_ONLY];
640+
641+
// Optional. The maintenance update policy determines when to allow or deny
642+
// updates.
643+
MaintenanceUpdatePolicy maintenance_update_policy = 32
644+
[(google.api.field_behavior) = OPTIONAL];
645+
646+
// Output only. The maintenance schedule for the cluster, generated for a
647+
// specific rollout if a maintenance window is set.
648+
MaintenanceSchedule maintenance_schedule = 37
649+
[(google.api.field_behavior) = OUTPUT_ONLY];
613650
}
614651

615652
// An Instance is a computing unit that an end customer can connect to.
@@ -773,6 +810,10 @@ message Instance {
773810

774811
// Optional. Enabling public ip for the instance.
775812
bool enable_public_ip = 2 [(google.api.field_behavior) = OPTIONAL];
813+
814+
// Optional. Enabling an outbound public IP address to support a database
815+
// server sending requests out into the internet.
816+
bool enable_outbound_public_ip = 3 [(google.api.field_behavior) = OPTIONAL];
776817
}
777818

778819
// Instance State
@@ -945,7 +986,10 @@ message Instance {
945986
// Output only. The public IP addresses for the Instance. This is available
946987
// ONLY when enable_public_ip is set. This is the connection endpoint for an
947988
// end-user application.
948-
string public_ip_address = 27 [(google.api.field_behavior) = OUTPUT_ONLY];
989+
string public_ip_address = 27 [
990+
(google.api.field_info).format = IPV4,
991+
(google.api.field_behavior) = OUTPUT_ONLY
992+
];
949993

950994
// Output only. Reconciling (https://google.aip.dev/128#reconciliation).
951995
// Set to true if the current state of Instance does not match the user's
@@ -983,6 +1027,12 @@ message Instance {
9831027
// Optional. Instance level network configuration.
9841028
InstanceNetworkConfig network_config = 29
9851029
[(google.api.field_behavior) = OPTIONAL];
1030+
1031+
// Output only. All outbound public IP addresses configured for the instance.
1032+
repeated string outbound_public_ip_addresses = 34 [
1033+
(google.api.field_info).format = IPV4,
1034+
(google.api.field_behavior) = OUTPUT_ONLY
1035+
];
9861036
}
9871037

9881038
// ConnectionInfo singleton resource.

0 commit comments

Comments
 (0)