Add API for AI Streams.

PiperOrigin-RevId: 332258539
This commit is contained in:
Google APIs 2020-09-17 10:07:58 -07:00 committed by Copybara-Service
parent 613f39ea61
commit 74bda5c755
5 changed files with 1022 additions and 0 deletions

View File

@ -0,0 +1,395 @@
# This file was automatically generated by BuildFileGenerator
# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/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 = "aistreams_proto",
srcs = [
"aistreams.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 = "aistreams_proto_with_info",
deps = [
":aistreams_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 = "aistreams_java_proto",
deps = [":aistreams_proto"],
)
java_grpc_library(
name = "aistreams_java_grpc",
srcs = [":aistreams_proto"],
deps = [":aistreams_java_proto"],
)
java_gapic_library(
name = "aistreams_java_gapic",
src = ":aistreams_proto_with_info",
gapic_yaml = "aistreams_gapic.yaml",
grpc_service_config = "aistreams_grpc_service_config.json",
package = "google.partner.aistreams.v1alpha1",
service_yaml = "aistreams_v1alpha1.yaml",
test_deps = [
":aistreams_java_grpc",
],
deps = [
":aistreams_java_proto",
],
)
java_gapic_test(
name = "aistreams_java_gapic_test_suite",
test_classes = [
"com.google.partner.aistreams.v1alpha1.AIStreamsClientTest",
],
runtime_deps = [":aistreams_java_gapic_test"],
)
# Open Source Packages
java_gapic_assembly_gradle_pkg(
name = "google-cloud-partner-aistreams-v1alpha1-java",
deps = [
":aistreams_java_gapic",
":aistreams_java_grpc",
":aistreams_java_proto",
":aistreams_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 = "aistreams_go_proto",
compilers = ["@io_bazel_rules_go//proto:go_grpc"],
importpath = "google.golang.org/genproto/googleapis/partner/aistreams/v1alpha1",
protos = [":aistreams_proto"],
deps = [
"//google/api:annotations_go_proto",
"//google/longrunning:longrunning_go_proto",
],
)
go_gapic_library(
name = "aistreams_go_gapic",
srcs = [":aistreams_proto_with_info"],
grpc_service_config = "aistreams_grpc_service_config.json",
importpath = "cloud.google.com/go/partner/aistreams/apiv1alpha1;aistreams",
service_yaml = "aistreams_v1alpha1.yaml",
deps = [
":aistreams_go_proto",
"//google/longrunning:longrunning_go_gapic",
"//google/longrunning:longrunning_go_proto",
"@com_google_cloud_go//longrunning:go_default_library",
],
)
go_test(
name = "aistreams_go_gapic_test",
srcs = [":aistreams_go_gapic_srcjar_test"],
embed = [":aistreams_go_gapic"],
importpath = "cloud.google.com/go/partner/aistreams/apiv1alpha1",
)
# Open Source Packages
go_gapic_assembly_pkg(
name = "gapi-cloud-partner-aistreams-v1alpha1-go",
deps = [
":aistreams_go_gapic",
":aistreams_go_gapic_srcjar-test.srcjar",
":aistreams_go_proto",
],
)
##############################################################################
# Python
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"moved_proto_library",
"py_gapic_assembly_pkg",
"py_gapic_library",
"py_grpc_library",
"py_proto_library",
)
moved_proto_library(
name = "aistreams_moved_proto",
srcs = [":aistreams_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",
],
)
py_proto_library(
name = "aistreams_py_proto",
plugin = "@protoc_docs_plugin//:docs_plugin",
deps = [":aistreams_moved_proto"],
)
py_grpc_library(
name = "aistreams_py_grpc",
srcs = [":aistreams_moved_proto"],
deps = [":aistreams_py_proto"],
)
py_gapic_library(
name = "aistreams_py_gapic",
src = ":aistreams_proto_with_info",
gapic_yaml = "aistreams_gapic.yaml",
grpc_service_config = "aistreams_grpc_service_config.json",
package = "google.partner.aistreams.v1alpha1",
service_yaml = "aistreams_v1alpha1.yaml",
deps = [
":aistreams_py_grpc",
":aistreams_py_proto",
],
)
# Open Source Packages
py_gapic_assembly_pkg(
name = "partner-aistreams-v1alpha1-py",
deps = [
":aistreams_py_gapic",
":aistreams_py_grpc",
":aistreams_py_proto",
],
)
##############################################################################
# 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 = "aistreams_php_proto",
deps = [":aistreams_proto"],
)
php_grpc_library(
name = "aistreams_php_grpc",
srcs = [":aistreams_proto"],
deps = [":aistreams_php_proto"],
)
php_gapic_library(
name = "aistreams_php_gapic",
src = ":aistreams_proto_with_info",
gapic_yaml = "aistreams_gapic.yaml",
grpc_service_config = "aistreams_grpc_service_config.json",
package = "google.partner.aistreams.v1alpha1",
service_yaml = "aistreams_v1alpha1.yaml",
deps = [
":aistreams_php_grpc",
":aistreams_php_proto",
],
)
# Open Source Packages
php_gapic_assembly_pkg(
name = "google-cloud-partner-aistreams-v1alpha1-php",
deps = [
":aistreams_php_gapic",
":aistreams_php_grpc",
":aistreams_php_proto",
],
)
##############################################################################
# Node.js
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"nodejs_gapic_assembly_pkg",
"nodejs_gapic_library",
)
nodejs_gapic_library(
name = "aistreams_nodejs_gapic",
src = ":aistreams_proto_with_info",
grpc_service_config = "aistreams_grpc_service_config.json",
package = "google.partner.aistreams.v1alpha1",
service_yaml = "aistreams_v1alpha1.yaml",
deps = [],
)
nodejs_gapic_assembly_pkg(
name = "partner-aistreams-v1alpha1-nodejs",
deps = [
":aistreams_nodejs_gapic",
":aistreams_proto",
],
)
##############################################################################
# Ruby
##############################################################################
load(
"@com_google_googleapis_imports//:imports.bzl",
"ruby_gapic_assembly_pkg",
"ruby_gapic_library",
"ruby_grpc_library",
"ruby_proto_library",
)
ruby_proto_library(
name = "aistreams_ruby_proto",
deps = [":aistreams_proto"],
)
ruby_grpc_library(
name = "aistreams_ruby_grpc",
srcs = [":aistreams_proto"],
deps = [":aistreams_ruby_proto"],
)
ruby_gapic_library(
name = "aistreams_ruby_gapic",
src = ":aistreams_proto_with_info",
gapic_yaml = "aistreams_gapic.yaml",
grpc_service_config = "aistreams_grpc_service_config.json",
package = "google.partner.aistreams.v1alpha1",
service_yaml = "aistreams_v1alpha1.yaml",
deps = [
":aistreams_ruby_grpc",
":aistreams_ruby_proto",
],
)
# Open Source Packages
ruby_gapic_assembly_pkg(
name = "google-cloud-partner-aistreams-v1alpha1-ruby",
deps = [
":aistreams_ruby_gapic",
":aistreams_ruby_grpc",
":aistreams_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 = "aistreams_csharp_proto",
deps = [":aistreams_proto"],
)
csharp_grpc_library(
name = "aistreams_csharp_grpc",
srcs = [":aistreams_proto"],
deps = [":aistreams_csharp_proto"],
)
csharp_gapic_library(
name = "aistreams_csharp_gapic",
srcs = [":aistreams_proto_with_info"],
common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
grpc_service_config = "aistreams_grpc_service_config.json",
deps = [
":aistreams_csharp_grpc",
":aistreams_csharp_proto",
],
)
# Open Source Packages
csharp_gapic_assembly_pkg(
name = "google-cloud-partner-aistreams-v1alpha1-csharp",
deps = [
":aistreams_csharp_gapic",
":aistreams_csharp_grpc",
":aistreams_csharp_proto",
],
)
##############################################################################
# C++
##############################################################################
# Put your C++ rules here
load(
"@com_google_googleapis_imports//:imports.bzl",
"cc_grpc_library",
"cc_proto_library",
)
cc_proto_library(
name = "aistreams_cc_proto",
deps = [":aistreams_proto"],
)
cc_grpc_library(
name = "aistreams_cc_grpc",
srcs = [":aistreams_proto"],
grpc_only = True,
deps = [":aistreams_cc_proto"],
)

View File

@ -0,0 +1,493 @@
// 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.partner.aistreams.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 cc_enable_arenas = true;
option go_package = "google.golang.org/genproto/googleapis/partner/aistreams/v1alpha1;aistreams";
option java_multiple_files = true;
option java_outer_classname = "AIStreamsProto";
option java_package = "com.google.partner.aistreams.v1alpha1";
// AIStreams service.
service AIStreams {
option (google.api.default_host) = "aistreams.googleapis.com";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
// Lists Clusters in a given project and location.
rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) {
option (google.api.http) = {
get: "/v1alpha1/{parent=projects/*/locations/*}/clusters"
};
option (google.api.method_signature) = "parent";
}
// Gets details of a single Cluster.
rpc GetCluster(GetClusterRequest) returns (Cluster) {
option (google.api.http) = {
get: "/v1alpha1/{name=projects/*/locations/*/clusters/*}"
};
option (google.api.method_signature) = "name";
}
// Creates a new Cluster in a given project and location.
rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1alpha1/{parent=projects/*/locations/*}/clusters"
body: "cluster"
};
option (google.api.method_signature) = "parent,cluster,cluster_id";
option (google.longrunning.operation_info) = {
response_type: "Cluster"
metadata_type: "OperationMetadata"
};
}
// Updates the parameters of a single Cluster.
rpc UpdateCluster(UpdateClusterRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
patch: "/v1alpha1/{cluster.name=projects/*/locations/*/clusters/*}"
body: "cluster"
};
option (google.api.method_signature) = "cluster,update_mask";
option (google.longrunning.operation_info) = {
response_type: "Cluster"
metadata_type: "OperationMetadata"
};
}
// Deletes a single Cluster.
rpc DeleteCluster(DeleteClusterRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
delete: "/v1alpha1/{name=projects/*/locations/*/clusters/*}"
};
option (google.api.method_signature) = "name";
option (google.longrunning.operation_info) = {
response_type: "google.protobuf.Empty"
metadata_type: "OperationMetadata"
};
}
// Lists Streams in a given project, location and cluster.
rpc ListStreams(ListStreamsRequest) returns (ListStreamsResponse) {
option (google.api.http) = {
get: "/v1alpha1/{parent=projects/*/locations/*/clusters/*}/streams"
};
option (google.api.method_signature) = "parent";
}
// Gets details of a single Stream.
rpc GetStream(GetStreamRequest) returns (Stream) {
option (google.api.http) = {
get: "/v1alpha1/{name=projects/*/locations/*/clusters/*/streams/*}"
};
option (google.api.method_signature) = "name";
}
// Creates a new Stream in a given project and location.
rpc CreateStream(CreateStreamRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
post: "/v1alpha1/{parent=projects/*/locations/*/clusters/*}/streams"
body: "stream"
};
option (google.api.method_signature) = "parent,stream,stream_id";
option (google.longrunning.operation_info) = {
response_type: "Stream"
metadata_type: "OperationMetadata"
};
}
// Updates the parameters of a single Stream.
rpc UpdateStream(UpdateStreamRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
patch: "/v1alpha1/{stream.name=projects/*/locations/*/clusters/*/streams/*}"
body: "stream"
};
option (google.api.method_signature) = "stream,update_mask";
option (google.longrunning.operation_info) = {
response_type: "Stream"
metadata_type: "OperationMetadata"
};
}
// Deletes a single Stream.
rpc DeleteStream(DeleteStreamRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
delete: "/v1alpha1/{name=projects/*/locations/*/clusters/*/streams/*}"
};
option (google.api.method_signature) = "name";
option (google.longrunning.operation_info) = {
response_type: "google.protobuf.Empty"
metadata_type: "OperationMetadata"
};
}
}
// Cluster resource.
message Cluster {
option (google.api.resource) = {
type: "aistreams.googleapis.com/Cluster"
pattern: "projects/{project}/locations/{location}/clusters/{cluster}"
};
// The name of the cluster. The format of cluster is:
// projects/<projectid>/locations/<locationid>/clusters/<clusterid>.
string name = 1;
// Output only. The time at which this cluster was created.
google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The time at which this cluster was updated.
google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
// Labels with user-defined metadata.
map<string, string> labels = 4;
// Output only. The certificate for creating the secure connection between the client and
// the AI Streams data plane.
string certificate = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The endpoint of the data plane cluster.
string service_endpoint = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Request message for 'ListClusters'.
message ListClustersRequest {
// Required. The parent that owns the collection of Clusters.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];
// Maximum number of Clusters to return.
int32 page_size = 2;
// Page token received from a previous `ListClusters` call. Provide this to
// retrieve the subsequent page. When paginating, all other parameters
// provided to `ListClusters` must match the call that provided the page
// token.
string page_token = 3;
// Filter request.
string filter = 4;
// Order by fields for the result.
string order_by = 5;
}
// Response message from 'ListClusters'.
message ListClustersResponse {
// List of clusters.
repeated Cluster clusters = 1;
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
// Locations that could not be reached.
repeated string unreachable = 3;
}
// Request message for 'GetCluster'.
message GetClusterRequest {
// Required. The name of the Cluster resource to get.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aistreams.googleapis.com/Cluster"
}
];
}
// Request message for 'CreateCluster'.
message CreateClusterRequest {
// Required. The parent that owns the collection of Clusters.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "locations.googleapis.com/Location"
}
];
// Required. The cluster identifier.
string cluster_id = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The cluster resource to create.
Cluster cluster = 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 the
// 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 message for 'UpdateCluster'.
message UpdateClusterRequest {
// Required. Field mask is used to specify the fields to be overwritten in the
// Cluster 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) = REQUIRED];
// Required. The Cluster resource to update.
Cluster cluster = 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 the
// 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];
}
// Request message for 'DeleteCluster'.
message DeleteClusterRequest {
// Required. The name of cluster to delete.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aistreams.googleapis.com/Cluster"
}
];
// 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 the
// 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];
}
// Stream resource.
message Stream {
option (google.api.resource) = {
type: "aistreams.googleapis.com/Stream"
pattern: "projects/{project}/locations/{location}/clusters/{cluster}/streams/{stream}"
};
// The name of the stream. The format for the full name is:
// projects/<projectid>/location/<locationid>/clusters/<clusterid>/streams/<streamid>.
string name = 1;
// Output only. The time at which this Stream was created.
google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The time at which this Stream was updated.
google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
// The labels of the stream.
map<string, string> labels = 4;
}
// Request message for 'ListStreams'.
message ListStreamsRequest {
// Required. The parent that owns the collection of the Streams.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aistreams.googleapis.com/Cluster"
}
];
// Maximum number of Streams to return.
int32 page_size = 2;
// Page token received from a previous `ListStreams` call. Provide this to
// retrieve the subsequent page. When paginating, all other parameters
// provided to `ListClusters` must match the call that provided the page
// token.
string page_token = 3;
// Filter request.
string filter = 4;
// Order by fields for the result.
string order_by = 5;
}
// Response message from 'ListStreams'.
message ListStreamsResponse {
// List of the streams.
repeated Stream streams = 1;
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there are no subsequent pages.
string next_page_token = 2;
// Locations that could not be reached.
repeated string unreachable = 3;
}
// Request message for 'GetStream'.
message GetStreamRequest {
// Required. The name of the stream.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aistreams.googleapis.com/Stream"
}
];
}
// Request message for 'CreateStream'.
message CreateStreamRequest {
// Required. The parent that owns the collection of streams.
string parent = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aistreams.googleapis.com/Cluster"
}
];
// Required. The stream identifier.
string stream_id = 2 [(google.api.field_behavior) = REQUIRED];
// Required. The stream to create.
Stream stream = 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 message for 'UpdateStream'.
message UpdateStreamRequest {
// Required. Field mask is used to specify the fields to be overwritten in the
// Stream 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) = REQUIRED];
// Required. The stream resource to update.
Stream stream = 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];
}
// Request message for 'DeleteStream'.
message DeleteStreamRequest {
// Required. The name of the stream.
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "aistreams.googleapis.com/Stream"
}
];
// 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];
}
// 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];
}

View File

@ -0,0 +1,9 @@
type: com.google.api.codegen.ConfigProto
config_schema_version: 2.0.0
language_settings:
java:
package_name: com.google.partner.aistreams.v1alpha1
python:
package_name: google.partner.aistreams_v1alpha1.gapic
go:
package_name: cloud.google.com/go/aistreams/apiv1alpha1

View File

@ -0,0 +1,38 @@
{
"methodConfig": [{
"name": [{ "service": "google.partner.aistreams.v1alpha1.AIStreams" }],
"timeout": "60s",
"retryPolicy": {
"maxAttempts": 5,
"initialBackoff": "1s",
"maxBackoff": "10s",
"backoffMultiplier": 1.3,
"retryableStatusCodes": ["UNAVAILABLE"]
}
},
{
"name": [
{ "service": "google.partner.aistreams.v1alpha1.AIStreams", "method": "CreateCluster" }
],
"timeout": "600s"
},
{
"name": [
{ "service": "google.partner.aistreams.v1alpha1.AIStreams", "method": "CreateStream" }
],
"timeout": "300s"
},
{
"name": [
{ "service": "google.partner.aistreams.v1alpha1.AIStreams", "method": "GetCluster" },
{ "service": "google.partner.aistreams.v1alpha1.AIStreams", "method": "ListClusters" },
{ "service": "google.partner.aistreams.v1alpha1.AIStreams", "method": "UpdateCluster" },
{ "service": "google.partner.aistreams.v1alpha1.AIStreams", "method": "DeleteCluster" },
{ "service": "google.partner.aistreams.v1alpha1.AIStreams", "method": "ListStreams" },
{ "service": "google.partner.aistreams.v1alpha1.AIStreams", "method": "GetStream" },
{ "service": "google.partner.aistreams.v1alpha1.AIStreams", "method": "UpdateStream" },
{ "service": "google.partner.aistreams.v1alpha1.AIStreams", "method": "DeleteStream" }
],
"timeout": "60s"
}]
}

View File

@ -0,0 +1,87 @@
type: google.api.Service
config_version: 3
name: aistreams.googleapis.com
title: AI Streams API
apis:
- name: google.partner.aistreams.v1alpha1.AIStreams
types:
- name: google.partner.aistreams.v1alpha1.OperationMetadata
documentation:
rules:
- 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.iam.v1.IAMPolicy.*'
deadline: 60.0
- selector: 'google.longrunning.Operations.*'
deadline: 60.0
- selector: 'google.partner.aistreams.v1alpha1.AIStreams.*'
deadline: 60.0
http:
rules:
- selector: google.iam.v1.IAMPolicy.GetIamPolicy
get: '/v1alpha1/{resource=projects/*/locations/*/clusters/*}:getIamPolicy'
additional_bindings:
- get: '/v1alpha1/{resource=projects/*/locations/*/clusters/*/streams/*}:getIamPolicy'
- selector: google.iam.v1.IAMPolicy.SetIamPolicy
post: '/v1alpha1/{resource=projects/*/locations/*/clusters/*}:setIamPolicy'
body: '*'
additional_bindings:
- post: '/v1alpha1/{resource=projects/*/locations/*/clusters/*/streams/*}:setIamPolicy'
body: '*'
- selector: google.iam.v1.IAMPolicy.TestIamPermissions
post: '/v1alpha1/{resource=projects/*/locations/*/clusters/*}:testIamPermissions'
body: '*'
additional_bindings:
- post: '/v1alpha1/{resource=projects/*/locations/*/clusters/*/streams/*}: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.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
- selector: 'google.partner.aistreams.v1alpha1.AIStreams.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform