GetTemplateResponse

The response to a templates.get request.

JSON representation
{
  "status": {
    object (Status)
  },
  "metadata": {
    object (TemplateMetadata)
  },
  "templateType": enum (TemplateType),
  "runtimeMetadata": {
    object (RuntimeMetadata)
  }
}
Fields
status

object (Status)

The status of the get template request. Any problems with the request will be indicated in the error_details.

metadata

object (TemplateMetadata)

The template metadata describing the template name, available parameters, etc.

templateType

enum (TemplateType)

Template Type.

runtimeMetadata

object (RuntimeMetadata)

Describes the runtime metadata with SDKInfo and available parameters.

Status

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details.

You can find out more about this error model and how to work with it in the API Design Guide.

JSON representation
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Fields
code

integer

The status code, which should be an enum value of google.rpc.Code.

message

string

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.

details[]

object

A list of messages that carry the error details. There is a common set of message types for APIs to use.

An object containing fields of an arbitrary type. An additional field "@type" contains a URI identifying the type. Example: { "id": 1234, "@type": "types.example.com/standard/id" }.

TemplateMetadata

Metadata describing a template.

JSON representation
{
  "name": string,
  "description": string,
  "parameters": [
    {
      object (ParameterMetadata)
    }
  ],
  "streaming": boolean,
  "supportsAtLeastOnce": boolean,
  "supportsExactlyOnce": boolean
}
Fields
name

string

Required. The name of the template.

description

string

Optional. A description of the template.

parameters[]

object (ParameterMetadata)

The parameters for the template.

streaming

boolean

Optional. Indicates if the template is streaming or not.

supportsAtLeastOnce

boolean

Optional. Indicates if the streaming template supports at least once mode.

supportsExactlyOnce

boolean

Optional. Indicates if the streaming template supports exactly once mode.

ParameterMetadata

Metadata for a specific parameter.

JSON representation
{
  "name": string,
  "label": string,
  "helpText": string,
  "isOptional": boolean,
  "regexes": [
    string
  ],
  "paramType": enum (ParameterType),
  "customMetadata": {
    string: string,
    ...
  },
  "groupName": string,
  "parentName": string,
  "parentTriggerValues": [
    string
  ],
  "enumOptions": [
    {
      object (ParameterMetadataEnumOption)
    }
  ],
  "defaultValue": string,
  "hiddenUi": boolean
}
Fields
name

string

Required. The name of the parameter.

label

string

Required. The label to display for the parameter.

helpText

string

Required. The help text to display for the parameter.

isOptional

boolean

Optional. Whether the parameter is optional. Defaults to false.

regexes[]

string

Optional. Regexes that the parameter must match.

paramType

enum (ParameterType)

Optional. The type of the parameter. Used for selecting input picker.

customMetadata

map (key: string, value: string)

Optional. Additional metadata for describing this parameter.

groupName

string

Optional. Specifies a group name for this parameter to be rendered under. Group header text will be rendered exactly as specified in this field. Only considered when parentName is NOT provided.

parentName

string

Optional. Specifies the name of the parent parameter. Used in conjunction with 'parentTriggerValues' to make this parameter conditional (will only be rendered conditionally). Should be mappable to a ParameterMetadata.name field.

parentTriggerValues[]

string

Optional. The value(s) of the 'parentName' parameter which will trigger this parameter to be shown. If left empty, ANY non-empty value in parentName will trigger this parameter to be shown. Only considered when this parameter is conditional (when 'parentName' has been provided).

enumOptions[]

object (ParameterMetadataEnumOption)

Optional. The options shown when ENUM ParameterType is specified.

defaultValue

string

Optional. The default values will pre-populate the parameter with the given value from the proto. If defaultValue is left empty, the parameter will be populated with a default of the relevant type, e.g. false for a boolean.

hiddenUi

boolean

Optional. Whether the parameter should be hidden in the UI.

ParameterType

ParameterType specifies what kind of input we need for this parameter.

Enums
DEFAULT Default input type.
TEXT The parameter specifies generic text input.
GCS_READ_BUCKET The parameter specifies a Cloud Storage Bucket to read from.
GCS_WRITE_BUCKET The parameter specifies a Cloud Storage Bucket to write to.
GCS_READ_FILE The parameter specifies a Cloud Storage file path to read from.
GCS_WRITE_FILE The parameter specifies a Cloud Storage file path to write to.
GCS_READ_FOLDER The parameter specifies a Cloud Storage folder path to read from.
GCS_WRITE_FOLDER The parameter specifies a Cloud Storage folder to write to.
PUBSUB_TOPIC The parameter specifies a Pub/Sub Topic.
PUBSUB_SUBSCRIPTION The parameter specifies a Pub/Sub Subscription.
BIGQUERY_TABLE The parameter specifies a BigQuery table.
JAVASCRIPT_UDF_FILE The parameter specifies a JavaScript UDF in Cloud Storage.
SERVICE_ACCOUNT The parameter specifies a Service Account email.
MACHINE_TYPE The parameter specifies a Machine Type.
KMS_KEY_NAME The parameter specifies a KMS Key name.
WORKER_REGION The parameter specifies a Worker Region.
WORKER_ZONE The parameter specifies a Worker Zone.
BOOLEAN The parameter specifies a boolean input.
ENUM The parameter specifies an enum input.
NUMBER The parameter specifies a number input.

ParameterMetadataEnumOption

ParameterMetadataEnumOption specifies the option shown in the enum form.

JSON representation
{
  "value": string,
  "label": string,
  "description": string
}
Fields
value

string

Required. The value of the enum option.

label

string

Optional. The label to display for the enum option.

description

string

Optional. The description to display for the enum option.

TemplateType

Template Type.

Enums
UNKNOWN Unknown Template Type.
LEGACY Legacy Template.
FLEX Flex Template.

RuntimeMetadata

RuntimeMetadata describing a runtime environment.

JSON representation
{
  "sdkInfo": {
    object (SDKInfo)
  },
  "parameters": [
    {
      object (ParameterMetadata)
    }
  ]
}
Fields
sdkInfo

object (SDKInfo)

SDK Info for the template.

parameters[]

object (ParameterMetadata)

The parameters for the template.

SDKInfo

SDK Information.

JSON representation
{
  "language": enum (Language),
  "version": string
}
Fields
language

enum (Language)

Required. The SDK Language.

version

string

Optional. The SDK version.

Language

SDK Language.

Enums
UNKNOWN UNKNOWN Language.
JAVA Java.
PYTHON Python.
GO Go.