blob: 4a3034c2f1694999c1d66682213a967370e042d7 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
/*
* Protocol Buffers describing the Expansion API, an api for expanding
* transforms in a remote SDK.
*/
syntax = "proto3";
package org.apache.beam.model.expansion.v1;
option go_package = "jobmanagement_v1";
option java_package = "org.apache.beam.model.expansion.v1";
option java_outer_classname = "ExpansionApi";
import "beam_runner_api.proto";
message ExpansionRequest {
// Set of components needed to interpret the transform, or which
// may be useful for its expansion. This includes the input
// PCollections (if any) to the to-be-expanded transform, along
// with their coders and windowing strategies.
org.apache.beam.model.pipeline.v1.Components components = 1;
// The actual PTransform to be expaneded according to its spec.
// Its input should be set, but its subtransforms and outputs
// should not be.
org.apache.beam.model.pipeline.v1.PTransform transform = 2;
// A namespace (prefix) to use for the id of any newly created
// components.
string namespace = 3;
}
message ExpansionResponse {
// Set of components needed to execute the expanded transform,
// including the (original) inputs, outputs, and subtransforms.
org.apache.beam.model.pipeline.v1.Components components = 1;
// The expanded transform itself, with references to its outputs
// and subtransforms.
org.apache.beam.model.pipeline.v1.PTransform transform = 2;
// (Optional) An string representation of any error encountered while
// attempting to expand this transform.
string error = 10;
}
// Job Service for constructing pipelines
service ExpansionService {
rpc Expand (ExpansionRequest) returns (ExpansionResponse);
}