|
1 | | -// Copyright 2022 Google LLC |
| 1 | +// Copyright 2023 Google LLC |
2 | 2 | // |
3 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); |
4 | 4 | // you may not use this file except in compliance with the License. |
@@ -130,6 +130,18 @@ message PrivateCloud { |
130 | 130 | [(google.api.field_behavior) = REQUIRED]; |
131 | 131 | } |
132 | 132 |
|
| 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 | + |
133 | 145 | // Output only. The resource name of this private cloud. |
134 | 146 | // Resource names are schemeless URIs that follow the conventions in |
135 | 147 | // https://cloud.google.com/apis/design/resource_names. |
@@ -185,6 +197,9 @@ message PrivateCloud { |
185 | 197 |
|
186 | 198 | // Output only. System-generated unique identifier for the resource. |
187 | 199 | 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]; |
188 | 203 | } |
189 | 204 |
|
190 | 205 | // A cluster in a private cloud. |
@@ -273,6 +288,13 @@ message Subnet { |
273 | 288 |
|
274 | 289 | // The subnet is being deleted. |
275 | 290 | 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; |
276 | 298 | } |
277 | 299 |
|
278 | 300 | // Output only. The resource name of this subnet. |
@@ -476,6 +498,65 @@ message Vcenter { |
476 | 498 | string fqdn = 6; |
477 | 499 | } |
478 | 500 |
|
| 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 | + |
479 | 560 | // Represents a network policy resource. Network policies are regional |
480 | 561 | // resources. You can use a network policy to enable or disable internet access |
481 | 562 | // and external IP access. Network policies are associated with a VMware Engine |
@@ -688,3 +769,163 @@ message VmwareEngineNetwork { |
688 | 769 | // request. |
689 | 770 | string etag = 10; |
690 | 771 | } |
| 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