CatalogTemplateRevision

Template revisions inside a catalog.

JSON representation
{
  "name": string,
  "description": string,
  "type": enum (TemplateType),
  "createTime": string,
  "updateTime": string,
  "templateMetadata": {
    object (TFBlueprintMetadata)
  },
  "state": enum (State),
  "applicationTemplateRevision": {
    object (SerializedApplicationTemplate)
  },
  "helmChartMetadata": {
    object (HelmChartMetadata)
  },
  "uuid": string,
  "metadataInput": {
    object (MetadataInput)
  },
  "templateCategory": enum (TemplateCategory),
  "logicalProducts": [
    {
      object (LogicalProduct)
    }
  ],
  "annotations": {
    string: string,
    ...
  },
  "inferredMetadata": {
    object (InferredMetadata)
  },
  "resourceTypes": [
    {
      object (ResourceType)
    }
  ],

  // Union field artifact_location can be only one of the following:
  "gitSource": {
    object (GitSource)
  },
  "gcsSourceUri": string,
  "applicationTemplateRevisionSource": string,
  "developerConnectSourceConfig": {
    object (DeveloperConnectSourceConfig)
  },
  "ociRepo": {
    object (OciRepo)
  }
  // End of list of possible types for union field artifact_location.
}
Fields
name

string

Identifier. The catalog template revision name. projects/$project/locations/$location/spaces/$space/catalogs/$catalog/templates/$template/revisions/$revision

description

string

Optional. The catalog template revision description.

type

enum (TemplateType)

Optional. The Application Design Center assembly template type.

createTime

string (Timestamp format)

Output only. The catalog template creation timestamp.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Output only. The catalog template update timestamp.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

templateMetadata

object (TFBlueprintMetadata)

Output only. Template metadata related to Terraform input and output.

state

enum (State)

Output only. The template state (validating/ready/invalid).

applicationTemplateRevision

object (SerializedApplicationTemplate)

Output only. The application template revision.

helmChartMetadata

object (HelmChartMetadata)

Output only. The helm chart metadata.

uuid

string

Output only. UUID of the template revision.

metadataInput

object (MetadataInput)

Optional. Metadata input.

templateCategory

enum (TemplateCategory)

Output only. The category of the template.

logicalProducts[]

object (LogicalProduct)

Output only. The Product Main logical product type information.

annotations

map (key: string, value: string)

Optional. The annotations of the template revision. Key is the annotation name. Value is the annotation value.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

inferredMetadata

object (InferredMetadata)

Output only. Metadata that was automatically inferred from the template content. This field can be updated by the system as it gets new information.

resourceTypes[]

object (ResourceType)

Output only. The resource types present in the template revision.

Union field artifact_location. The artifact location of the Terraform in the template. artifact_location can be only one of the following:
gitSource

object (GitSource)

Optional. The git source.

gcsSourceUri

string

Optional. The Cloud Storage URI, which must be in the format gs://[bucket] or gs://[bucket]/[object].

applicationTemplateRevisionSource

string

Optional. The application template revision source.

developerConnectSourceConfig

object (DeveloperConnectSourceConfig)

Optional. Configuration for fetching content from source code repository such as GitHub or Bitbucket through Developer Connect.

ociRepo

object (OciRepo)

Optional. The Open Container Initiative (OCI) repo source that contains helm charts.

GitSource

Defines how to access a Git source.

JSON representation
{
  "repo": string,
  "dir": string,
  "commitSha": string,
  "developerConnectConfig": {
    object (DeveloperConnectConfig)
  },
  "refTag": string
}
Fields
repo

string

Required. Location of the git repo to build.

dir

string

Optional. Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's dir is specified and is an absolute path, this value is ignored for that step's execution.

commitSha

string

Output only. The commit SHA of the git repo deduced from given refTag.

developerConnectConfig
(deprecated)

object (DeveloperConnectConfig)

Optional. This config defines the location of a source through Developer Connect. Used to access private git repos.

refTag

string

Required. The reference tag of the git repo.

DeveloperConnectConfig

This config defines the location of a source through Developer Connect.

JSON representation
{
  "gitRepositoryLink": string
}
Fields

DeveloperConnectSourceConfig

This config specifies the location of a source (such as GitHub or Bitbucket) through Developer Connect.

