Skip to content

Commit

Permalink
feat: [alloydb] support for enabling outbound public IP on an instance (
Browse files Browse the repository at this point in the history
#5638)

* 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

Source-Link: googleapis/googleapis@a1185ce

Source-Link: googleapis/googleapis-gen@6ca9eb3
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWFsbG95ZGIvLk93bEJvdC55YW1sIiwiaCI6IjZjYTllYjNhNjljMmMzM2ZjYTg2YjhmNDE1MGFiYTg0NjkyNGY5Y2IifQ==

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
  • Loading branch information
gcf-owl-bot[bot] and gcf-owl-bot[bot] authored Aug 27, 2024
1 parent 9f202c3 commit 11554e0
Show file tree
Hide file tree
Showing 4 changed files with 1,277 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,33 @@ message ContinuousBackupSource {
[(google.api.field_behavior) = REQUIRED];
}

// MaintenanceUpdatePolicy defines the policy for system updates.
message MaintenanceUpdatePolicy {
// MaintenanceWindow specifies a preferred day and time for maintenance.
message MaintenanceWindow {
// Preferred day of the week for maintenance, e.g. MONDAY, TUESDAY, etc.
google.type.DayOfWeek day = 1;

// Preferred time to start the maintenance operation on the specified day.
// Maintenance will start within 1 hour of this time.
google.type.TimeOfDay start_time = 2;
}

// Preferred windows to perform maintenance. Currently limited to 1.
repeated MaintenanceWindow maintenance_windows = 1;
}

// MaintenanceSchedule stores the maintenance schedule generated from
// the MaintenanceUpdatePolicy, once a maintenance rollout is triggered, if
// MaintenanceWindow is set, and if there is no conflicting DenyPeriod.
// The schedule is cleared once the update takes place. This field cannot be
// manually changed; modify the MaintenanceUpdatePolicy instead.
message MaintenanceSchedule {
// Output only. The scheduled start time for the maintenance.
google.protobuf.Timestamp start_time = 1
[(google.api.field_behavior) = OUTPUT_ONLY];
}

// A cluster is a collection of regional AlloyDB resources. It can include a
// primary instance and one or more read pool instances.
// All cluster resources share a storage layer, which scales as needed.
Expand All @@ -391,7 +418,7 @@ message Cluster {
// resources are created and from which they are accessible via Private IP.
// The network must belong to the same project as the cluster. It is
// specified in the form:
// "projects/{project_number}/global/networks/{network_id}". This is
// `projects/{project_number}/global/networks/{network_id}`. This is
// required to create a cluster.
string network = 1 [
(google.api.field_behavior) = OPTIONAL,
Expand Down Expand Up @@ -543,7 +570,7 @@ message Cluster {
// Required. The resource link for the VPC network in which cluster resources
// are created and from which they are accessible via Private IP. The network
// must belong to the same project as the cluster. It is specified in the
// form: "projects/{project}/global/networks/{network_id}". This is required
// form: `projects/{project}/global/networks/{network_id}`. This is required
// to create a cluster. Deprecated, use network_config.network instead.
string network = 10 [
deprecated = true,
Expand Down Expand Up @@ -610,6 +637,16 @@ message Cluster {

// Output only. Reserved for future use.
bool satisfies_pzs = 30 [(google.api.field_behavior) = OUTPUT_ONLY];

// Optional. The maintenance update policy determines when to allow or deny
// updates.
MaintenanceUpdatePolicy maintenance_update_policy = 32
[(google.api.field_behavior) = OPTIONAL];

// Output only. The maintenance schedule for the cluster, generated for a
// specific rollout if a maintenance window is set.
MaintenanceSchedule maintenance_schedule = 37
[(google.api.field_behavior) = OUTPUT_ONLY];
}

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

// Optional. Enabling public ip for the instance.
bool enable_public_ip = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. Enabling an outbound public IP address to support a database
// server sending requests out into the internet.
bool enable_outbound_public_ip = 3 [(google.api.field_behavior) = OPTIONAL];
}

// Instance State
Expand Down Expand Up @@ -945,7 +986,10 @@ message Instance {
// Output only. The public IP addresses for the Instance. This is available
// ONLY when enable_public_ip is set. This is the connection endpoint for an
// end-user application.
string public_ip_address = 27 [(google.api.field_behavior) = OUTPUT_ONLY];
string public_ip_address = 27 [
(google.api.field_info).format = IPV4,
(google.api.field_behavior) = OUTPUT_ONLY
];

// Output only. Reconciling (https://google.aip.dev/128#reconciliation).
// Set to true if the current state of Instance does not match the user's
Expand Down Expand Up @@ -983,6 +1027,12 @@ message Instance {
// Optional. Instance level network configuration.
InstanceNetworkConfig network_config = 29
[(google.api.field_behavior) = OPTIONAL];

// Output only. All outbound public IP addresses configured for the instance.
repeated string outbound_public_ip_addresses = 34 [
(google.api.field_info).format = IPV4,
(google.api.field_behavior) = OUTPUT_ONLY
];
}

// ConnectionInfo singleton resource.
Expand Down
Loading

0 comments on commit 11554e0

Please sign in to comment.