Skip to content

Commit

Permalink
feat: [vmwareengine] Adding autoscaling settings (#5554)
Browse files Browse the repository at this point in the history
* feat: Adding autoscaling settings

PiperOrigin-RevId: 653054299

Source-Link: googleapis/googleapis@db2ac7a

Source-Link: googleapis/googleapis-gen@cc98715
Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXZtd2FyZWVuZ2luZS8uT3dsQm90LnlhbWwiLCJoIjoiY2M5ODcxNWU2ZTQ1NTZiNDNmYjQzNzU4ODU4MzA5ZGVjZGIzODdhMSJ9

* 🦉 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 Jul 17, 2024
1 parent a884c76 commit 09fd87c
Show file tree
Hide file tree
Showing 5 changed files with 23,044 additions and 21,525 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,16 @@ syntax = "proto3";

package google.cloud.vmwareengine.v1;

import "google/longrunning/operations.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/field_mask.proto";
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/field_info.proto";
import "google/api/resource.proto";
import "google/cloud/vmwareengine/v1/vmwareengine_resources.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/field_mask.proto";
import "google/protobuf/timestamp.proto";

option csharp_namespace = "Google.Cloud.VmwareEngine.V1";
option go_package = "cloud.google.com/go/vmwareengine/apiv1/vmwareenginepb;vmwareenginepb";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ syntax = "proto3";
package google.cloud.vmwareengine.v1;

import "google/api/field_behavior.proto";
import "google/api/field_info.proto";
import "google/api/resource.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";

option csharp_namespace = "Google.Cloud.VmwareEngine.V1";
Expand Down Expand Up @@ -299,6 +301,10 @@ message Cluster {
// and it has to be the first one.
bool management = 7 [(google.api.field_behavior) = OUTPUT_ONLY];

// Optional. Configuration of the autoscaling applied to this cluster.
AutoscalingSettings autoscaling_settings = 18
[(google.api.field_behavior) = OPTIONAL];

// Output only. System-generated unique identifier for the resource.
string uid = 14 [(google.api.field_behavior) = OUTPUT_ONLY];

Expand Down Expand Up @@ -633,6 +639,15 @@ message LoggingServer {

// TCP
TCP = 2;

// TLS
TLS = 3;

// SSL
SSL = 4;

// RELP
RELP = 5;
}

// Defines possible types of component that produces logs.
Expand Down Expand Up @@ -824,6 +839,9 @@ message Hcx {

// The appliance is being deployed.
CREATING = 2;

// The appliance is being activated.
ACTIVATING = 3;
}

// Internal IP address of the appliance.
Expand Down Expand Up @@ -893,6 +911,84 @@ message Vcenter {
string fqdn = 6;
}

// Autoscaling settings define the rules used by VMware Engine to
// automatically scale-out and scale-in the clusters in a private cloud.
message AutoscalingSettings {
// Thresholds define the utilization of resources triggering
// scale-out and scale-in operations.
message Thresholds {
// Required. The utilization triggering the scale-out operation in percent.
int32 scale_out = 1 [(google.api.field_behavior) = REQUIRED];

// Required. The utilization triggering the scale-in operation in percent.
int32 scale_in = 2 [(google.api.field_behavior) = REQUIRED];
}

// Autoscaling policy describes the behavior of the autoscaling
// with respect to the resource utilization.
// The scale-out operation is initiated if the utilization
// exceeds ANY of the respective thresholds.
// The scale-in operation is initiated if the utilization
// is below ALL of the respective thresholds.
message AutoscalingPolicy {
// Required. The canonical identifier of the node type to add or remove.
// Corresponds to the `NodeType`.
string node_type_id = 1 [(google.api.field_behavior) = REQUIRED];

// Required. Number of nodes to add to a cluster during a scale-out
// operation. Must be divisible by 2 for stretched clusters. During a
// scale-in operation only one node (or 2 for stretched clusters) are
// removed in a single iteration.
int32 scale_out_size = 2 [(google.api.field_behavior) = REQUIRED];

// Optional. Utilization thresholds pertaining to CPU utilization.
Thresholds cpu_thresholds = 11 [(google.api.field_behavior) = OPTIONAL];

// Optional. Utilization thresholds pertaining to amount of granted memory.
Thresholds granted_memory_thresholds = 12
[(google.api.field_behavior) = OPTIONAL];

// Optional. Utilization thresholds pertaining to amount of consumed memory.
Thresholds consumed_memory_thresholds = 13
[(google.api.field_behavior) = OPTIONAL];

// Optional. Utilization thresholds pertaining to amount of consumed
// storage.
Thresholds storage_thresholds = 14 [(google.api.field_behavior) = OPTIONAL];
}

// Required. The map with autoscaling policies applied to the cluster.
// The key is the identifier of the policy.
// It must meet the following requirements:
//
// * Only contains 1-63 alphanumeric characters and hyphens
// * Begins with an alphabetical character
// * Ends with a non-hyphen character
// * Not formatted as a UUID
// * Complies with [RFC
// 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5)
//
// Currently there map must contain only one element
// that describes the autoscaling policy for compute nodes.
map<string, AutoscalingPolicy> autoscaling_policies = 1
[(google.api.field_behavior) = REQUIRED];

// Optional. Minimum number of nodes of any type in a cluster.
// If not specified the default limits apply.
int32 min_cluster_node_count = 2 [(google.api.field_behavior) = OPTIONAL];

// Optional. Maximum number of nodes of any type in a cluster.
// If not specified the default limits apply.
int32 max_cluster_node_count = 3 [(google.api.field_behavior) = OPTIONAL];

// Optional. The minimum duration between consecutive autoscale operations.
// It starts once addition or removal of nodes is fully completed.
// Defaults to 30 minutes if not specified. Cool down period must be in whole
// minutes (for example, 30, 31, 50, 180 minutes).
google.protobuf.Duration cool_down_period = 4
[(google.api.field_behavior) = OPTIONAL];
}

// DNS forwarding config.
// This config defines a list of domain to name server mappings,
// and is attached to the private cloud for custom domain resolution.
Expand Down Expand Up @@ -986,6 +1082,9 @@ message NetworkPeering {

// Peering connection used for connecting to Dell PowerScale Filers
DELL_POWERSCALE = 6;

// Peering connection used for connecting to Google Cloud NetApp Volumes.
GOOGLE_CLOUD_NETAPP_VOLUMES = 7;
}

// Output only. The resource name of the network peering. NetworkPeering is a
Expand Down
Loading

0 comments on commit 09fd87c

Please sign in to comment.