JSON representation
{
  "developerConnectRepoUri": string,
  "reference": {
    object (GitReference)
  },
  "dir": string,
  "fetchedCommitSha": string
}
Fields
developerConnectRepoUri

string

Required. The Developer Connect Git repository link, formatted as projects/*/locations/*/connections/*/gitRepositoryLinks/*.

reference

object (GitReference)

Required. The reference (for example, a branch, tag, or commit SHA) from which the content should be read.

dir

string

Required. The sub-directory within the repository from which to read content. The path must be relative to the repository's root such as dir1/dir2. To read content from the root dir, provide "/" as the value of the field.

fetchedCommitSha

string

Output only. The SHA of the commit deduced from GitReference.

GitReference

The Git reference. Can be a commit SHA, branch name, or tag name.

JSON representation
{

  // Union field reference can be only one of the following:
  "branch": string,
  "refTag": string,
  "commitSha": string
  // End of list of possible types for union field reference.
}
Fields
Union field reference. The reference from which the content such as Infrastructure as Code (IaC) should be read. reference can be only one of the following:
branch

string

Optional. The name of the branch from which content should be read. For example: "main"

refTag

string

Optional. The reference tag from which content should be read. For example: "v1.2.3"

commitSha

string

Optional. The full SHA hash of a specific commit from which content should be read.

OciRepo

Open Container Initiative (OCI) repo.

JSON representation
{
  "uri": string,
  "version": string
}
Fields
uri

string

Required. Path to Open Container Initiative (OCI) repo. Example: oci://us-west1-docker.pkg.dev/nyap-test/helm-repo/my-chart

version

string

Optional. The version of the helm chart.

TFBlueprintMetadata

Terraform input and output metadata.

JSON representation
{
  "terraformInput": [
    {
      object (TerraformInput)
    }
  ],
  "terraformOutput": [
    {
      object (TerraformOutput)
    }
  ],
  "apis": [
    string
  ],
  "roles": [
    string
  ],
  "deploymentDuration": string,
  "iconUri": string,
  "connections": [
    {
      object (TerraformInputConnections)
    }
  ],
  "uiMetadata": {
    object (TerraformBlueprintUiMetadata)
  },
  "providerVersions": [
    {
      object (ProviderVersion)
    }
  ]
}
Fields
terraformInput[]

object (TerraformInput)

Output only. Terraform inputs.

terraformOutput[]

object (TerraformOutput)

Output only. Terraform outputs.

apis[]

string

Output only. APIs that must be enabled to deploy the template, in the form of "compute.googleapis.com".

roles[]

string

Output only. IAM roles required by the service account deploying the template, in the form of "roles/compute.admin".

deploymentDuration

string (Duration format)

Optional. The time estimate for deploying the blueprint.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

iconUri

string

Output only. The icon URI for the blueprint.

connections[]

object (TerraformInputConnections)

Output only. Union of all the Terraform input connections.

uiMetadata

object (TerraformBlueprintUiMetadata)

Output only. UI metadata for the blueprint.

providerVersions[]

object (ProviderVersion)

Output only. Provider versions required to deploy the blueprint.

TerraformInput

Terraform inputs.

JSON representation
{
  "terraformInputVariable": string,
  "description": string,
  "type": string,
  "defaultValue": value,
  "connections": [
    {
      object (TerraformInputConnections)
    }
  ],
  "isRequired": boolean
}
Fields
terraformInputVariable

string

Output only. Input variable name present in Terraform.

description

string

Output only. Terraform variable description.

type

string

Output only. The Terraform input data type.

defaultValue

value (Value format)

Output only. The default value of the Terraform input variable.

connections[]

object (TerraformInputConnections)

Output only. Terraform input connections.

isRequired

boolean

Output only. Indicates if input is required.

TerraformInputConnections

TerraformInputConnections

JSON representation
{
  "cftTemplateUri": string,
  "cftTemplateVersion": string,
  "outputVar": string,
  "inputPath": string
}
Fields
cftTemplateUri

string

Output only. List of other templates that can be connected to.

cftTemplateVersion

string

Output only. Version of the other template that can be connected to.

outputVar

string

Output only. Output variable name present in Terraform.

inputPath

string

Output only. Input path of the other template that can be connected to.

TerraformOutput

Terraform outputs.

JSON representation
{
  "type": value,
  "terraformOutputVariable": string,
  "description": string
}
Fields
type

value (Value format)

Output only. Type of Terraform output.

terraformOutputVariable

string

Output only. Output variable name present in Terraform.

description

string

Output only. Description of the Terraform varaiable.

TerraformBlueprintUiMetadata

Terraform blueprint UI metadata.

JSON representation
{
  "terraformUiInput": {
    object (TerraformUiInput)
  },
  "terraformUiOutput": {
    object (TerraformUiOutput)
  }
}
Fields
terraformUiInput

object (TerraformUiInput)

Output only. Terraform UI inputs.

terraformUiOutput

object (TerraformUiOutput)

Output only. Terraform UI outputs.

TerraformUiInput

Terraform blueprint UI input.

JSON representation
{
  "terraformUiInputs": {
    string: {
      object (TerraformUiInputDisplayVariable)
    },
    ...
  }
}
Fields
terraformUiInputs

map (key: string, value: object (TerraformUiInputDisplayVariable))

Output only. Terraform UI inputs.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

TerraformUiInputDisplayVariable

Terraform blueprint UI input display variable.

JSON representation
{
  "displayName": string,
  "title": string,
  "alternateDefaults": [
    {
      object (AlternateDefault)
    }
  ],
  "regexValidation": string,
  "min": number,
  "max": number,
  "validation": string,
  "enumValueLabels": [
    {
      object (ValueLabel)
    }
  ],
  "level": integer,
  "subtext": string,
  "toggleUsingVariables": [
    {
      object (DisplayVariableToggle)
    }
  ],
  "properties": {
    string: {
      object (TerraformUiInputDisplayVariable)
    },
    ...
  }
}
Fields
displayName

string

Output only. Display name of the input.

title

string

Output only. Title of the input.

alternateDefaults[]

object (AlternateDefault)

Output only. Alternate defaults for the input.

regexValidation

string

Output only. Regex based validation rules for the variable.

min

number

Output only. Minimum value for numeric types.

max

number

Output only. Maximum value for numeric types.

validation

string

Output only. Text describing the validation rules for the property. Typically shown after an invalid input. Optional. UTF-8 text. No markup. At most 128 characters.

enumValueLabels[]

object (ValueLabel)

Output only. Labels for enum values. Values must be UTF-8 text with no markup, and at most 64 characters.

level

integer

Output only. Indicates the "advanced" level of the input property. Level 0 (default) will always be shown. Level 1 corresponds to one expansion (user clicks "show advanced options" or "more options"). Higher levels correspond to further expansions, or they may be collapsed to level 1 by the UI implementation. Optional.

subtext

string

Output only. Property subtext, displayed below the title.

toggleUsingVariables[]

object (DisplayVariableToggle)

Output only. Variables used to toggle the display of another variable.

properties

map (key: string, value: object (TerraformUiInputDisplayVariable))

Output only. A map that defines all fields of the input variable.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ValueLabel

Value label for a UI input.

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

string

Output only. Value of the enum.

label

string

Output only. Label of the enum.

DisplayVariableToggle

Display variable toggle.

JSON representation
{
  "variable": string,
  "variableValues": [
    string
  ],
  "variableType": enum (ToggleVariableType)
}
Fields
variable

string

Output only. The name of the variable used to toggle the display of another variable.

variableValues[]

string

Output only. The value of the variable used to toggle the display of another variable.

variableType

enum (ToggleVariableType)

Output only. The type of the variable used to toggle the display of another variable.

TerraformUiOutput

Terraform blueprint UI output.

JSON representation
{
  "outputMessage": string,
  "terraformUiOutputs": {
    string: {
      object (TerraformUiOutputDisplay)
    },
    ...
  }
}
Fields
outputMessage

string

Output only. Message to be displayed in the UI.

terraformUiOutputs

map (key: string, value: object (TerraformUiOutputDisplay))

Output only. Visibility of the output.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

TerraformUiOutputDisplay

Terraform blueprint UI output display.

JSON representation
{
  "visibility": enum (DisplayVariableVisibility)
}
Fields
visibility

enum (DisplayVariableVisibility)

Output only. Visibility of the output.

ProviderVersion

ProviderVersion defines the required version for a provider.

JSON representation
{
  "source": string,
  "version": string
}
Fields
source

string

Output only. The provider source in the format: [hostname]/[namespace]/[name]. Hostname is optional, and defaults to the Terraform registry.

version

string

Output only. Version constraint string.

HelmChartMetadata

Helm Chart metadata.

JSON representation
{
  "helmInput": [
    {
      object (HelmChartInput)
    }
  ],
  "helmOutput": [
    {
      object (HelmChartOutput)
    }
  ]
}
Fields
helmInput[]

object (HelmChartInput)

Output only. Helm Chart inputs.

helmOutput[]

object (HelmChartOutput)

Output only. Helm Chart outputs.

HelmChartInput

Helm Chart inputs. Documentation: https://helm.sh/docs/

JSON representation
{
  "helmInputVariable": string,
  "description": string,
  "type": string,
  "defaultValue": value,
  "isRequired": boolean,
  "nestedInputs": {
    string: {
      object (HelmChartInput)
    },
    ...
  }
}
Fields
helmInputVariable

string

Output only. Input variable name present in Helm Chart values.yaml

description

string

Output only. Input variable description.

type

string

Output only. Input data type.

defaultValue

value (Value format)

Output only. The default value of the input variable.

isRequired

boolean

Output only. Indicates if input is required.

nestedInputs

map (key: string, value: object (HelmChartInput))

Output only. Contains details of nested inputs.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

HelmChartOutput

Helm Chart outputs.

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

value (Value format)

Output only. Type of output.

helmOutputVariable

string

Output only. Output variable name present.

description

string

Output only. Description of the variable.

MetadataInput

Metadata for the input

JSON representation
{
  "spec": {
    object (MetadataInputSpec)
  }
}
Fields
spec

object (MetadataInputSpec)

Required. spec containing the metadata

MetadataInputSpec

Specifications for the input

JSON representation
{
  "info": {
    object (TemplateInfo)
  },
  "interfaces": {
    object (TemplateSchema)
  },
  "requirements": {
    object (TemplateRequirements)
  },
  "ui": {
    object (TemplateUi)
  }
}
Fields
info

object (TemplateInfo)

Optional. TemplateInfo provides the actuation tool information.

interfaces

object (TemplateSchema)

Optional. TemplateSchemas provides the input variables lists and connection information.

requirements

object (TemplateRequirements)

Required. TemplateRequirements defines the roles required and the provider versions.

ui

object (TemplateUi)

Optional. TemplateUi defines the UI related information for the Template.

TemplateInfo

TemplateInfo provides the actuation tool information.

JSON representation
{
  "actuationTool": {
    object (IacFormatInfo)
  }
}
Fields
actuationTool

object (IacFormatInfo)

Required. IaCFormatInfo defines the actuation tool used to provision the Template.

IacFormatInfo

IacFormatInfo defines the actuation tool used to provision the Template.

JSON representation
{
  "flavor": string,
  "version": string
}
Fields
flavor

string

Required. Flavor is the type of the actuation tool.

version

string

Required. Required version for the actuation tool. required_version = ">= 0.13"

TemplateSchema

TemplateSchema provides the input variables lists and connection information.

JSON representation
{
  "variables": [
    {
      object (TemplateVariable)
    }
  ]
}
Fields
variables[]

object (TemplateVariable)

Required. All defined variables for the Template

TemplateVariable

TemplateTerraform inputs.

JSON representation
{
  "name": string,
  "connections": [
    {
      object (TemplateConnections)
    }
  ]
}
Fields
name

string

Required. Input variable name present in Terraform.

connections[]

object (TemplateConnections)

Required. Terraform input connections.

TemplateConnections

TemplateConnections

JSON representation
{
  "source": {
    object (ConnectionSource)
  },
  "spec": {
    object (ConnectionSpec)
  }
}
Fields
source

object (ConnectionSource)

Required. Source of the connection.

spec

object (ConnectionSpec)

Required. Connection specifications.

ConnectionSource

Defines the source of a connection.

JSON representation
{
  "source": string,
  "version": string
}
Fields
source

string

Required. Source of the connection. Defined using the same format as module source of form [hostname]/namespace/name/provider for registry references and unprefixed github.com URLs for github references.

version

string

Required. Version constraint syntax using the same format as module version constraints.

ConnectionSpec

Defines the specifications of a connection.

JSON representation
{
  "outputExpr": string,
  "inputPath": string
}
Fields
outputExpr

string

Required. Output expression identifying output being connected to variable.

inputPath

string

Optional. Optional dot separated attribuite notation to connect to a specific object field of the input variable.

TemplateRequirements

TemplateRequirements defines the roles required and the associated services that need to be enabled to provision Template resources.

JSON representation
{
  "roles": [
    {
      object (TemplateRoles)
    }
  ],
  "providerVersions": [
    {
      object (ProviderVersion)
    }
  ]
}
Fields
roles[]

object (TemplateRoles)

Required. All roles required for the component

providerVersions[]

object (ProviderVersion)

Required. Required provider versions.

TemplateRoles

Template Roles provide the level and roles

JSON representation
{
  "level": string,
  "roles": [
    string
  ]
}
Fields
level

string

Required. Level of the role.

roles[]

string

Required. List of roles.

TemplateUi

TemplateUi defines the UI related information for the Template.

JSON representation
{
  "input": {
    object (TemplateUiInput)
  }
}
Fields
input

object (TemplateUiInput)

Required. The top-level input section that defines the list of variables and their sections on the deployment page.

TemplateUiInput

TemplateUiInput defines the list of variables and their sections on the deployment page.

JSON representation
{
  "variables": {
    string: {
      object (DisplayVariable)
    },
    ...
  }
}
Fields
variables

map (key: string, value: object (DisplayVariable))

Required. variables is a map defining all inputs on the UI.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

DisplayVariable

Additional display specific Template pertaining to a particular input variable.

JSON representation
{
  "name": string,
  "title": string,
  "alternateDefaults": [
    {
      object (AlternateDefaultInput)
    }
  ],
  "regexValidation": string,
  "validation": string,
  "enumValueLabels": [
    {
      object (ValueLabelInput)
    }
  ],
  "level": integer,
  "subtext": string,
  "properties": {
    string: {
      object (DisplayVariable)
    },
    ...
  },
  "min": number,
  "max": number
}
Fields
name

string

Required. The variable name from the corresponding standard Template file.

title

string

Required. Visible title for the variable on the UI.

alternateDefaults[]

object (AlternateDefaultInput)

Optional. Alternate defaults for the input.

regexValidation

string

Optional. Regex based validation rules for the variable.

validation

string

Optional. Text describing the validation rules for the property. Typically shown after an invalid input. Optional. UTF-8 text. No markup. At most 128 characters.

enumValueLabels[]

object (ValueLabelInput)

Optional. Labels for enum values. Values must be UTF-8 text with no markup, and at most 64 characters.

level

integer

Optional. Indicates the "advanced" level of the input property. Level 0 (default) will always be shown. Level 1 corresponds to one expansion (user clicks "show advanced options" or "more options"). Higher levels correspond to further expansions, or they may be collapsed to level 1 by the UI implementation. Optional.

subtext

string

Optional. Property subtext, displayed below the title.

properties

map (key: string, value: object (DisplayVariable))

Optional. properties is a map defining all the fields of the input variable.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

min

number

Optional. Minimum value for numeric types.

max

number

Optional. Maximum value for numeric types.

ValueLabelInput

Value label input for a UI.

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

string

Optional. Value of the enum.

label

string

Optional. Label of the enum.

LogicalProduct

Represents a Product Main logical product.

JSON representation
{
  "name": string,
  "title": string,
  "shortDescription": string
}
Fields
name

string

Output only. The resource name of the logical product. Format: logicalProducts/{logical_product}

title

string

Output only. The display name of the logical product.

shortDescription

string

Output only. A short description of the logical product.

InferredMetadata

Inferred metadata.

JSON representation
{
  "description": string,
  "templateMetadata": {
    object (TFBlueprintMetadata)
  },
  "createTime": string,
  "updateTime": string
}
Fields
description

string

Output only. Inferred description.

templateMetadata

object (TFBlueprintMetadata)

Output only. Inferred template metadata related to Terraform input and output.

createTime

string (Timestamp format)

Output only. Inferred metadata creation timestamp.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Output only. Inferred metadata update timestamp.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

ResourceType

Represents the type of a resource within a component template.

JSON representation
{
  "tfResource": string,
  "caisResource": string
}
Fields
tfResource

string

Output only. The Terraform resource type. For example: "google_compute_instance".

caisResource

string

Output only. The CAIS resource type.