Skip to content

Commit f12063c

Browse files
feat: [vmwareengine] Adding private connection CRUD, updating management subnets and time-limited PC features (#4328)
* feat: Adding private connection CRUD, updating management subnets and time-limited PC features PiperOrigin-RevId: 538382998 Source-Link: googleapis/googleapis@e51050b Source-Link: googleapis/googleapis-gen@3bbb92b Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXZtd2FyZWVuZ2luZS8uT3dsQm90LnlhbWwiLCJoIjoiM2JiYjkyYmU5NWYwM2E4ZGY0ZTU3NDdlZWVjOTI0NzUyMzkyYzM5NiJ9 * 🦉 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> Co-authored-by: Alexander Fenster <[email protected]>
1 parent ff77356 commit f12063c

20 files changed

Lines changed: 18939 additions & 7474 deletions

packages/google-cloud-vmwareengine/README.md

Lines changed: 42 additions & 35 deletions
Large diffs are not rendered by default.

packages/google-cloud-vmwareengine/protos/google/cloud/vmwareengine/v1/vmwareengine.proto

Lines changed: 383 additions & 1 deletion
Large diffs are not rendered by default.

packages/google-cloud-vmwareengine/protos/google/cloud/vmwareengine/v1/vmwareengine_resources.proto

Lines changed: 242 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2022 Google LLC
1+
// Copyright 2023 Google LLC
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -130,6 +130,18 @@ message PrivateCloud {
130130
[(google.api.field_behavior) = REQUIRED];
131131
}
132132

133+
// Enum Type defines private cloud type.
134+
enum Type {
135+
// Standard private is a zonal resource, with 3+ nodes. Default type.
136+
STANDARD = 0;
137+
138+
// Time limited private cloud is a zonal resource, can have only 1 node and
139+
// has limited life span. Will be deleted after defined period of time,
140+
// can be converted into standard private cloud by expanding it up to 3
141+
// or more nodes.
142+
TIME_LIMITED = 1;
143+
}
144+
133145
// Output only. The resource name of this private cloud.
134146
// Resource names are schemeless URIs that follow the conventions in
135147
// https://cloud.google.com/apis/design/resource_names.
@@ -185,6 +197,9 @@ message PrivateCloud {
185197

186198
// Output only. System-generated unique identifier for the resource.
187199
string uid = 20 [(google.api.field_behavior) = OUTPUT_ONLY];
200+
201+
// Optional. Type of the private cloud. Defaults to STANDARD.
202+
Type type = 22 [(google.api.field_behavior) = OPTIONAL];
188203
}
189204

190205
// A cluster in a private cloud.
@@ -273,6 +288,13 @@ message Subnet {
273288

274289
// The subnet is being deleted.
275290
DELETING = 4;
291+
292+
// Changes requested in the last operation are being propagated.
293+
RECONCILING = 5;
294+
295+
// Last operation on the subnet did not succeed. Subnet's payload is
296+
// reverted back to its most recent working state.
297+
FAILED = 6;
276298
}
277299

278300
// Output only. The resource name of this subnet.
@@ -476,6 +498,65 @@ message Vcenter {
476498
string fqdn = 6;
477499
}
478500

501+
// Exchanged network peering route.
502+
message PeeringRoute {
503+
// The type of the peering route.
504+
enum Type {
505+
// Unspecified peering route type. This is the default value.
506+
TYPE_UNSPECIFIED = 0;
507+
508+
// Dynamic routes in the peer network.
509+
DYNAMIC_PEERING_ROUTE = 1;
510+
511+
// Static routes in the peer network.
512+
STATIC_PEERING_ROUTE = 2;
513+
514+
// Created, updated, and removed automatically by Google Cloud when subnets
515+
// are created, modified, or deleted in the peer network.
516+
SUBNET_PEERING_ROUTE = 3;
517+
}
518+
519+
// The direction of the exchanged routes.
520+
enum Direction {
521+
// Unspecified exchanged routes direction. This is default.
522+
DIRECTION_UNSPECIFIED = 0;
523+
524+
// Routes imported from the peer network.
525+
INCOMING = 1;
526+
527+
// Routes exported to the peer network.
528+
OUTGOING = 2;
529+
}
530+
531+
// Output only. Destination range of the peering route in CIDR notation.
532+
string dest_range = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
533+
534+
// Output only. Type of the route in the peer VPC network.
535+
Type type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
536+
537+
// Output only. Region containing the next hop of the peering route. This
538+
// field only applies to dynamic routes in the peer VPC network.
539+
string next_hop_region = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
540+
541+
// Output only. The priority of the peering route.
542+
int64 priority = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
543+
544+
// Output only. True if the peering route has been imported from a peered
545+
// VPC network; false otherwise. The import happens if the field
546+
// `NetworkPeering.importCustomRoutes` is true for this network,
547+
// `NetworkPeering.exportCustomRoutes` is true for the peer VPC network, and
548+
// the import does not result in a route conflict.
549+
bool imported = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
550+
551+
// Output only. Direction of the routes exchanged with the peer network, from
552+
// the VMware Engine network perspective:
553+
//
554+
// * Routes of direction `INCOMING` are imported from the peer network.
555+
// * Routes of direction `OUTGOING` are exported from the intranet VPC network
556+
// of the VMware Engine network.
557+
Direction direction = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
558+
}
559+
479560
// Represents a network policy resource. Network policies are regional
480561
// resources. You can use a network policy to enable or disable internet access
481562
// and external IP access. Network policies are associated with a VMware Engine
@@ -688,3 +769,163 @@ message VmwareEngineNetwork {
688769
// request.
689770
string etag = 10;
690771
}
772+
773+
// Private connection resource that provides connectivity for VMware Engine
774+
// private clouds.
775+
message PrivateConnection {
776+
option (google.api.resource) = {
777+
type: "vmwareengine.googleapis.com/PrivateConnection"
778+
pattern: "projects/{project}/locations/{location}/privateConnections/{private_connection}"
779+
};
780+
781+
// Enum State defines possible states of private connection.
782+
enum State {
783+
// The default value. This value is used if the state is omitted.
784+
STATE_UNSPECIFIED = 0;
785+
786+
// The private connection is being created.
787+
CREATING = 1;
788+
789+
// The private connection is ready.
790+
ACTIVE = 2;
791+
792+
// The private connection is being updated.
793+
UPDATING = 3;
794+
795+
// The private connection is being deleted.
796+
DELETING = 4;
797+
798+
// The private connection is not provisioned, since no private cloud is
799+
// present for which this private connection is needed.
800+
UNPROVISIONED = 5;
801+
802+
// The private connection is in failed state.
803+
FAILED = 6;
804+
}
805+
806+
// Enum Type defines possible types of private connection.
807+
enum Type {
808+
// The default value. This value should never be used.
809+
TYPE_UNSPECIFIED = 0;
810+
811+
// Connection used for establishing [private services
812+
// access](https://cloud.google.com/vpc/docs/private-services-access).
813+
PRIVATE_SERVICE_ACCESS = 1;
814+
815+
// Connection used for connecting to NetApp Cloud Volumes.
816+
NETAPP_CLOUD_VOLUMES = 2;
817+
818+
// Connection used for connecting to Dell PowerScale.
819+
DELL_POWERSCALE = 3;
820+
821+
// Connection used for connecting to third-party services.
822+
THIRD_PARTY_SERVICE = 4;
823+
}
824+
825+
// Possible types for RoutingMode
826+
enum RoutingMode {
827+
// The default value. This value should never be used.
828+
ROUTING_MODE_UNSPECIFIED = 0;
829+
830+
// Global Routing Mode
831+
GLOBAL = 1;
832+
833+
// Regional Routing Mode
834+
REGIONAL = 2;
835+
}
836+
837+
// Enum PeeringState defines the possible states of peering between service
838+
// network and the vpc network peered to service network
839+
enum PeeringState {
840+
// The default value. This value is used if the peering state is omitted or
841+
// unknown.
842+
PEERING_STATE_UNSPECIFIED = 0;
843+
844+
// The peering is in active state.
845+
PEERING_ACTIVE = 1;
846+
847+
// The peering is in inactive state.
848+
PEERING_INACTIVE = 2;
849+
}
850+
851+
// Output only. The resource name of the private connection.
852+
// Resource names are schemeless URIs that follow the conventions in
853+
// https://cloud.google.com/apis/design/resource_names.
854+
// For example:
855+
// `projects/my-project/locations/us-central1/privateConnections/my-connection`
856+
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
857+
858+
// Output only. Creation time of this resource.
859+
google.protobuf.Timestamp create_time = 2
860+
[(google.api.field_behavior) = OUTPUT_ONLY];
861+
862+
// Output only. Last update time of this resource.
863+
google.protobuf.Timestamp update_time = 3
864+
[(google.api.field_behavior) = OUTPUT_ONLY];
865+
866+
// Optional. User-provided description for this private connection.
867+
string description = 4 [(google.api.field_behavior) = OPTIONAL];
868+
869+
// Output only. State of the private connection.
870+
State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
871+
872+
// Required. The relative resource name of Legacy VMware Engine network.
873+
// Specify the name in the following form:
874+
// `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
875+
// where `{project}`, `{location}` will be same as specified in private
876+
// connection resource name and `{vmware_engine_network_id}` will be in the
877+
// form of `{location}`-default e.g.
878+
// projects/project/locations/us-central1/vmwareEngineNetworks/us-central1-default.
879+
string vmware_engine_network = 8 [
880+
(google.api.field_behavior) = REQUIRED,
881+
(google.api.resource_reference) = {
882+
type: "vmwareengine.googleapis.com/VmwareEngineNetwork"
883+
}
884+
];
885+
886+
// Output only. The canonical name of the VMware Engine network in the form:
887+
// `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}`
888+
string vmware_engine_network_canonical = 9 [
889+
(google.api.field_behavior) = OUTPUT_ONLY,
890+
(google.api.resource_reference) = {
891+
type: "vmwareengine.googleapis.com/VmwareEngineNetwork"
892+
}
893+
];
894+
895+
// Required. Private connection type.
896+
Type type = 10 [(google.api.field_behavior) = REQUIRED];
897+
898+
// Output only. VPC network peering id between given network VPC and
899+
// VMwareEngineNetwork.
900+
string peering_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
901+
902+
// Optional. Routing Mode.
903+
// Default value is set to GLOBAL.
904+
// For type = PRIVATE_SERVICE_ACCESS, this field can be set to GLOBAL or
905+
// REGIONAL, for other types only GLOBAL is supported.
906+
RoutingMode routing_mode = 13 [(google.api.field_behavior) = OPTIONAL];
907+
908+
// Output only. System-generated unique identifier for the resource.
909+
string uid = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
910+
911+
// Required. Service network to create private connection.
912+
// Specify the name in the following form:
913+
// `projects/{project}/global/networks/{network_id}`
914+
// For type = PRIVATE_SERVICE_ACCESS, this field represents servicenetworking
915+
// VPC, e.g. projects/project-tp/global/networks/servicenetworking.
916+
// For type = NETAPP_CLOUD_VOLUME, this field represents NetApp service VPC,
917+
// e.g. projects/project-tp/global/networks/netapp-tenant-vpc.
918+
// For type = DELL_POWERSCALE, this field represent Dell service VPC, e.g.
919+
// projects/project-tp/global/networks/dell-tenant-vpc.
920+
// For type= THIRD_PARTY_SERVICE, this field could represent a consumer VPC or
921+
// any other producer VPC to which the VMware Engine Network needs to be
922+
// connected, e.g. projects/project/global/networks/vpc.
923+
string service_network = 16 [
924+
(google.api.field_behavior) = REQUIRED,
925+
(google.api.resource_reference) = { type: "compute.googleapis.com/Network" }
926+
];
927+
928+
// Output only. Peering state between service network and VMware Engine
929+
// network.
930+
PeeringState peering_state = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
931+
}

0 commit comments

Comments
 (0)