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. TODO b/358313147 - Check if connection field is required here. 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
}
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.

AlternateDefault

Alternate default for a UI input.

JSON representation
{
  "type": enum (DisplayVariableAlternateType),
  "value": value
}
Fields
type

enum (DisplayVariableAlternateType)

Output only. Type of alternate default.

value

value (Value format)

Output only. Value of the alternate default.

DisplayVariableAlternateType

Alternate default value type. Allows you to define an alternative value for predefined use cases, such as security. If specified, this value can be used instead of the default value in BlueprintVariable.

Enums
DISPLAY_VARIABLE_ALTERNATE_TYPE_UNSPECIFIED Default
DISPLAY_VARIABLE_ALTERNATE_TYPE_SECURITY A more secure default.
DISPLAY_VARIABLE_ALTERNATE_TYPE_DC A default specifically needed for Application Design center.

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.

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.

DisplayVariableVisibility

Visibility defines how the output is exposed.

Enums
DISPLAY_VARIABLE_VISIBILITY_UNSPECIFIED Default
DISPLAY_VARIABLE_VISIBILITY_ROOT Expose output as root module output.

ProviderVersion

ProviderVersion defines the required version for a provider.

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

string

Output only. Provider source of form [hostname]\namespace\name Hostname is optional defaulting to Terraform registry.

version

string

Output only. Version constraint string.