249 lines
8.3 KiB
Protocol Buffer
249 lines
8.3 KiB
Protocol Buffer
// 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.video.transcoder.v1beta1;
|
|
|
|
import "google/api/annotations.proto";
|
|
import "google/api/client.proto";
|
|
import "google/api/field_behavior.proto";
|
|
import "google/api/resource.proto";
|
|
import "google/cloud/video/transcoder/v1beta1/resources.proto";
|
|
import "google/protobuf/empty.proto";
|
|
|
|
option go_package = "google.golang.org/genproto/googleapis/cloud/video/transcoder/v1beta1;transcoder";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "ServicesProto";
|
|
option java_package = "com.google.cloud.video.transcoder.v1beta1";
|
|
|
|
// Using the Transcoder API, you can queue asynchronous jobs for transcoding
|
|
// media into various output formats. Output formats may include different
|
|
// streaming standards such as HTTP Live Streaming (HLS) and Dynamic Adaptive
|
|
// Streaming over HTTP (DASH). You can also customize jobs using advanced
|
|
// features such as Digital Rights Management (DRM), audio equalization, content
|
|
// concatenation, and digital ad-stitch ready content generation.
|
|
service TranscoderService {
|
|
option (google.api.default_host) = "transcoder.googleapis.com";
|
|
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
|
|
|
|
// Creates a job in the specified region.
|
|
rpc CreateJob(CreateJobRequest) returns (Job) {
|
|
option (google.api.http) = {
|
|
post: "/v1beta1/{parent=projects/*/locations/*}/jobs"
|
|
body: "job"
|
|
};
|
|
option (google.api.method_signature) = "parent,job";
|
|
}
|
|
|
|
// Lists jobs in the specified region.
|
|
rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1beta1/{parent=projects/*/locations/*}/jobs"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Returns the job data.
|
|
rpc GetJob(GetJobRequest) returns (Job) {
|
|
option (google.api.http) = {
|
|
get: "/v1beta1/{name=projects/*/locations/*/jobs/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Deletes a job.
|
|
rpc DeleteJob(DeleteJobRequest) returns (google.protobuf.Empty) {
|
|
option (google.api.http) = {
|
|
delete: "/v1beta1/{name=projects/*/locations/*/jobs/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Creates a job template in the specified region.
|
|
rpc CreateJobTemplate(CreateJobTemplateRequest) returns (JobTemplate) {
|
|
option (google.api.http) = {
|
|
post: "/v1beta1/{parent=projects/*/locations/*}/jobTemplates"
|
|
body: "job_template"
|
|
};
|
|
option (google.api.method_signature) = "parent,job_template,job_template_id";
|
|
}
|
|
|
|
// Lists job templates in the specified region.
|
|
rpc ListJobTemplates(ListJobTemplatesRequest) returns (ListJobTemplatesResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1beta1/{parent=projects/*/locations/*}/jobTemplates"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Returns the job template data.
|
|
rpc GetJobTemplate(GetJobTemplateRequest) returns (JobTemplate) {
|
|
option (google.api.http) = {
|
|
get: "/v1beta1/{name=projects/*/locations/*/jobTemplates/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Deletes a job template.
|
|
rpc DeleteJobTemplate(DeleteJobTemplateRequest) returns (google.protobuf.Empty) {
|
|
option (google.api.http) = {
|
|
delete: "/v1beta1/{name=projects/*/locations/*/jobTemplates/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
}
|
|
|
|
// Request message for `TranscoderService.CreateJob`.
|
|
message CreateJobRequest {
|
|
// Required. The parent location to create and process this job.
|
|
// Format: `projects/{project}/locations/{location}`
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// Required. Parameters for creating transcoding job.
|
|
Job job = 2 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// Request message for `TranscoderService.ListJobs`.
|
|
// The parent location from which to retrieve the collection of jobs.
|
|
message ListJobsRequest {
|
|
// Required. Format: `projects/{project}/locations/{location}`
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// The maximum number of items to return.
|
|
int32 page_size = 2;
|
|
|
|
// The `next_page_token` value returned from a previous List request, if
|
|
// any.
|
|
string page_token = 3;
|
|
}
|
|
|
|
// Request message for `TranscoderService.GetJob`.
|
|
message GetJobRequest {
|
|
// Required. The name of the job to retrieve.
|
|
// Format: `projects/{project}/locations/{location}/jobs/{job}`
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "transcoder.googleapis.com/Job"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Request message for `TranscoderService.DeleteJob`.
|
|
message DeleteJobRequest {
|
|
// Required. The name of the job to delete.
|
|
// Format: `projects/{project}/locations/{location}/jobs/{job}`
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "transcoder.googleapis.com/Job"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Response message for `TranscoderService.ListJobs`.
|
|
message ListJobsResponse {
|
|
// List of jobs in the specified region.
|
|
repeated Job jobs = 1;
|
|
|
|
// The pagination token.
|
|
string next_page_token = 2;
|
|
}
|
|
|
|
// Request message for `TranscoderService.CreateJobTemplate`.
|
|
message CreateJobTemplateRequest {
|
|
// Required. The parent location to create this job template.
|
|
// Format: `projects/{project}/locations/{location}`
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// Required. Parameters for creating job template.
|
|
JobTemplate job_template = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The ID to use for the job template, which will become the final component
|
|
// of the job template's resource name.
|
|
//
|
|
// This value should be 4-63 characters, and valid characters must match the
|
|
// regular expression `[a-zA-Z][a-zA-Z0-9_-]*`.
|
|
string job_template_id = 3 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// Request message for `TranscoderService.ListJobTemplates`.
|
|
message ListJobTemplatesRequest {
|
|
// Required. The parent location from which to retrieve the collection of job templates.
|
|
// Format: `projects/{project}/locations/{location}`
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "locations.googleapis.com/Location"
|
|
}
|
|
];
|
|
|
|
// The maximum number of items to return.
|
|
int32 page_size = 2;
|
|
|
|
// The `next_page_token` value returned from a previous List request, if
|
|
// any.
|
|
string page_token = 3;
|
|
}
|
|
|
|
// Request message for `TranscoderService.GetJobTemplate`.
|
|
message GetJobTemplateRequest {
|
|
// Required. The name of the job template to retrieve.
|
|
// Format:
|
|
// `projects/{project}/locations/{location}/jobTemplates/{job_template}`
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "transcoder.googleapis.com/JobTemplate"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Request message for `TranscoderService.DeleteJobTemplate`.
|
|
message DeleteJobTemplateRequest {
|
|
// Required. The name of the job template to delete.
|
|
// `projects/{project}/locations/{location}/jobTemplates/{job_template}`
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "transcoder.googleapis.com/JobTemplate"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Response message for `TranscoderService.ListJobTemplates`.
|
|
message ListJobTemplatesResponse {
|
|
// List of job templates in the specified region.
|
|
repeated JobTemplate job_templates = 1;
|
|
|
|
// The pagination token.
|
|
string next_page_token = 2;
|
|
}
|