diff options
Diffstat (limited to 'third_party/googleapis/google/cloud/networkconnectivity')
11 files changed, 2379 insertions, 0 deletions
diff --git a/third_party/googleapis/google/cloud/networkconnectivity/BUILD.bazel b/third_party/googleapis/google/cloud/networkconnectivity/BUILD.bazel new file mode 100644 index 0000000..dc3e874 --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/BUILD.bazel @@ -0,0 +1,40 @@ +# This build file includes a target for the Ruby wrapper library for +# google-cloud-network_connectivity. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +# Export yaml configs. +exports_files(glob(["*.yaml"])) + +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "ruby_cloud_gapic_library", +    "ruby_gapic_assembly_pkg", +) + +# Generates a Ruby wrapper client for networkconnectivity. +# Ruby wrapper clients are versionless, but are generated from source protos +# for a particular service version, v1 in this case. +ruby_cloud_gapic_library( +    name = "networkconnectivity_ruby_wrapper", +    srcs = ["//google/cloud/networkconnectivity/v1:networkconnectivity_proto_with_info"], +    extra_protoc_parameters = [ +        "ruby-cloud-gem-name=google-cloud-network_connectivity", +        "ruby-cloud-env-prefix=NETWORK_CONNECTIVITY", +        "ruby-cloud-wrapper-of=v1:0.0;v1alpha1:0.0", +        "ruby-cloud-product-url=https://cloud.google.com/network-connectivity/docs", +        "ruby-cloud-api-id=networkconnectivity.googleapis.com", +        "ruby-cloud-api-shortname=networkconnectivity", +    ], +    ruby_cloud_description = "Network Connectivity is Google's suite of products that provide enterprise connectivity from your on-premises network or from another cloud provider to your Virtual Private Cloud (VPC) network.", +    ruby_cloud_title = "Network Connectivity", +) + +# Open Source package. +ruby_gapic_assembly_pkg( +    name = "google-cloud-networkconnectivity-ruby", +    deps = [ +        ":networkconnectivity_ruby_wrapper", +    ], +) diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1/BUILD.bazel b/third_party/googleapis/google/cloud/networkconnectivity/v1/BUILD.bazel new file mode 100644 index 0000000..873ca1a --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1/BUILD.bazel @@ -0,0 +1,379 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +#    * extra_protoc_parameters +#    * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( +    name = "networkconnectivity_proto", +    srcs = [ +        "common.proto", +        "hub.proto", +    ], +    deps = [ +        "//google/api:annotations_proto", +        "//google/api:client_proto", +        "//google/api:field_behavior_proto", +        "//google/api:resource_proto", +        "//google/longrunning:operations_proto", +        "@com_google_protobuf//:field_mask_proto", +        "@com_google_protobuf//:timestamp_proto", +    ], +) + +proto_library_with_info( +    name = "networkconnectivity_proto_with_info", +    deps = [ +        ":networkconnectivity_proto", +        "//google/cloud:common_resources_proto", +    ], +) + +############################################################################## +# Java +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "java_gapic_assembly_gradle_pkg", +    "java_gapic_library", +    "java_gapic_test", +    "java_grpc_library", +    "java_proto_library", +) + +java_proto_library( +    name = "networkconnectivity_java_proto", +    deps = [":networkconnectivity_proto"], +) + +java_grpc_library( +    name = "networkconnectivity_java_grpc", +    srcs = [":networkconnectivity_proto"], +    deps = [":networkconnectivity_java_proto"], +) + +java_gapic_library( +    name = "networkconnectivity_java_gapic", +    srcs = [":networkconnectivity_proto_with_info"], +    gapic_yaml = None, +    grpc_service_config = "networkconnectivity_v1_grpc_service_config.json", +    service_yaml = "networkconnectivity_v1.yaml", +    test_deps = [ +        ":networkconnectivity_java_grpc", +    ], +    deps = [ +        ":networkconnectivity_java_proto", +        "//google/api:api_java_proto", +    ], +) + +java_gapic_test( +    name = "networkconnectivity_java_gapic_test_suite", +    test_classes = [ +        "com.google.cloud.networkconnectivity.v1.HubServiceClientTest", +    ], +    runtime_deps = [":networkconnectivity_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( +    name = "google-cloud-networkconnectivity-v1-java", +    include_samples = True, +    deps = [ +        ":networkconnectivity_java_gapic", +        ":networkconnectivity_java_grpc", +        ":networkconnectivity_java_proto", +        ":networkconnectivity_proto", +    ], +) + +############################################################################## +# Go +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "go_gapic_assembly_pkg", +    "go_gapic_library", +    "go_proto_library", +    "go_test", +) + +go_proto_library( +    name = "networkconnectivity_go_proto", +    compilers = ["@io_bazel_rules_go//proto:go_grpc"], +    importpath = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1", +    protos = [":networkconnectivity_proto"], +    deps = [ +        "//google/api:annotations_go_proto", +        "//google/longrunning:longrunning_go_proto", +    ], +) + +go_gapic_library( +    name = "networkconnectivity_go_gapic", +    srcs = [":networkconnectivity_proto_with_info"], +    grpc_service_config = "networkconnectivity_v1_grpc_service_config.json", +    importpath = "cloud.google.com/go/networkconnectivity/apiv1;networkconnectivity", +    metadata = True, +    service_yaml = "networkconnectivity_v1.yaml", +    deps = [ +        ":networkconnectivity_go_proto", +        "//google/longrunning:longrunning_go_proto", +        "@com_google_cloud_go//longrunning:go_default_library", +        "@com_google_cloud_go//longrunning/autogen:go_default_library", +    ], +) + +go_test( +    name = "networkconnectivity_go_gapic_test", +    srcs = [":networkconnectivity_go_gapic_srcjar_test"], +    embed = [":networkconnectivity_go_gapic"], +    importpath = "cloud.google.com/go/networkconnectivity/apiv1", +) + +# Open Source Packages +go_gapic_assembly_pkg( +    name = "gapi-cloud-networkconnectivity-v1-go", +    deps = [ +        ":networkconnectivity_go_gapic", +        ":networkconnectivity_go_gapic_srcjar-metadata.srcjar", +        ":networkconnectivity_go_gapic_srcjar-test.srcjar", +        ":networkconnectivity_go_proto", +    ], +) + +############################################################################## +# Python +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "py_gapic_assembly_pkg", +    "py_gapic_library", +    "py_test", +) + +py_gapic_library( +    name = "networkconnectivity_py_gapic", +    srcs = [":networkconnectivity_proto"], +    grpc_service_config = "networkconnectivity_v1_grpc_service_config.json", +    transport = "grpc", +) + +py_test( +    name = "networkconnectivity_py_gapic_test", +    srcs = [ +        "networkconnectivity_py_gapic_pytest.py", +        "networkconnectivity_py_gapic_test.py", +    ], +    legacy_create_init = False, +    deps = [":networkconnectivity_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( +    name = "networkconnectivity-v1-py", +    deps = [ +        ":networkconnectivity_py_gapic", +    ], +) + +############################################################################## +# PHP +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "php_gapic_assembly_pkg", +    "php_gapic_library", +    "php_grpc_library", +    "php_proto_library", +) + +php_proto_library( +    name = "networkconnectivity_php_proto", +    deps = [":networkconnectivity_proto"], +) + +php_grpc_library( +    name = "networkconnectivity_php_grpc", +    srcs = [":networkconnectivity_proto"], +    deps = [":networkconnectivity_php_proto"], +) + +php_gapic_library( +    name = "networkconnectivity_php_gapic", +    srcs = [":networkconnectivity_proto_with_info"], +    grpc_service_config = "networkconnectivity_v1_grpc_service_config.json", +    service_yaml = "networkconnectivity_v1.yaml", +    deps = [ +        ":networkconnectivity_php_grpc", +        ":networkconnectivity_php_proto", +    ], +) + +# Open Source Packages +php_gapic_assembly_pkg( +    name = "google-cloud-networkconnectivity-v1-php", +    deps = [ +        ":networkconnectivity_php_gapic", +        ":networkconnectivity_php_grpc", +        ":networkconnectivity_php_proto", +    ], +) + +############################################################################## +# Node.js +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "nodejs_gapic_assembly_pkg", +    "nodejs_gapic_library", +) + +nodejs_gapic_library( +    name = "networkconnectivity_nodejs_gapic", +    package_name = "@google-cloud/network-connectivity", +    src = ":networkconnectivity_proto_with_info", +    extra_protoc_parameters = ["metadata"], +    grpc_service_config = "networkconnectivity_v1_grpc_service_config.json", +    package = "google.cloud.networkconnectivity.v1", +    service_yaml = "networkconnectivity_v1.yaml", +    deps = [], +) + +nodejs_gapic_assembly_pkg( +    name = "networkconnectivity-v1-nodejs", +    deps = [ +        ":networkconnectivity_nodejs_gapic", +        ":networkconnectivity_proto", +    ], +) + +############################################################################## +# Ruby +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "ruby_cloud_gapic_library", +    "ruby_gapic_assembly_pkg", +    "ruby_grpc_library", +    "ruby_proto_library", +) + +ruby_proto_library( +    name = "networkconnectivity_ruby_proto", +    deps = [":networkconnectivity_proto"], +) + +ruby_grpc_library( +    name = "networkconnectivity_ruby_grpc", +    srcs = [":networkconnectivity_proto"], +    deps = [":networkconnectivity_ruby_proto"], +) + +ruby_cloud_gapic_library( +    name = "networkconnectivity_ruby_gapic", +    srcs = [":networkconnectivity_proto_with_info"], +    extra_protoc_parameters = [ +        "ruby-cloud-api-id=networkconnectivity.googleapis.com", +        "ruby-cloud-api-shortname=networkconnectivity", +        "ruby-cloud-env-prefix=NETWORK_CONNECTIVITY", +        "ruby-cloud-gem-name=google-cloud-network_connectivity-v1", +        "ruby-cloud-product-url=https://cloud.google.com/network-connectivity/docs", +    ], +    grpc_service_config = "networkconnectivity_v1_grpc_service_config.json", +    ruby_cloud_description = "Network Connectivity is Google's suite of products that provide enterprise connectivity from your on-premises network or from another cloud provider to your Virtual Private Cloud (VPC) network.", +    ruby_cloud_title = "Network Connectivity V1", +    deps = [ +        ":networkconnectivity_ruby_grpc", +        ":networkconnectivity_ruby_proto", +    ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( +    name = "google-cloud-networkconnectivity-v1-ruby", +    deps = [ +        ":networkconnectivity_ruby_gapic", +        ":networkconnectivity_ruby_grpc", +        ":networkconnectivity_ruby_proto", +    ], +) + +############################################################################## +# C# +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "csharp_gapic_assembly_pkg", +    "csharp_gapic_library", +    "csharp_grpc_library", +    "csharp_proto_library", +) + +csharp_proto_library( +    name = "networkconnectivity_csharp_proto", +    deps = [":networkconnectivity_proto"], +) + +csharp_grpc_library( +    name = "networkconnectivity_csharp_grpc", +    srcs = [":networkconnectivity_proto"], +    deps = [":networkconnectivity_csharp_proto"], +) + +csharp_gapic_library( +    name = "networkconnectivity_csharp_gapic", +    srcs = [":networkconnectivity_proto_with_info"], +    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", +    grpc_service_config = "networkconnectivity_v1_grpc_service_config.json", +    service_yaml = "networkconnectivity_v1.yaml", +    deps = [ +        ":networkconnectivity_csharp_grpc", +        ":networkconnectivity_csharp_proto", +    ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( +    name = "google-cloud-networkconnectivity-v1-csharp", +    deps = [ +        ":networkconnectivity_csharp_gapic", +        ":networkconnectivity_csharp_grpc", +        ":networkconnectivity_csharp_proto", +    ], +) + +############################################################################## +# C++ +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "cc_grpc_library", +    "cc_proto_library", +) + +cc_proto_library( +    name = "networkconnectivity_cc_proto", +    deps = [":networkconnectivity_proto"], +) + +cc_grpc_library( +    name = "networkconnectivity_cc_grpc", +    srcs = [":networkconnectivity_proto"], +    grpc_only = True, +    deps = [":networkconnectivity_cc_proto"], +) diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1/common.proto b/third_party/googleapis/google/cloud/networkconnectivity/v1/common.proto new file mode 100644 index 0000000..21999d5 --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1/common.proto @@ -0,0 +1,55 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +//     http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.networkconnectivity.v1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetworkConnectivity.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1;networkconnectivity"; +option java_multiple_files = true; +option java_outer_classname = "CommonProto"; +option java_package = "com.google.cloud.networkconnectivity.v1"; +option php_namespace = "Google\\Cloud\\NetworkConnectivity\\V1"; +option ruby_package = "Google::Cloud::NetworkConnectivity::V1"; + +// Represents the metadata of the long-running operation. +message OperationMetadata { +  // Output only. The time the operation was created. +  google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. The time the operation finished running. +  google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. Server-defined resource path for the target of the operation. +  string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. Name of the verb executed by the operation. +  string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. Human-readable status of the operation, if any. +  string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. Identifies whether the user has requested cancellation +  // of the operation. Operations that have been cancelled successfully +  // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, +  // corresponding to `Code.CANCELLED`. +  bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. API version used to start the operation. +  string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1/hub.proto b/third_party/googleapis/google/cloud/networkconnectivity/v1/hub.proto new file mode 100644 index 0000000..c28ca9a --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1/hub.proto @@ -0,0 +1,652 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +//     http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.networkconnectivity.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetworkConnectivity.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1;networkconnectivity"; +option java_multiple_files = true; +option java_outer_classname = "HubProto"; +option java_package = "com.google.cloud.networkconnectivity.v1"; +option php_namespace = "Google\\Cloud\\NetworkConnectivity\\V1"; +option ruby_package = "Google::Cloud::NetworkConnectivity::V1"; +option (google.api.resource_definition) = { +  type: "compute.googleapis.com/VpnTunnel" +  pattern: "projects/{project}/regions/{region}/vpnTunnels/{resource_id}" +}; +option (google.api.resource_definition) = { +  type: "compute.googleapis.com/InterconnectAttachment" +  pattern: "projects/{project}/regions/{region}/interconnectAttachments/{resource_id}" +}; +option (google.api.resource_definition) = { +  type: "compute.googleapis.com/Instance" +  pattern: "projects/{project}/zones/{zone}/instances/{instance}" +}; +option (google.api.resource_definition) = { +  type: "compute.googleapis.com/Network" +  pattern: "projects/{project}/global/networks/{resource_id}" +}; + +// Network Connectivity Center is a hub-and-spoke abstraction for network +// connectivity management in Google Cloud. It reduces operational complexity +// through a simple, centralized connectivity management model. +service HubService { +  option (google.api.default_host) = "networkconnectivity.googleapis.com"; +  option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + +  // Lists hubs in a given project. +  rpc ListHubs(ListHubsRequest) returns (ListHubsResponse) { +    option (google.api.http) = { +      get: "/v1/{parent=projects/*/locations/global}/hubs" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Gets details about the specified hub. +  rpc GetHub(GetHubRequest) returns (Hub) { +    option (google.api.http) = { +      get: "/v1/{name=projects/*/locations/global/hubs/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Creates a new hub in the specified project. +  rpc CreateHub(CreateHubRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      post: "/v1/{parent=projects/*/locations/global}/hubs" +      body: "hub" +    }; +    option (google.api.method_signature) = "parent,hub,hub_id"; +    option (google.longrunning.operation_info) = { +      response_type: "Hub" +      metadata_type: "OperationMetadata" +    }; +  } + +  // Updates the description and/or labels of the specified hub. +  rpc UpdateHub(UpdateHubRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      patch: "/v1/{hub.name=projects/*/locations/global/hubs/*}" +      body: "hub" +    }; +    option (google.api.method_signature) = "hub,update_mask"; +    option (google.longrunning.operation_info) = { +      response_type: "Hub" +      metadata_type: "OperationMetadata" +    }; +  } + +  // Deletes the specified hub. +  rpc DeleteHub(DeleteHubRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      delete: "/v1/{name=projects/*/locations/global/hubs/*}" +    }; +    option (google.api.method_signature) = "name"; +    option (google.longrunning.operation_info) = { +      response_type: "google.protobuf.Empty" +      metadata_type: "OperationMetadata" +    }; +  } + +  // Lists the spokes in the specified project and location. +  rpc ListSpokes(ListSpokesRequest) returns (ListSpokesResponse) { +    option (google.api.http) = { +      get: "/v1/{parent=projects/*/locations/*}/spokes" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Gets details about the specified spoke. +  rpc GetSpoke(GetSpokeRequest) returns (Spoke) { +    option (google.api.http) = { +      get: "/v1/{name=projects/*/locations/*/spokes/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Creates a spoke in the specified project and location. +  rpc CreateSpoke(CreateSpokeRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      post: "/v1/{parent=projects/*/locations/*}/spokes" +      body: "spoke" +    }; +    option (google.api.method_signature) = "parent,spoke,spoke_id"; +    option (google.longrunning.operation_info) = { +      response_type: "Spoke" +      metadata_type: "OperationMetadata" +    }; +  } + +  // Updates the parameters of the specified spoke. +  rpc UpdateSpoke(UpdateSpokeRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      patch: "/v1/{spoke.name=projects/*/locations/*/spokes/*}" +      body: "spoke" +    }; +    option (google.api.method_signature) = "spoke,update_mask"; +    option (google.longrunning.operation_info) = { +      response_type: "Spoke" +      metadata_type: "OperationMetadata" +    }; +  } + +  // Deletes the specified spoke. +  rpc DeleteSpoke(DeleteSpokeRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      delete: "/v1/{name=projects/*/locations/*/spokes/*}" +    }; +    option (google.api.method_signature) = "name"; +    option (google.longrunning.operation_info) = { +      response_type: "google.protobuf.Empty" +      metadata_type: "OperationMetadata" +    }; +  } +} + +// The State enum represents the lifecycle stage of a Network Connectivity +// Center resource. +enum State { +  // No state information available +  STATE_UNSPECIFIED = 0; + +  // The resource's create operation is in progress +  CREATING = 1; + +  // The resource is active +  ACTIVE = 2; + +  // The resource's Delete operation is in progress +  DELETING = 3; +} + +// Supported features for a location +enum LocationFeature { +  // No publicly supported feature in this location +  LOCATION_FEATURE_UNSPECIFIED = 0; + +  // Site-to-cloud spokes are supported in this location +  SITE_TO_CLOUD_SPOKES = 1; + +  // Site-to-site spokes are supported in this location +  SITE_TO_SITE_SPOKES = 2; +} + +// A hub is a collection of spokes. A single hub can contain spokes from +// multiple regions. However, if any of a hub's spokes use the data transfer +// feature, the resources associated with those spokes must all reside in the +// same VPC network. Spokes that do not use data transfer can be associated +// with any VPC network in your project. +message Hub { +  option (google.api.resource) = { +    type: "networkconnectivity.googleapis.com/Hub" +    pattern: "projects/{project}/locations/global/hubs/{hub}" +  }; + +  // Immutable. The name of the hub. Hub names must be unique. They use the +  // following form: +  //     `projects/{project_number}/locations/global/hubs/{hub_id}` +  string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + +  // Output only. The time the hub was created. +  google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. The time the hub was last updated. +  google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Optional labels in key:value format. For more information about labels, see +  // [Requirements for +  // labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). +  map<string, string> labels = 4; + +  // An optional description of the hub. +  string description = 5; + +  // Output only. The Google-generated UUID for the hub. This value is unique across all hub +  // resources. If a hub is deleted and another with the same name is created, +  // the new hub is assigned a different unique_id. +  string unique_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. The current lifecycle state of this hub. +  State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // The VPC networks associated with this hub's spokes. +  // +  // This field is read-only. Network Connectivity Center automatically +  // populates it based on the set of spokes attached to the hub. +  repeated RoutingVPC routing_vpcs = 10; +} + +// RoutingVPC contains information about the VPC networks that are associated +// with a hub's spokes. +message RoutingVPC { +  // The URI of the VPC network. +  string uri = 1 [(google.api.resource_reference) = { +                    type: "compute.googleapis.com/Network" +                  }]; + +  // Output only. If true, indicates that this VPC network is currently associated with +  // spokes that use the data transfer feature (spokes where the +  // site_to_site_data_transfer field is set to true). If you create new spokes +  // that use data transfer, they must be associated with this VPC network. At +  // most, one VPC network will have this field set to true. +  bool required_for_new_site_to_site_data_transfer_spokes = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A spoke represents a connection between your Google Cloud network resources +// and a non-Google-Cloud network. +// +// When you create a spoke, you associate it with a hub. You must also identify +// a value for exactly one of the following fields: +// +// * linked_vpn_tunnels +// * linked_interconnect_attachments +// * linked_router_appliance_instances +message Spoke { +  option (google.api.resource) = { +    type: "networkconnectivity.googleapis.com/Spoke" +    pattern: "projects/{project}/locations/{location}/spokes/{spoke}" +  }; + +  // Immutable. The name of the spoke. Spoke names must be unique. They use the +  // following form: +  //     `projects/{project_number}/locations/{region}/spokes/{spoke_id}` +  string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + +  // Output only. The time the spoke was created. +  google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. The time the spoke was last updated. +  google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Optional labels in key:value format. For more information about labels, see +  // [Requirements for +  // labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements). +  map<string, string> labels = 4; + +  // An optional description of the spoke. +  string description = 5; + +  // Immutable. The name of the hub that this spoke is attached to. +  string hub = 6 [ +    (google.api.field_behavior) = IMMUTABLE, +    (google.api.resource_reference) = { +      type: "networkconnectivity.googleapis.com/Hub" +    } +  ]; + +  // VPN tunnels that are associated with the spoke. +  LinkedVpnTunnels linked_vpn_tunnels = 17; + +  // VLAN attachments that are associated with the spoke. +  LinkedInterconnectAttachments linked_interconnect_attachments = 18; + +  // Router appliance instances that are associated with the spoke. +  LinkedRouterApplianceInstances linked_router_appliance_instances = 19; + +  // Output only. The Google-generated UUID for the spoke. This value is unique across all +  // spoke resources. If a spoke is deleted and another with the same name is +  // created, the new spoke is assigned a different unique_id. +  string unique_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. The current lifecycle state of this spoke. +  State state = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request for [HubService.ListHubs][google.cloud.networkconnectivity.v1.HubService.ListHubs] method. +message ListHubsRequest { +  // Required. The parent resource's name. +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "locations.googleapis.com/Location" +    } +  ]; + +  // The maximum number of results per page that should be returned. +  int32 page_size = 2; + +  // The page token. +  string page_token = 3; + +  // An expression that filters the results listed in the response. +  string filter = 4; + +  // Sort the results by a certain order. +  string order_by = 5; +} + +// Response for [HubService.ListHubs][google.cloud.networkconnectivity.v1.HubService.ListHubs] method. +message ListHubsResponse { +  // The requested hubs. +  repeated Hub hubs = 1; + +  // The next pagination token in the List response. It should be used as +  // page_token for the following request. An empty value means no more result. +  string next_page_token = 2; + +  // Locations that could not be reached. +  repeated string unreachable = 3; +} + +// Request for [HubService.GetHub][google.cloud.networkconnectivity.v1.HubService.GetHub] method. +message GetHubRequest { +  // Required. The name of the hub resource to get. +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "networkconnectivity.googleapis.com/Hub" +    } +  ]; +} + +// Request for [HubService.CreateHub][google.cloud.networkconnectivity.v1.HubService.CreateHub] method. +message CreateHubRequest { +  // Required. The parent resource. +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "locations.googleapis.com/Location" +    } +  ]; + +  // Required. A unique identifier for the hub. +  string hub_id = 2 [(google.api.field_behavior) = REQUIRED]; + +  // Required. The initial values for a new hub. +  Hub hub = 3 [(google.api.field_behavior) = REQUIRED]; + +  // Optional. A unique request ID (optional). If you specify this ID, you can use it +  // in cases when you need to retry your request. When you need to retry, this +  // ID lets the server know that it can ignore the request if it has already +  // been completed. The server guarantees that for at least 60 minutes after +  // the first request. +  // +  // For example, consider a situation where you make an initial request and +  // the request times out. If you make the request again with the same request +  // ID, the server can check to see whether the original operation +  // was received. If it was, the server ignores the second request. This +  // behavior prevents clients from mistakenly creating duplicate commitments. +  // +  // The request ID must be a valid UUID, with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for [HubService.UpdateHub][google.cloud.networkconnectivity.v1.HubService.UpdateHub] method. +message UpdateHubRequest { +  // Optional. In the case of an update to an existing hub, field mask is used to specify +  // the fields to be overwritten. The fields specified in the update_mask are +  // relative to the resource, not the full request. A field is overwritten if +  // it is in the mask. If the user does not provide a mask, then all fields are +  // overwritten. +  google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL]; + +  // Required. The state that the hub should be in after the update. +  Hub hub = 2 [(google.api.field_behavior) = REQUIRED]; + +  // Optional. A unique request ID (optional). If you specify this ID, you can use it +  // in cases when you need to retry your request. When you need to retry, this +  // ID lets the server know that it can ignore the request if it has already +  // been completed. The server guarantees that for at least 60 minutes after +  // the first request. +  // +  // For example, consider a situation where you make an initial request and +  // the request times out. If you make the request again with the same request +  // ID, the server can check to see whether the original operation +  // was received. If it was, the server ignores the second request. This +  // behavior prevents clients from mistakenly creating duplicate commitments. +  // +  // The request ID must be a valid UUID, with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request for [HubService.DeleteHub][google.cloud.networkconnectivity.v1.HubService.DeleteHub]. +message DeleteHubRequest { +  // Required. The name of the hub to delete. +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "networkconnectivity.googleapis.com/Hub" +    } +  ]; + +  // Optional. A unique request ID (optional). If you specify this ID, you can use it +  // in cases when you need to retry your request. When you need to retry, this +  // ID lets the server know that it can ignore the request if it has already +  // been completed. The server guarantees that for at least 60 minutes after +  // the first request. +  // +  // For example, consider a situation where you make an initial request and +  // the request times out. If you make the request again with the same request +  // ID, the server can check to see whether the original operation +  // was received. If it was, the server ignores the second request. This +  // behavior prevents clients from mistakenly creating duplicate commitments. +  // +  // The request ID must be a valid UUID, with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request for [HubService.ListSpokes][google.cloud.networkconnectivity.v1.HubService.ListSpokes]. +message ListSpokesRequest { +  // Required. The parent resource. +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "locations.googleapis.com/Location" +    } +  ]; + +  // The maximum number of results per page that should be returned. +  int32 page_size = 2; + +  // The page token. +  string page_token = 3; + +  // An expression that filters the results listed in the response. +  string filter = 4; + +  // Sort the results by a certain order. +  string order_by = 5; +} + +// The response for [HubService.ListSpokes][google.cloud.networkconnectivity.v1.HubService.ListSpokes]. +message ListSpokesResponse { +  // The requested spokes. +  repeated Spoke spokes = 1; + +  // The next pagination token in the List response. It should be used as +  // page_token for the following request. An empty value means no more result. +  string next_page_token = 2; + +  // Locations that could not be reached. +  repeated string unreachable = 3; +} + +// The request for [HubService.GetSpoke][google.cloud.networkconnectivity.v1.HubService.GetSpoke]. +message GetSpokeRequest { +  // Required. The name of the spoke resource. +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "networkconnectivity.googleapis.com/Spoke" +    } +  ]; +} + +// The request for [HubService.CreateSpoke][google.cloud.networkconnectivity.v1.HubService.CreateSpoke]. +message CreateSpokeRequest { +  // Required. The parent resource. +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "locations.googleapis.com/Location" +    } +  ]; + +  // Required. Unique id for the spoke to create. +  string spoke_id = 2 [(google.api.field_behavior) = REQUIRED]; + +  // Required. The initial values for a new spoke. +  Spoke spoke = 3 [(google.api.field_behavior) = REQUIRED]; + +  // Optional. A unique request ID (optional). If you specify this ID, you can use it +  // in cases when you need to retry your request. When you need to retry, this +  // ID lets the server know that it can ignore the request if it has already +  // been completed. The server guarantees that for at least 60 minutes after +  // the first request. +  // +  // For example, consider a situation where you make an initial request and +  // the request times out. If you make the request again with the same request +  // ID, the server can check to see whether the original operation +  // was received. If it was, the server ignores the second request. This +  // behavior prevents clients from mistakenly creating duplicate commitments. +  // +  // The request ID must be a valid UUID, with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for [HubService.UpdateSpoke][google.cloud.networkconnectivity.v1.HubService.UpdateSpoke] method. +message UpdateSpokeRequest { +  // Optional. In the case of an update to an existing spoke, field mask is used to +  // specify the fields to be overwritten. The fields specified in the +  // update_mask are relative to the resource, not the full request. A field is +  // overwritten if it is in the mask. If the user does not provide a mask, then +  // all fields are overwritten. +  google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL]; + +  // Required. The state that the spoke should be in after the update. +  Spoke spoke = 2 [(google.api.field_behavior) = REQUIRED]; + +  // Optional. A unique request ID (optional). If you specify this ID, you can use it +  // in cases when you need to retry your request. When you need to retry, this +  // ID lets the server know that it can ignore the request if it has already +  // been completed. The server guarantees that for at least 60 minutes after +  // the first request. +  // +  // For example, consider a situation where you make an initial request and +  // the request times out. If you make the request again with the same request +  // ID, the server can check to see whether the original operation +  // was received. If it was, the server ignores the second request. This +  // behavior prevents clients from mistakenly creating duplicate commitments. +  // +  // The request ID must be a valid UUID, with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request for [HubService.DeleteSpoke][google.cloud.networkconnectivity.v1.HubService.DeleteSpoke]. +message DeleteSpokeRequest { +  // Required. The name of the spoke to delete. +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "networkconnectivity.googleapis.com/Spoke" +    } +  ]; + +  // Optional. A unique request ID (optional). If you specify this ID, you can use it +  // in cases when you need to retry your request. When you need to retry, this +  // ID lets the server know that it can ignore the request if it has already +  // been completed. The server guarantees that for at least 60 minutes after +  // the first request. +  // +  // For example, consider a situation where you make an initial request and +  // the request times out. If you make the request again with the same request +  // ID, the server can check to see whether the original operation +  // was received. If it was, the server ignores the second request. This +  // behavior prevents clients from mistakenly creating duplicate commitments. +  // +  // The request ID must be a valid UUID, with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// A collection of Cloud VPN tunnel resources. These resources should be +// redundant HA VPN tunnels that all advertise the same prefixes to Google +// Cloud. Alternatively, in a passive/active configuration, all tunnels +// should be capable of advertising the same prefixes. +message LinkedVpnTunnels { +  // The URIs of linked VPN tunnel resources. +  repeated string uris = 1 [(google.api.resource_reference) = { +                              type: "compute.googleapis.com/VpnTunnel" +                            }]; + +  // A value that controls whether site-to-site data transfer is enabled for +  // these resources. Data transfer is available only in [supported +  // locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). +  bool site_to_site_data_transfer = 2; +} + +// A collection of VLAN attachment resources. These resources should +// be redundant attachments that all advertise the same prefixes to Google +// Cloud. Alternatively, in active/passive configurations, all attachments +// should be capable of advertising the same prefixes. +message LinkedInterconnectAttachments { +  // The URIs of linked interconnect attachment resources +  repeated string uris = 1 [(google.api.resource_reference) = { +                              type: "compute.googleapis.com/InterconnectAttachment" +                            }]; + +  // A value that controls whether site-to-site data transfer is enabled for +  // these resources. Data transfer is available only in [supported +  // locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). +  bool site_to_site_data_transfer = 2; +} + +// A collection of router appliance instances. If you configure multiple router +// appliance instances to receive data from the same set of sites outside of +// Google Cloud, we recommend that you associate those instances with the same +// spoke. +message LinkedRouterApplianceInstances { +  // The list of router appliance instances. +  repeated RouterApplianceInstance instances = 1; + +  // A value that controls whether site-to-site data transfer is enabled for +  // these resources. Data transfer is available only in [supported +  // locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations). +  bool site_to_site_data_transfer = 2; +} + +// A router appliance instance is a Compute Engine virtual machine (VM) instance +// that acts as a BGP speaker. A router appliance instance is specified by the +// URI of the VM and the internal IP address of one of the VM's network +// interfaces. +message RouterApplianceInstance { +  // The URI of the VM. +  string virtual_machine = 1 [(google.api.resource_reference) = { +                                type: "compute.googleapis.com/Instance" +                              }]; + +  // The IP address on the VM to use for peering. +  string ip_address = 3; +} + +// Metadata about locations +message LocationMetadata { +  // List of supported features +  repeated LocationFeature location_features = 1; +} diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1/networkconnectivity_v1.yaml b/third_party/googleapis/google/cloud/networkconnectivity/v1/networkconnectivity_v1.yaml new file mode 100644 index 0000000..32f961b --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1/networkconnectivity_v1.yaml @@ -0,0 +1,117 @@ +type: google.api.Service +config_version: 3 +name: networkconnectivity.googleapis.com +title: Network Connectivity API + +apis: +- name: google.cloud.networkconnectivity.v1.HubService + +types: +- name: google.cloud.networkconnectivity.v1.LocationMetadata +- name: google.cloud.networkconnectivity.v1.OperationMetadata + +documentation: +  summary: The Network Connectivity API provides access to Network Connectivity Center. +  overview: The Network Connectivity API provides access to Network Connectivity Center. +  rules: +  - selector: google.cloud.location.Locations.GetLocation +    description: Gets information about a location. + +  - selector: google.cloud.location.Locations.ListLocations +    description: Lists information about the supported locations for this service. + +  - selector: google.iam.v1.IAMPolicy.GetIamPolicy +    description: |- +      Gets the access control policy for a resource. Returns an empty policy +      if the resource exists and does not have a policy set. + +  - selector: google.iam.v1.IAMPolicy.SetIamPolicy +    description: |- +      Sets the access control policy on the specified resource. Replaces +      any existing policy. + +      Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` +      errors. + +  - selector: google.iam.v1.IAMPolicy.TestIamPermissions +    description: |- +      Returns permissions that a caller has on the specified resource. If the +      resource does not exist, this will return an empty set of +      permissions, not a `NOT_FOUND` error. + +      Note: This operation is designed to be used for building +      permission-aware UIs and command-line tools, not for authorization +      checking. This operation may "fail open" without warning. + +backend: +  rules: +  - selector: google.cloud.location.Locations.GetLocation +    deadline: 60.0 +  - selector: google.cloud.location.Locations.ListLocations +    deadline: 60.0 +  - selector: 'google.cloud.networkconnectivity.v1.HubService.*' +    deadline: 60.0 +  - selector: 'google.iam.v1.IAMPolicy.*' +    deadline: 60.0 +  - selector: 'google.longrunning.Operations.*' +    deadline: 60.0 + +http: +  rules: +  - selector: google.cloud.location.Locations.GetLocation +    get: '/v1/{name=projects/*/locations/*}' +  - selector: google.cloud.location.Locations.ListLocations +    get: '/v1/{name=projects/*}/locations' +  - selector: google.iam.v1.IAMPolicy.GetIamPolicy +    get: '/v1/{resource=projects/*/locations/global/hubs/*}:getIamPolicy' +    additional_bindings: +    - get: '/v1/{resource=projects/*/locations/*/spokes/*}:getIamPolicy' +    - get: '/v1/{resource=projects/*/locations/global/policyBasedRoutes/*}:getIamPolicy' +  - selector: google.iam.v1.IAMPolicy.SetIamPolicy +    post: '/v1/{resource=projects/*/locations/global/hubs/*}:setIamPolicy' +    body: '*' +    additional_bindings: +    - post: '/v1/{resource=projects/*/locations/*/spokes/*}:setIamPolicy' +      body: '*' +    - post: '/v1/{resource=projects/*/locations/global/policyBasedRoutes/*}:setIamPolicy' +      body: '*' +  - selector: google.iam.v1.IAMPolicy.TestIamPermissions +    post: '/v1/{resource=projects/*/locations/global/hubs/*}:testIamPermissions' +    body: '*' +    additional_bindings: +    - post: '/v1/{resource=projects/*/locations/*/spokes/*}:testIamPermissions' +      body: '*' +    - post: '/v1/{resource=projects/*/locations/global/policyBasedRoutes/*}:testIamPermissions' +      body: '*' +  - selector: google.longrunning.Operations.CancelOperation +    post: '/v1/{name=projects/*/locations/*/operations/*}:cancel' +    body: '*' +  - selector: google.longrunning.Operations.DeleteOperation +    delete: '/v1/{name=projects/*/locations/*/operations/*}' +  - selector: google.longrunning.Operations.GetOperation +    get: '/v1/{name=projects/*/locations/*/operations/*}' +  - selector: google.longrunning.Operations.ListOperations +    get: '/v1/{name=projects/*/locations/*}/operations' + +authentication: +  rules: +  - selector: google.cloud.location.Locations.GetLocation +    oauth: +      canonical_scopes: |- +        https://www.googleapis.com/auth/cloud-platform +  - selector: google.cloud.location.Locations.ListLocations +    oauth: +      canonical_scopes: |- +        https://www.googleapis.com/auth/cloud-platform +  - selector: 'google.cloud.networkconnectivity.v1.HubService.*' +    oauth: +      canonical_scopes: |- +        https://www.googleapis.com/auth/cloud-platform +  - selector: 'google.iam.v1.IAMPolicy.*' +    oauth: +      canonical_scopes: |- +        https://www.googleapis.com/auth/cloud-platform +  - selector: 'google.longrunning.Operations.*' +    oauth: +      canonical_scopes: |- +        https://www.googleapis.com/auth/cloud-platform diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1/networkconnectivity_v1_grpc_service_config.json b/third_party/googleapis/google/cloud/networkconnectivity/v1/networkconnectivity_v1_grpc_service_config.json new file mode 100644 index 0000000..d36327b --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1/networkconnectivity_v1_grpc_service_config.json @@ -0,0 +1,26 @@ +{ +  "methodConfig": [{ +    "name": [{ "service": "google.cloud.networkconnectivity.v1.HubService" }], +    "timeout": "60s", +    "retryPolicy": { +      "maxAttempts": 5, +      "initialBackoff": "1s", +      "maxBackoff": "10s", +      "backoffMultiplier": 1.3, +      "retryableStatusCodes": ["UNAVAILABLE"] +    } +  }, +  { +    "name": [ +      { "service": "google.cloud.networkconnectivity.v1.HubService", "method": "CreateHub" }, +      { "service": "google.cloud.networkconnectivity.v1.HubService", "method": "UpdateHub" }, +      { "service": "google.cloud.networkconnectivity.v1.HubService", "method": "DeleteHub" }, +      { "service": "google.cloud.networkconnectivity.v1.HubService", "method": "CreateSpoke" }, +      { "service": "google.cloud.networkconnectivity.v1.HubService", "method": "UpdateSpoke" }, +      { "service": "google.cloud.networkconnectivity.v1.HubService", "method": "DeactivateSpoke" }, +      { "service": "google.cloud.networkconnectivity.v1.HubService", "method": "ActivateSpoke" }, +      { "service": "google.cloud.networkconnectivity.v1.HubService", "method": "DeleteSpoke" } +    ], +    "timeout": "60s" +  }] +} diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/BUILD.bazel b/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/BUILD.bazel new file mode 100644 index 0000000..313c9a7 --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/BUILD.bazel @@ -0,0 +1,361 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +#    * extra_protoc_parameters +#    * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( +    name = "networkconnectivity_proto", +    srcs = [ +        "common.proto", +        "hub.proto", +    ], +    deps = [ +        "//google/api:annotations_proto", +        "//google/api:client_proto", +        "//google/api:field_behavior_proto", +        "//google/api:resource_proto", +        "//google/longrunning:operations_proto", +        "@com_google_protobuf//:field_mask_proto", +        "@com_google_protobuf//:timestamp_proto", +    ], +) + +proto_library_with_info( +    name = "networkconnectivity_proto_with_info", +    deps = [ +        ":networkconnectivity_proto", +        "//google/cloud:common_resources_proto", +    ], +) + +############################################################################## +# Java +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "java_gapic_assembly_gradle_pkg", +    "java_gapic_library", +    "java_gapic_test", +    "java_grpc_library", +    "java_proto_library", +) + +java_proto_library( +    name = "networkconnectivity_java_proto", +    deps = [":networkconnectivity_proto"], +) + +java_grpc_library( +    name = "networkconnectivity_java_grpc", +    srcs = [":networkconnectivity_proto"], +    deps = [":networkconnectivity_java_proto"], +) + +java_gapic_library( +    name = "networkconnectivity_java_gapic", +    srcs = [":networkconnectivity_proto_with_info"], +    grpc_service_config = "networkconnectivity_grpc_service_config.json", +    test_deps = [ +        ":networkconnectivity_java_grpc", +    ], +    deps = [ +        ":networkconnectivity_java_proto", +    ], +) + +java_gapic_test( +    name = "networkconnectivity_java_gapic_test_suite", +    test_classes = [ +        "com.google.cloud.networkconnectivity.v1alpha1.HubServiceClientTest", +    ], +    runtime_deps = [":networkconnectivity_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( +    name = "google-cloud-networkconnectivity-v1alpha1-java", +    include_samples = True, +    deps = [ +        ":networkconnectivity_java_gapic", +        ":networkconnectivity_java_grpc", +        ":networkconnectivity_java_proto", +        ":networkconnectivity_proto", +    ], +) + +############################################################################## +# Go +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "go_gapic_assembly_pkg", +    "go_gapic_library", +    "go_proto_library", +    "go_test", +) + +go_proto_library( +    name = "networkconnectivity_go_proto", +    compilers = ["@io_bazel_rules_go//proto:go_grpc"], +    importpath = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1alpha1", +    protos = [":networkconnectivity_proto"], +    deps = [ +        "//google/api:annotations_go_proto", +        "//google/longrunning:longrunning_go_proto", +    ], +) + +go_gapic_library( +    name = "networkconnectivity_go_gapic", +    srcs = [":networkconnectivity_proto_with_info"], +    grpc_service_config = "networkconnectivity_grpc_service_config.json", +    importpath = "cloud.google.com/go/networkconnectivity/apiv1alpha1;networkconnectivity", +    metadata = True, +    service_yaml = "networkconnectivity_v1alpha1.yaml", +    deps = [ +        ":networkconnectivity_go_proto", +        "//google/longrunning:longrunning_go_proto", +        "@com_google_cloud_go//longrunning:go_default_library", +        "@com_google_cloud_go//longrunning/autogen:go_default_library", +    ], +) + +go_test( +    name = "networkconnectivity_go_gapic_test", +    srcs = [":networkconnectivity_go_gapic_srcjar_test"], +    embed = [":networkconnectivity_go_gapic"], +    importpath = "cloud.google.com/go/networkconnectivity/apiv1alpha1", +) + +# Open Source Packages +go_gapic_assembly_pkg( +    name = "gapi-cloud-networkconnectivity-v1alpha1-go", +    deps = [ +        ":networkconnectivity_go_gapic", +        ":networkconnectivity_go_gapic_srcjar-metadata.srcjar", +        ":networkconnectivity_go_gapic_srcjar-test.srcjar", +        ":networkconnectivity_go_proto", +    ], +) + +############################################################################## +# Python +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "py_gapic_assembly_pkg", +    "py_gapic_library", +    "py_test", +) + +py_gapic_library( +    name = "networkconnectivity_py_gapic", +    srcs = [":networkconnectivity_proto"], +    grpc_service_config = "networkconnectivity_grpc_service_config.json", +    opt_args = ["warehouse-package-name=google-cloud-network-connectivity"], +    transport = "grpc", +) + +py_test( +    name = "networkconnectivity_py_gapic_test", +    srcs = [ +        "networkconnectivity_py_gapic_pytest.py", +        "networkconnectivity_py_gapic_test.py", +    ], +    legacy_create_init = False, +    deps = [":networkconnectivity_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( +    name = "networkconnectivity-v1alpha1-py", +    deps = [ +        ":networkconnectivity_py_gapic", +    ], +) + +############################################################################## +# PHP +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "php_gapic_assembly_pkg", +    "php_gapic_library", +    "php_grpc_library", +    "php_proto_library", +) + +php_proto_library( +    name = "networkconnectivity_php_proto", +    deps = [":networkconnectivity_proto"], +) + +php_grpc_library( +    name = "networkconnectivity_php_grpc", +    srcs = [":networkconnectivity_proto"], +    deps = [":networkconnectivity_php_proto"], +) + +php_gapic_library( +    name = "networkconnectivity_php_gapic", +    srcs = [":networkconnectivity_proto_with_info"], +    grpc_service_config = "networkconnectivity_grpc_service_config.json", +    service_yaml = "networkconnectivity_v1alpha1.yaml", +    deps = [ +        ":networkconnectivity_php_grpc", +        ":networkconnectivity_php_proto", +    ], +) + +# Open Source Packages +php_gapic_assembly_pkg( +    name = "google-cloud-networkconnectivity-v1alpha1-php", +    deps = [ +        ":networkconnectivity_php_gapic", +        ":networkconnectivity_php_grpc", +        ":networkconnectivity_php_proto", +    ], +) + +############################################################################## +# Node.js +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "nodejs_gapic_assembly_pkg", +    "nodejs_gapic_library", +) + +nodejs_gapic_library( +    name = "networkconnectivity_nodejs_gapic", +    package_name = "@google-cloud/network-connectivity", +    src = ":networkconnectivity_proto_with_info", +    extra_protoc_parameters = ["metadata"], +    grpc_service_config = "networkconnectivity_grpc_service_config.json", +    package = "google.cloud.networkconnectivity.v1alpha1", +    service_yaml = "networkconnectivity_v1alpha1.yaml", +    deps = [], +) + +nodejs_gapic_assembly_pkg( +    name = "networkconnectivity-v1alpha1-nodejs", +    deps = [ +        ":networkconnectivity_nodejs_gapic", +        ":networkconnectivity_proto", +    ], +) + +############################################################################## +# Ruby +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "ruby_cloud_gapic_library", +    "ruby_gapic_assembly_pkg", +    "ruby_grpc_library", +    "ruby_proto_library", +) + +ruby_proto_library( +    name = "networkconnectivity_ruby_proto", +    deps = [":networkconnectivity_proto"], +) + +ruby_grpc_library( +    name = "networkconnectivity_ruby_grpc", +    srcs = [":networkconnectivity_proto"], +    deps = [":networkconnectivity_ruby_proto"], +) + +ruby_cloud_gapic_library( +    name = "networkconnectivity_ruby_gapic", +    srcs = [":networkconnectivity_proto_with_info"], +    extra_protoc_parameters = [ +        "ruby-cloud-api-id=networkconnectivity.googleapis.com", +        "ruby-cloud-api-shortname=networkconnectivity", +        "ruby-cloud-env-prefix=NETWORK_CONNECTIVITY", +        "ruby-cloud-gem-name=google-cloud-network_connectivity-v1alpha1", +        "ruby-cloud-product-url=https://cloud.google.com/network-connectivity/docs", +    ], +    grpc_service_config = "networkconnectivity_grpc_service_config.json", +    ruby_cloud_description = "Network Connectivity is Google's suite of products that provide enterprise connectivity from your on-premises network or from another cloud provider to your Virtual Private Cloud (VPC) network.", +    ruby_cloud_title = "Network Connectivity V1alpha1", +    deps = [ +        ":networkconnectivity_ruby_grpc", +        ":networkconnectivity_ruby_proto", +    ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( +    name = "google-cloud-networkconnectivity-v1alpha1-ruby", +    deps = [ +        ":networkconnectivity_ruby_gapic", +        ":networkconnectivity_ruby_grpc", +        ":networkconnectivity_ruby_proto", +    ], +) + +############################################################################## +# C# +############################################################################## +load( +    "@com_google_googleapis_imports//:imports.bzl", +    "csharp_gapic_assembly_pkg", +    "csharp_gapic_library", +    "csharp_grpc_library", +    "csharp_proto_library", +) + +csharp_proto_library( +    name = "networkconnectivity_csharp_proto", +    deps = [":networkconnectivity_proto"], +) + +csharp_grpc_library( +    name = "networkconnectivity_csharp_grpc", +    srcs = [":networkconnectivity_proto"], +    deps = [":networkconnectivity_csharp_proto"], +) + +csharp_gapic_library( +    name = "networkconnectivity_csharp_gapic", +    srcs = [":networkconnectivity_proto_with_info"], +    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", +    grpc_service_config = "networkconnectivity_grpc_service_config.json", +    service_yaml = "networkconnectivity_v1alpha1.yaml", +    deps = [ +        ":networkconnectivity_csharp_grpc", +        ":networkconnectivity_csharp_proto", +    ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( +    name = "google-cloud-networkconnectivity-v1alpha1-csharp", +    deps = [ +        ":networkconnectivity_csharp_gapic", +        ":networkconnectivity_csharp_grpc", +        ":networkconnectivity_csharp_proto", +    ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/common.proto b/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/common.proto new file mode 100644 index 0000000..bdd9df6 --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/common.proto @@ -0,0 +1,55 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +//     http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.networkconnectivity.v1alpha1; + +import "google/api/field_behavior.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetworkConnectivity.V1Alpha1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1alpha1;networkconnectivity"; +option java_multiple_files = true; +option java_outer_classname = "CommonProto"; +option java_package = "com.google.cloud.networkconnectivity.v1alpha1"; +option php_namespace = "Google\\Cloud\\NetworkConnectivity\\V1alpha1"; +option ruby_package = "Google::Cloud::NetworkConnectivity::V1alpha1"; + +// Represents the metadata of the long-running operation. +message OperationMetadata { +  // Output only. The time the operation was created. +  google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. The time the operation finished running. +  google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. Server-defined resource path for the target of the operation. +  string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. Name of the verb executed by the operation. +  string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. Human-readable status of the operation, if any. +  string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. Identifies whether the user has requested cancellation +  // of the operation. Operations that have successfully been cancelled +  // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, +  // corresponding to `Code.CANCELLED`. +  bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. API version used to start the operation. +  string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/hub.proto b/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/hub.proto new file mode 100644 index 0000000..6f1b8ee --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/hub.proto @@ -0,0 +1,551 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +//     http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.networkconnectivity.v1alpha1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.NetworkConnectivity.V1Alpha1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/networkconnectivity/v1alpha1;networkconnectivity"; +option java_multiple_files = true; +option java_outer_classname = "HubProto"; +option java_package = "com.google.cloud.networkconnectivity.v1alpha1"; +option php_namespace = "Google\\Cloud\\NetworkConnectivity\\V1alpha1"; +option ruby_package = "Google::Cloud::NetworkConnectivity::V1alpha1"; +option (google.api.resource_definition) = { +  type: "compute.googleapis.com/VpnTunnel" +  pattern: "projects/{project}/regions/{region}/vpnTunnels/{resource_id}" +}; +option (google.api.resource_definition) = { +  type: "compute.googleapis.com/InterconnectAttachment" +  pattern: "projects/{project}/regions/{region}/interconnectAttachments/{resource_id}" +}; +option (google.api.resource_definition) = { +  type: "compute.googleapis.com/Instance" +  pattern: "projects/{project}/zones/{zone}/instances/{instance}" +}; + +// Network Connectivity Center is a hub-and-spoke abstraction for +// network connectivity management in Google Cloud. It reduces +// operational complexity through a simple, centralized connectivity management +// model. +service HubService { +  option (google.api.default_host) = "networkconnectivity.googleapis.com"; +  option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + +  // Lists Hubs in a given project and location. +  rpc ListHubs(ListHubsRequest) returns (ListHubsResponse) { +    option (google.api.http) = { +      get: "/v1alpha1/{parent=projects/*/locations/global}/hubs" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Gets details of a single Hub. +  rpc GetHub(GetHubRequest) returns (Hub) { +    option (google.api.http) = { +      get: "/v1alpha1/{name=projects/*/locations/global/hubs/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Creates a new Hub in a given project and location. +  rpc CreateHub(CreateHubRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      post: "/v1alpha1/{parent=projects/*/locations/global}/hubs" +      body: "hub" +    }; +    option (google.api.method_signature) = "parent,hub,hub_id"; +    option (google.longrunning.operation_info) = { +      response_type: "Hub" +      metadata_type: "OperationMetadata" +    }; +  } + +  // Updates the parameters of a single Hub. +  rpc UpdateHub(UpdateHubRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      patch: "/v1alpha1/{hub.name=projects/*/locations/global/hubs/*}" +      body: "hub" +    }; +    option (google.api.method_signature) = "hub,update_mask"; +    option (google.longrunning.operation_info) = { +      response_type: "Hub" +      metadata_type: "OperationMetadata" +    }; +  } + +  // Deletes a single Hub. +  rpc DeleteHub(DeleteHubRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      delete: "/v1alpha1/{name=projects/*/locations/global/hubs/*}" +    }; +    option (google.api.method_signature) = "name"; +    option (google.longrunning.operation_info) = { +      response_type: "google.protobuf.Empty" +      metadata_type: "OperationMetadata" +    }; +  } + +  // Lists Spokes in a given project and location. +  rpc ListSpokes(ListSpokesRequest) returns (ListSpokesResponse) { +    option (google.api.http) = { +      get: "/v1alpha1/{parent=projects/*/locations/*}/spokes" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Gets details of a single Spoke. +  rpc GetSpoke(GetSpokeRequest) returns (Spoke) { +    option (google.api.http) = { +      get: "/v1alpha1/{name=projects/*/locations/*/spokes/*}" +    }; +    option (google.api.method_signature) = "name"; +  } + +  // Creates a new Spoke in a given project and location. +  rpc CreateSpoke(CreateSpokeRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      post: "/v1alpha1/{parent=projects/*/locations/*}/spokes" +      body: "spoke" +    }; +    option (google.api.method_signature) = "parent,spoke,spoke_id"; +    option (google.longrunning.operation_info) = { +      response_type: "Spoke" +      metadata_type: "OperationMetadata" +    }; +  } + +  // Updates the parameters of a single Spoke. +  rpc UpdateSpoke(UpdateSpokeRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      patch: "/v1alpha1/{spoke.name=projects/*/locations/*/spokes/*}" +      body: "spoke" +    }; +    option (google.api.method_signature) = "spoke,update_mask"; +    option (google.longrunning.operation_info) = { +      response_type: "Spoke" +      metadata_type: "OperationMetadata" +    }; +  } + +  // Deletes a single Spoke. +  rpc DeleteSpoke(DeleteSpokeRequest) returns (google.longrunning.Operation) { +    option (google.api.http) = { +      delete: "/v1alpha1/{name=projects/*/locations/*/spokes/*}" +    }; +    option (google.api.method_signature) = "name"; +    option (google.longrunning.operation_info) = { +      response_type: "google.protobuf.Empty" +      metadata_type: "OperationMetadata" +    }; +  } +} + +// Network Connectivity Center is a hub-and-spoke abstraction for +// network connectivity management in Google Cloud. It reduces +// operational complexity through a simple, centralized connectivity management +// model. Following is the resource message of a hub. +message Hub { +  option (google.api.resource) = { +    type: "networkconnectivity.googleapis.com/Hub" +    pattern: "projects/{project}/locations/global/hubs/{hub}" +  }; + +  // Immutable. The name of a Hub resource. +  string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + +  // Time when the Hub was created. +  google.protobuf.Timestamp create_time = 2; + +  // Time when the Hub was updated. +  google.protobuf.Timestamp update_time = 3; + +  // User-defined labels. +  map<string, string> labels = 4; + +  // Short description of the hub resource. +  string description = 5; + +  // Output only. A list of the URIs of all attached spokes +  repeated string spokes = 6 [ +    (google.api.field_behavior) = OUTPUT_ONLY, +    (google.api.resource_reference) = { +      type: "networkconnectivity.googleapis.com/Spoke" +    } +  ]; + +  // Output only. Google-generated UUID for this resource. This is unique across all Hub +  // resources. If a Hub resource is deleted and another with the same name is +  // created, it gets a different unique_id. +  string unique_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. The current lifecycle state of this Hub. +  State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// A Spoke is an  abstraction of a network attachment being attached +// to a Hub. A Spoke can be underlying a VPN tunnel, a +// VLAN (interconnect) attachment, a Router appliance, etc. +message Spoke { +  option (google.api.resource) = { +    type: "networkconnectivity.googleapis.com/Spoke" +    pattern: "projects/{project}/locations/{location}/spokes/{spoke}" +  }; + +  // Immutable. The name of a Spoke resource. +  string name = 1 [(google.api.field_behavior) = IMMUTABLE]; + +  // The time when the Spoke was created. +  google.protobuf.Timestamp create_time = 2; + +  // The time when the Spoke was updated. +  google.protobuf.Timestamp update_time = 3; + +  // User-defined labels. +  map<string, string> labels = 4; + +  // Short description of the spoke resource +  string description = 5; + +  // The resource URL of the hub resource that the spoke is attached to +  string hub = 6 [(google.api.resource_reference) = { +                    type: "networkconnectivity.googleapis.com/Hub" +                  }]; + +  // The URIs of linked VPN tunnel resources +  repeated string linked_vpn_tunnels = 12 [(google.api.resource_reference) = { +                                             type: "compute.googleapis.com/VpnTunnel" +                                           }]; + +  // The URIs of linked interconnect attachment resources +  repeated string linked_interconnect_attachments = 13 [(google.api.resource_reference) = { +                                                          type: "compute.googleapis.com/InterconnectAttachment" +                                                        }]; + +  // The URIs of linked Router appliance resources +  repeated RouterApplianceInstance linked_router_appliance_instances = 14; + +  // Output only. Google-generated UUID for this resource. This is unique across all Spoke +  // resources. If a Spoke resource is deleted and another with the same name is +  // created, it gets a different unique_id. +  string unique_id = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. The current lifecycle state of this Hub. +  State state = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Request for [HubService.ListHubs][google.cloud.networkconnectivity.v1alpha1.HubService.ListHubs] method. +message ListHubsRequest { +  // Required. The parent resource's name. +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "locations.googleapis.com/Location" +    } +  ]; + +  // The maximum number of results per page that should be returned. +  int32 page_size = 2; + +  // The page token. +  string page_token = 3; + +  // A filter expression that filters the results listed in the response. +  string filter = 4; + +  // Sort the results by a certain order. +  string order_by = 5; +} + +// Response for [HubService.ListHubs][google.cloud.networkconnectivity.v1alpha1.HubService.ListHubs] method. +message ListHubsResponse { +  // Hubs to be returned. +  repeated Hub hubs = 1; + +  // The next pagination token in the List response. It should be used as +  // page_token for the following request. An empty value means no more result. +  string next_page_token = 2; + +  // Locations that could not be reached. +  repeated string unreachable = 3; +} + +// Request for [HubService.GetHub][google.cloud.networkconnectivity.v1alpha1.HubService.GetHub] method. +message GetHubRequest { +  // Required. Name of the Hub resource to get. +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "networkconnectivity.googleapis.com/Hub" +    } +  ]; +} + +// Request for [HubService.CreateHub][google.cloud.networkconnectivity.v1alpha1.HubService.CreateHub] method. +message CreateHubRequest { +  // Required. The parent resource's name of the Hub. +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "locations.googleapis.com/Location" +    } +  ]; + +  // Optional. Unique id for the Hub to create. +  string hub_id = 2 [(google.api.field_behavior) = OPTIONAL]; + +  // Required. Initial values for a new Hub. +  Hub hub = 3 [(google.api.field_behavior) = REQUIRED]; + +  // Optional. An optional request ID to identify requests. Specify a unique request ID +  // so that if you must retry your request, the server will know to ignore +  // the request if it has already been completed. The server will guarantee +  // that for at least 60 minutes since the first request. +  // +  // For example, consider a situation where you make an initial request and t +  // he request times out. If you make the request again with the same request +  // ID, the server can check if original operation with the same request ID +  // was received, and if so, will ignore the second request. This prevents +  // clients from accidentally creating duplicate commitments. +  // +  // The request ID must be a valid UUID with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for [HubService.UpdateHub][google.cloud.networkconnectivity.v1alpha1.HubService.UpdateHub] method. +message UpdateHubRequest { +  // Optional. Field mask is used to specify the fields to be overwritten in the +  // Hub resource by the update. +  // The fields specified in the update_mask are relative to the resource, not +  // the full request. A field will be overwritten if it is in the mask. If the +  // user does not provide a mask then all fields will be overwritten. +  google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL]; + +  // Required. The state that the Hub should be in after the update. +  Hub hub = 2 [(google.api.field_behavior) = REQUIRED]; + +  // Optional. An optional request ID to identify requests. Specify a unique request ID +  // so that if you must retry your request, the server will know to ignore +  // the request if it has already been completed. The server will guarantee +  // that for at least 60 minutes since the first request. +  // +  // For example, consider a situation where you make an initial request and t +  // he request times out. If you make the request again with the same request +  // ID, the server can check if original operation with the same request ID +  // was received, and if so, will ignore the second request. This prevents +  // clients from accidentally creating duplicate commitments. +  // +  // The request ID must be a valid UUID with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request for [HubService.DeleteHub][google.cloud.networkconnectivity.v1alpha1.HubService.DeleteHub]. +message DeleteHubRequest { +  // Required. The name of the Hub to delete. +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "networkconnectivity.googleapis.com/Hub" +    } +  ]; + +  // Optional. An optional request ID to identify requests. Specify a unique request ID +  // so that if you must retry your request, the server will know to ignore +  // the request if it has already been completed. The server will guarantee +  // that for at least 60 minutes after the first request. +  // +  // For example, consider a situation where you make an initial request and t +  // he request times out. If you make the request again with the same request +  // ID, the server can check if original operation with the same request ID +  // was received, and if so, will ignore the second request. This prevents +  // clients from accidentally creating duplicate commitments. +  // +  // The request ID must be a valid UUID with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request for [HubService.ListSpokes][google.cloud.networkconnectivity.v1alpha1.HubService.ListSpokes]. +message ListSpokesRequest { +  // Required. The parent's resource name. +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "locations.googleapis.com/Location" +    } +  ]; + +  // The maximum number of results per page that should be returned. +  int32 page_size = 2; + +  // The page token. +  string page_token = 3; + +  // A filter expression that filters the results listed in the response. +  string filter = 4; + +  // Sort the results by a certain order. +  string order_by = 5; +} + +// The response for [HubService.ListSpokes][google.cloud.networkconnectivity.v1alpha1.HubService.ListSpokes]. +message ListSpokesResponse { +  // Spokes to be returned. +  repeated Spoke spokes = 1; + +  // The next pagination token in the List response. It should be used as +  // page_token for the following request. An empty value means no more result. +  string next_page_token = 2; + +  // Locations that could not be reached. +  repeated string unreachable = 3; +} + +// The request for [HubService.GetSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.GetSpoke]. +message GetSpokeRequest { +  // Required. The name of Spoke resource. +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "networkconnectivity.googleapis.com/Spoke" +    } +  ]; +} + +// The request for [HubService.CreateSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.CreateSpoke]. +message CreateSpokeRequest { +  // Required. The parent's resource name of the Spoke. +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "locations.googleapis.com/Location" +    } +  ]; + +  // Optional. Unique id for the Spoke to create. +  string spoke_id = 2 [(google.api.field_behavior) = OPTIONAL]; + +  // Required. Initial values for a new Hub. +  Spoke spoke = 3 [(google.api.field_behavior) = REQUIRED]; + +  // Optional. An optional request ID to identify requests. Specify a unique request ID +  // so that if you must retry your request, the server will know to ignore +  // the request if it has already been completed. The server will guarantee +  // that for at least 60 minutes since the first request. +  // +  // For example, consider a situation where you make an initial request and t +  // he request times out. If you make the request again with the same request +  // ID, the server can check if original operation with the same request ID +  // was received, and if so, will ignore the second request. This prevents +  // clients from accidentally creating duplicate commitments. +  // +  // The request ID must be a valid UUID with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Request for [HubService.UpdateSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.UpdateSpoke] method. +message UpdateSpokeRequest { +  // Optional. Field mask is used to specify the fields to be overwritten in the +  // Spoke resource by the update. +  // The fields specified in the update_mask are relative to the resource, not +  // the full request. A field will be overwritten if it is in the mask. If the +  // user does not provide a mask then all fields will be overwritten. +  google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = OPTIONAL]; + +  // Required. The state that the Spoke should be in after the update. +  Spoke spoke = 2 [(google.api.field_behavior) = REQUIRED]; + +  // Optional. An optional request ID to identify requests. Specify a unique request ID +  // so that if you must retry your request, the server will know to ignore +  // the request if it has already been completed. The server will guarantee +  // that for at least 60 minutes since the first request. +  // +  // For example, consider a situation where you make an initial request and t +  // he request times out. If you make the request again with the same request +  // ID, the server can check if original operation with the same request ID +  // was received, and if so, will ignore the second request. This prevents +  // clients from accidentally creating duplicate commitments. +  // +  // The request ID must be a valid UUID with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// The request for [HubService.DeleteSpoke][google.cloud.networkconnectivity.v1alpha1.HubService.DeleteSpoke]. +message DeleteSpokeRequest { +  // Required. The name of the Spoke to delete. +  string name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "networkconnectivity.googleapis.com/Spoke" +    } +  ]; + +  // Optional. An optional request ID to identify requests. Specify a unique request ID +  // so that if you must retry your request, the server will know to ignore +  // the request if it has already been completed. The server will guarantee +  // that for at least 60 minutes after the first request. +  // +  // For example, consider a situation where you make an initial request and t +  // he request times out. If you make the request again with the same request +  // ID, the server can check if original operation with the same request ID +  // was received, and if so, will ignore the second request. This prevents +  // clients from accidentally creating duplicate commitments. +  // +  // The request ID must be a valid UUID with the exception that zero UUID is +  // not supported (00000000-0000-0000-0000-000000000000). +  string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; +} + +// RouterAppliance represents a Router appliance which is specified by a VM URI +// and a NIC address. +message RouterApplianceInstance { +  // The URI of the virtual machine resource +  string virtual_machine = 1 [(google.api.resource_reference) = { +                                type: "compute.googleapis.com/Instance" +                              }]; + +  // The IP address of the network interface to use for peering. +  string ip_address = 3; + +  string network_interface = 2 [deprecated = true]; +} + +// The State enum represents the lifecycle of a Network Connectivity Center +// resource. +enum State { +  // No state information available +  STATE_UNSPECIFIED = 0; + +  // The resource's create operation is in progress +  CREATING = 1; + +  // The resource is active +  ACTIVE = 2; + +  // The resource's Delete operation is in progress +  DELETING = 3; +} diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/networkconnectivity_grpc_service_config.json b/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/networkconnectivity_grpc_service_config.json new file mode 100644 index 0000000..d2db795 --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/networkconnectivity_grpc_service_config.json @@ -0,0 +1,24 @@ +{ +  "methodConfig": [{ +    "name": [{ "service": "google.cloud.networkconnectivity.v1alpha1.HubService" }], +    "timeout": "60s", +    "retryPolicy": { +      "maxAttempts": 5, +      "initialBackoff": "1s", +      "maxBackoff": "10s", +      "backoffMultiplier": 1.3, +      "retryableStatusCodes": ["UNAVAILABLE"] +    } +  }, +  { +    "name": [ +      { "service": "google.cloud.networkconnectivity.v1alpha1.HubService", "method": "CreateHub" }, +      { "service": "google.cloud.networkconnectivity.v1alpha1.HubService", "method": "UpdateHub" }, +      { "service": "google.cloud.networkconnectivity.v1alpha1.HubService", "method": "DeleteHub" }, +      { "service": "google.cloud.networkconnectivity.v1alpha1.HubService", "method": "CreateSpoke" }, +      { "service": "google.cloud.networkconnectivity.v1alpha1.HubService", "method": "UpdateSpoke" }, +      { "service": "google.cloud.networkconnectivity.v1alpha1.HubService", "method": "DeleteSpoke" } +    ], +    "timeout": "60s" +  }] +} diff --git a/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/networkconnectivity_v1alpha1.yaml b/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/networkconnectivity_v1alpha1.yaml new file mode 100644 index 0000000..f3e8dbf --- /dev/null +++ b/third_party/googleapis/google/cloud/networkconnectivity/v1alpha1/networkconnectivity_v1alpha1.yaml @@ -0,0 +1,119 @@ +type: google.api.Service +config_version: 3 +name: networkconnectivity.googleapis.com +title: Network Connectivity API + +apis: +- name: google.cloud.networkconnectivity.v1alpha1.HubService + +types: +- name: google.cloud.networkconnectivity.v1alpha1.OperationMetadata + +documentation: +  summary: |- +    The Network Connectivity API will be home to various services which provide +    information pertaining to network connectivity. +  overview: |- +    The Network Connectivity API will be home to various services which +    provide information pertaining to network connectivity. This includes +    information like interconnects, VPNs, VPCs, routing information, ip +    address details, etc. This information will help customers verify their +    network configurations and helps them to discover misconfigurations, +    inconsistencies, etc. +  rules: +  - selector: google.cloud.location.Locations.GetLocation +    description: Gets information about a location. + +  - selector: google.cloud.location.Locations.ListLocations +    description: Lists information about the supported locations for this service. + +  - selector: google.iam.v1.IAMPolicy.GetIamPolicy +    description: |- +      Gets the access control policy for a resource. Returns an empty policy +      if the resource exists and does not have a policy set. + +  - selector: google.iam.v1.IAMPolicy.SetIamPolicy +    description: |- +      Sets the access control policy on the specified resource. Replaces +      any existing policy. + +      Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` +      errors. + +  - selector: google.iam.v1.IAMPolicy.TestIamPermissions +    description: |- +      Returns permissions that a caller has on the specified resource. If the +      resource does not exist, this will return an empty set of +      permissions, not a `NOT_FOUND` error. + +      Note: This operation is designed to be used for building +      permission-aware UIs and command-line tools, not for authorization +      checking. This operation may "fail open" without warning. + +backend: +  rules: +  - selector: google.cloud.location.Locations.GetLocation +    deadline: 60.0 +  - selector: google.cloud.location.Locations.ListLocations +    deadline: 60.0 +  - selector: 'google.cloud.networkconnectivity.v1alpha1.HubService.*' +    deadline: 60.0 +  - selector: 'google.iam.v1.IAMPolicy.*' +    deadline: 60.0 +  - selector: 'google.longrunning.Operations.*' +    deadline: 60.0 + +http: +  rules: +  - selector: google.cloud.location.Locations.GetLocation +    get: '/v1alpha1/{name=projects/*/locations/*}' +  - selector: google.cloud.location.Locations.ListLocations +    get: '/v1alpha1/{name=projects/*}/locations' +  - selector: google.iam.v1.IAMPolicy.GetIamPolicy +    get: '/v1alpha1/{resource=projects/*/locations/global/hubs/*}:getIamPolicy' +    additional_bindings: +    - get: '/v1alpha1/{resource=projects/*/locations/*/spokes/*}:getIamPolicy' +  - selector: google.iam.v1.IAMPolicy.SetIamPolicy +    post: '/v1alpha1/{resource=projects/*/locations/global/hubs/*}:setIamPolicy' +    body: '*' +    additional_bindings: +    - post: '/v1alpha1/{resource=projects/*/locations/*/spokes/*}:setIamPolicy' +      body: '*' +  - selector: google.iam.v1.IAMPolicy.TestIamPermissions +    post: '/v1alpha1/{resource=projects/*/locations/global/hubs/*}:testIamPermissions' +    body: '*' +    additional_bindings: +    - post: '/v1alpha1/{resource=projects/*/locations/*/spokes/*}:testIamPermissions' +      body: '*' +  - selector: google.longrunning.Operations.CancelOperation +    post: '/v1alpha1/{name=projects/*/locations/*/operations/*}:cancel' +    body: '*' +  - selector: google.longrunning.Operations.DeleteOperation +    delete: '/v1alpha1/{name=projects/*/locations/*/operations/*}' +  - selector: google.longrunning.Operations.GetOperation +    get: '/v1alpha1/{name=projects/*/locations/*/operations/*}' +  - selector: google.longrunning.Operations.ListOperations +    get: '/v1alpha1/{name=projects/*/locations/*}/operations' + +authentication: +  rules: +  - selector: google.cloud.location.Locations.GetLocation +    oauth: +      canonical_scopes: |- +        https://www.googleapis.com/auth/cloud-platform +  - selector: google.cloud.location.Locations.ListLocations +    oauth: +      canonical_scopes: |- +        https://www.googleapis.com/auth/cloud-platform +  - selector: 'google.cloud.networkconnectivity.v1alpha1.HubService.*' +    oauth: +      canonical_scopes: |- +        https://www.googleapis.com/auth/cloud-platform +  - selector: 'google.iam.v1.IAMPolicy.*' +    oauth: +      canonical_scopes: |- +        https://www.googleapis.com/auth/cloud-platform +  - selector: 'google.longrunning.Operations.*' +    oauth: +      canonical_scopes: |- +        https://www.googleapis.com/auth/cloud-platform  | 
