-
Notifications
You must be signed in to change notification settings - Fork 227
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* changes without context autosynth cannot find the source of changes triggered by earlier changes in this repository, or by version upgrades to tools such as linters. * fix: do not modify options object, use defaultScopes docs: regenerated jsdoc comments with examples build: use gapic-generator-typescript v1.2.1 Note: these change require google-gax "^2.9.2". @alexander-fenster will make sure the google-gax version is bumped across libraries. PiperOrigin-RevId: 341102751 Source-Author: Google APIs <[email protected]> Source-Date: Fri Nov 6 12:56:54 2020 -0800 Source-Repo: googleapis/googleapis Source-Sha: b759c563bacf9cd15749be4d2bdd276d3f48ee29 Source-Link: googleapis/googleapis@b759c56 * fix: better fallback feature detection, jsdoc update Use gapic-generator-typescript v1.2.2. PiperOrigin-RevId: 342778480 Source-Author: Google APIs <[email protected]> Source-Date: Mon Nov 16 20:22:00 2020 -0800 Source-Repo: googleapis/googleapis Source-Sha: c6b1c72942991b1c605fe56a6041e06a86a9443e Source-Link: googleapis/googleapis@c6b1c72 * fix: linting, updated jsdoc blocks Use gapic-generator-typescript v1.2.3. PiperOrigin-RevId: 342976840 Source-Author: Google APIs <[email protected]> Source-Date: Tue Nov 17 17:04:11 2020 -0800 Source-Repo: googleapis/googleapis Source-Sha: c979fbeb80d1b940790a69183629d799e4c05b4c Source-Link: googleapis/googleapis@c979fbe * fix: use optional chaining for window.fetch feature detection Use gapic-generator-typescript v1.2.4. Committer: @alexander-fenster PiperOrigin-RevId: 343136730 Source-Author: Google APIs <[email protected]> Source-Date: Wed Nov 18 12:49:25 2020 -0800 Source-Repo: googleapis/googleapis Source-Sha: 2cda8d285b66c14da57363201b7e4efbca47d034 Source-Link: googleapis/googleapis@2cda8d2 * fix: mark window as global for linter Use gapic-generator-typescript v1.2.5. Committer: @alexander-fenster PiperOrigin-RevId: 343187793 Source-Author: Google APIs <[email protected]> Source-Date: Wed Nov 18 17:10:02 2020 -0800 Source-Repo: googleapis/googleapis Source-Sha: 5587028631d4d743fd906c4eb4e4e4649a7ee5ce Source-Link: googleapis/googleapis@5587028 * feat: add schema service PiperOrigin-RevId: 348038736 Source-Author: Google APIs <[email protected]> Source-Date: Thu Dec 17 09:47:03 2020 -0800 Source-Repo: googleapis/googleapis Source-Sha: 41d8fbfec9d4bc4a8859f78185713950913b4bf3 Source-Link: googleapis/googleapis@41d8fbf Co-authored-by: Megan Potter <[email protected]>
- Loading branch information
1 parent
91d16da
commit ac29561
Showing
17 changed files
with
8,386 additions
and
367 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,289 @@ | ||
// 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.pubsub.v1; | ||
|
||
import "google/api/annotations.proto"; | ||
import "google/api/client.proto"; | ||
import "google/api/field_behavior.proto"; | ||
import "google/api/resource.proto"; | ||
import "google/protobuf/empty.proto"; | ||
|
||
option cc_enable_arenas = true; | ||
option csharp_namespace = "Google.Cloud.PubSub.V1"; | ||
option go_package = "google.golang.org/genproto/googleapis/pubsub/v1;pubsub"; | ||
option java_multiple_files = true; | ||
option java_outer_classname = "SchemaProto"; | ||
option java_package = "com.google.pubsub.v1"; | ||
option php_namespace = "Google\\Cloud\\PubSub\\V1"; | ||
option ruby_package = "Google::Cloud::PubSub::V1"; | ||
|
||
// Service for doing schema-related operations. | ||
// | ||
// EXPERIMENTAL: The Schema service is in development and may not work yet. | ||
|
||
service SchemaService { | ||
option (google.api.default_host) = "pubsub.googleapis.com"; | ||
option (google.api.oauth_scopes) = | ||
"https://www.googleapis.com/auth/cloud-platform," | ||
"https://www.googleapis.com/auth/pubsub"; | ||
|
||
// Creates a schema. | ||
rpc CreateSchema(CreateSchemaRequest) returns (Schema) { | ||
option (google.api.http) = { | ||
post: "/v1/{parent=projects/*}/schemas" | ||
body: "schema" | ||
}; | ||
option (google.api.method_signature) = "parent,schema,schema_id"; | ||
} | ||
|
||
// Gets a schema. | ||
rpc GetSchema(GetSchemaRequest) returns (Schema) { | ||
option (google.api.http) = { | ||
get: "/v1/{name=projects/*/schemas/*}" | ||
}; | ||
option (google.api.method_signature) = "name"; | ||
} | ||
|
||
// Lists schemas in a project. | ||
rpc ListSchemas(ListSchemasRequest) returns (ListSchemasResponse) { | ||
option (google.api.http) = { | ||
get: "/v1/{parent=projects/*}/schemas" | ||
}; | ||
option (google.api.method_signature) = "parent"; | ||
} | ||
|
||
// Deletes a schema. | ||
rpc DeleteSchema(DeleteSchemaRequest) returns (google.protobuf.Empty) { | ||
option (google.api.http) = { | ||
delete: "/v1/{name=projects/*/schemas/*}" | ||
}; | ||
option (google.api.method_signature) = "name"; | ||
} | ||
|
||
// Validates a schema. | ||
rpc ValidateSchema(ValidateSchemaRequest) returns (ValidateSchemaResponse) { | ||
option (google.api.http) = { | ||
post: "/v1/{parent=projects/*}/schemas:validate" | ||
body: "*" | ||
}; | ||
option (google.api.method_signature) = "parent,schema"; | ||
} | ||
|
||
// Validates a message against a schema. | ||
rpc ValidateMessage(ValidateMessageRequest) | ||
returns (ValidateMessageResponse) { | ||
option (google.api.http) = { | ||
post: "/v1/{parent=projects/*}/schemas:validateMessage" | ||
body: "*" | ||
}; | ||
} | ||
} | ||
|
||
// A schema resource. | ||
message Schema { | ||
option (google.api.resource) = { | ||
type: "pubsub.googleapis.com/Schema" | ||
pattern: "projects/{project}/schemas/{schema}" | ||
}; | ||
|
||
// Possible schema definition types. | ||
enum Type { | ||
// Default value. This value is unused. | ||
TYPE_UNSPECIFIED = 0; | ||
|
||
// A Protocol Buffer schema definition. | ||
PROTOCOL_BUFFER = 1; | ||
|
||
// An Avro schema definition. | ||
AVRO = 2; | ||
} | ||
|
||
// Required. Name of the schema. | ||
// Format is `projects/{project}/schemas/{schema}`. | ||
string name = 1 [(google.api.field_behavior) = REQUIRED]; | ||
|
||
// The type of the schema definition. | ||
Type type = 2; | ||
|
||
// The definition of the schema. This should contain a string representing | ||
// the full definition of the schema that is a valid schema definition of | ||
// the type specified in `type`. | ||
string definition = 3; | ||
} | ||
|
||
// Request for the CreateSchema method. | ||
message CreateSchemaRequest { | ||
// Required. The name of the project in which to create the schema. | ||
// Format is `projects/{project-id}`. | ||
string parent = 1 [ | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.resource_reference) = { | ||
child_type: "pubsub.googleapis.com/Schema" | ||
} | ||
]; | ||
|
||
// Required. The schema object to create. | ||
// | ||
// This schema's `name` parameter is ignored. The schema object returned | ||
// by CreateSchema will have a `name` made using the given `parent` and | ||
// `schema_id`. | ||
Schema schema = 2 [(google.api.field_behavior) = REQUIRED]; | ||
|
||
// The ID to use for the schema, which will become the final component of | ||
// the schema's resource name. | ||
// | ||
// See https://cloud.google.com/pubsub/docs/admin#resource_names for resource | ||
// name constraints. | ||
string schema_id = 3; | ||
} | ||
|
||
// View of Schema object fields to be returned by GetSchema and ListSchemas. | ||
enum SchemaView { | ||
// The default / unset value. | ||
// The API will default to the BASIC view. | ||
SCHEMA_VIEW_UNSPECIFIED = 0; | ||
|
||
// Include the name and type of the schema, but not the definition. | ||
BASIC = 1; | ||
|
||
// Include all Schema object fields. | ||
FULL = 2; | ||
} | ||
|
||
// Request for the GetSchema method. | ||
message GetSchemaRequest { | ||
// Required. The name of the schema to get. | ||
// Format is `projects/{project}/schemas/{schema}`. | ||
string name = 1 [ | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" } | ||
]; | ||
|
||
// The set of fields to return in the response. If not set, returns a Schema | ||
// with `name` and `type`, but not `definition`. Set to `FULL` to retrieve all | ||
// fields. | ||
SchemaView view = 2; | ||
} | ||
|
||
// Request for the `ListSchemas` method. | ||
message ListSchemasRequest { | ||
// Required. The name of the project in which to list schemas. | ||
// Format is `projects/{project-id}`. | ||
string parent = 1 [ | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.resource_reference) = { | ||
type: "cloudresourcemanager.googleapis.com/Project" | ||
} | ||
]; | ||
|
||
// The set of Schema fields to return in the response. If not set, returns | ||
// Schemas with `name` and `type`, but not `definition`. Set to `FULL` to | ||
// retrieve all fields. | ||
SchemaView view = 2; | ||
|
||
// Maximum number of schemas to return. | ||
int32 page_size = 3; | ||
|
||
// The value returned by the last `ListSchemasResponse`; indicates that | ||
// this is a continuation of a prior `ListSchemas` call, and that the | ||
// system should return the next page of data. | ||
string page_token = 4; | ||
} | ||
|
||
// Response for the `ListSchemas` method. | ||
message ListSchemasResponse { | ||
// The resulting schemas. | ||
repeated Schema schemas = 1; | ||
|
||
// If not empty, indicates that there may be more schemas that match the | ||
// request; this value should be passed in a new `ListSchemasRequest`. | ||
string next_page_token = 2; | ||
} | ||
|
||
// Request for the `DeleteSchema` method. | ||
message DeleteSchemaRequest { | ||
// Required. Name of the schema to delete. | ||
// Format is `projects/{project}/schemas/{schema}`. | ||
string name = 1 [ | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" } | ||
]; | ||
} | ||
|
||
// Request for the `ValidateSchema` method. | ||
message ValidateSchemaRequest { | ||
// Required. The name of the project in which to validate schemas. | ||
// Format is `projects/{project-id}`. | ||
string parent = 1 [ | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.resource_reference) = { | ||
type: "cloudresourcemanager.googleapis.com/Project" | ||
} | ||
]; | ||
|
||
// Required. The schema object to validate. | ||
Schema schema = 2 [(google.api.field_behavior) = REQUIRED]; | ||
} | ||
|
||
// Response for the `ValidateSchema` method. | ||
message ValidateSchemaResponse {} | ||
|
||
// Request for the `ValidateMessage` method. | ||
message ValidateMessageRequest { | ||
// Required. The name of the project in which to validate schemas. | ||
// Format is `projects/{project-id}`. | ||
string parent = 1 [ | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.resource_reference) = { | ||
type: "cloudresourcemanager.googleapis.com/Project" | ||
} | ||
]; | ||
|
||
oneof schema_spec { | ||
// Name of the schema against which to validate. | ||
// | ||
// Format is `projects/{project}/schemas/{schema}`. | ||
string name = 2 [ | ||
(google.api.resource_reference) = { type: "pubsub.googleapis.com/Schema" } | ||
]; | ||
|
||
// Ad-hoc schema against which to validate | ||
Schema schema = 3; | ||
} | ||
|
||
// Message to validate against the provided `schema_spec`. | ||
bytes message = 4; | ||
|
||
// The encoding expected for messages | ||
Encoding encoding = 5; | ||
} | ||
|
||
// Response for the `ValidateMessage` method. | ||
message ValidateMessageResponse {} | ||
|
||
// Possible encoding types for messages. | ||
enum Encoding { | ||
// Unspecified | ||
ENCODING_UNSPECIFIED = 0; | ||
|
||
// JSON encoding | ||
JSON = 1; | ||
|
||
// Binary encoding, as defined by the schema type. For some schema types, | ||
// binary encoding may not be available. | ||
BINARY = 2; | ||
} |
Oops, something went wrong.