@@ -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