REST Resource: projects.locations.deployments

Resource: Deployment

The Deployment object represents user intent for deploying a specific type of workload.

JSON representation
 { 
 "name" 
 : 
 string 
 , 
 "description" 
 : 
 string 
 , 
 "createTime" 
 : 
 string 
 , 
 "updateTime" 
 : 
 string 
 , 
 "state" 
 : 
 enum (  State 
 
) 
 , 
 "serviceAccount" 
 : 
 string 
 , 
 "workerPool" 
 : 
 string 
 , 
 // Union field workload_config 
can be only one of the following: 
 "sapSystemS4Config" 
 : 
 { 
 object (  SapSystemS4Config 
 
) 
 } 
 , 
 "sqlServerWorkload" 
 : 
 { 
 object (  SqlServerWorkload 
 
) 
 } 
 // End of list of possible types for union field workload_config 
. 
 } 
Fields
name

string

The name of deployment resource. The format will be 'projects/{projectId}/locations/{locationId}/deployments/{deploymentId}'

description

string

Description of the Deployment

create Time

string ( Timestamp format)

Output only. [Output only] Create time stamp

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

update Time

string ( Timestamp format)

Output only. [Output only] Update time stamp

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z" .

state

enum ( State )

Output only. Current state of the deployment.

worker Pool

string

Optional. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: projects/{project}/locations/{location}/workerPools/{workerPoolId} . If this field is unspecified, the default Cloud Build worker pool will be used.

Union field workload_config . DeploymentMetadata of the deployment workload_config can be only one of the following:
sap System S4 Config

object ( SapSystemS4Config )

SAP system workload input

sql Server Workload

object ( SqlServerWorkload )

MS SQL workload input

SapSystemS4Config

Message for sap system workload

JSON representation
 { 
 "gcpProjectId" 
 : 
 string 
 , 
 "location" 
 : 
 { 
 object (  LocationDetails 
 
) 
 } 
 , 
 "database" 
 : 
 { 
 object (  DatabaseDetails 
 
) 
 } 
 , 
 "app" 
 : 
 { 
 object (  AppDetails 
 
) 
 } 
 , 
 "allowStoppingForUpdate" 
 : 
 boolean 
 , 
 "version" 
 : 
 enum (  Version 
 
) 
 , 
 "environmentType" 
 : 
 enum (  EnvironmentType 
 
) 
 , 
 "deploymentModel" 
 : 
 enum (  DeploymentModel 
 
) 
 , 
 "scalingMethod" 
 : 
 enum (  ScalingMethod 
 
) 
 , 
 "mediaBucketName" 
 : 
 string 
 , 
 "sapBootDiskImage" 
 : 
 string 
 , 
 "vmPrefix" 
 : 
 string 
 , 
 "ansibleRunnerServiceAccount" 
 : 
 string 
 } 
Fields
gcp Project Id

string

the project that infrastructure deployed, current only support the same project where the deployment resource exist.

location

object ( LocationDetails )

database details

database

object ( DatabaseDetails )

database details

app

object ( AppDetails )

instance details

allow Stopping For Update

boolean

version

enum ( Version )

Required. sap hana version

environment Type

enum ( EnvironmentType )

Required. deployment environment

deployment Model

enum ( DeploymentModel )

Required. two model non-HA and HA supported

scaling Method

enum ( ScalingMethod )

Required. support scale up and scale out

media Bucket Name

string

Required. mediaBucketName

sap Boot Disk Image

string

Optional. sapBootDiskImage

vm Prefix

string

vmPrefix

LocationDetails

Message for sap instant details

JSON representation
 { 
 "vpcName" 
 : 
 string 
 , 
 "zone1Name" 
 : 
 string 
 , 
 "zone2Name" 
 : 
 string 
 , 
 "dnsZoneNameSuffix" 
 : 
 string 
 , 
 "regionName" 
 : 
 string 
 , 
 "internetAccess" 
 : 
 enum (  InternetAccess 
 
) 
 , 
 "subnetName" 
 : 
 string 
 , 
 "dnsZone" 
 : 
 string 
 , 
 "networkProject" 
 : 
 string 
 , 
 "createCommsFirewall" 
 : 
 boolean 
 , 
 "networkTags" 
 : 
 [ 
 string 
 ] 
 , 
 "deploymentDnsEnabled" 
 : 
 boolean 
 } 
Fields
vpc Name

string

Required. vpcName

zone1 Name

string

Required. zone1Name

zone2 Name

string

Optional. zone2Name

dns Zone Name Suffix

string

Optional. dnsZoneNameSuffix

region Name

string

Required. regionName

internet Access

enum ( InternetAccess )

subnet Name

string

Required. subnetName

dns Zone

string

Optional. dns zone name

network Project

string

Optional. network project

create Comms Firewall

boolean

Optional. create firewall, if true, create firewall for the deployment. This field provides an option to not always create firewall for the deployment.

network Tags[]

string

Optional. network tags

deployment Dns Enabled

boolean

Optional. when user skip DNS configuration from UI, deploymentDnsEnabled=false otherwise deploymentDnsEnabled=true

InternetAccess

InternetAccess

Enums
INTERNETACCESS_UNSPECIFIED
ALLOW_EXTERNAL_IP
CONFIGURE_NAT

DatabaseDetails

Message for sap instant details

JSON representation
 { 
 "sid" 
 : 
 string 
 , 
 "machineType" 
 : 
 string 
 , 
 "diskType" 
 : 
 string 
 , 
 "secretManagerSecret" 
 : 
 string 
 , 
 "image" 
 : 
 string 
 , 
 "instanceId" 
 : 
 string 
 , 
 "primaryDbVm" 
 : 
 string 
 , 
 "secondaryDbVm" 
 : 
 string 
 , 
 "databaseServiceAccount" 
 : 
 string 
 } 
Fields
sid

string

Required. The SID is a three-digit server-specific unique identification code.

machine Type

string

Required. machine type

disk Type

string

Required. diskType

secret Manager Secret

string

Required. secretManagerSecret

image

string

Required. image for database server

instance Id

string

Optional. instance id

primary Db Vm

string

Optional. primary db vm name

secondary Db Vm

string

Optional. secondary db vm name

AppDetails

Message for sap instant details

JSON representation
 { 
 "sid" 
 : 
 string 
 , 
 "vmsMultiplier" 
 : 
 integer 
 , 
 "machineType" 
 : 
 string 
 , 
 "ascsMachineType" 
 : 
 string 
 , 
 "secretManagerSecret" 
 : 
 string 
 , 
 "image" 
 : 
 string 
 , 
 "ascsInstanceId" 
 : 
 string 
 , 
 "ersInstanceId" 
 : 
 string 
 , 
 "appInstanceId" 
 : 
 string 
 , 
 "ascsVm" 
 : 
 string 
 , 
 "ersVm" 
 : 
 string 
 , 
 "ascsImage" 
 : 
 string 
 , 
 "appVmNames" 
 : 
 [ 
 string 
 ] 
 , 
 "ascsServiceAccount" 
 : 
 string 
 , 
 "appServiceAccount" 
 : 
 string 
 } 
Fields
sid

string

Required. The SAP SID is a three-digit server-specific unique identification code.

vms Multiplier

integer

Required. vmsMultiplier

machine Type

string

Required. machine type

ascs Machine Type

string

Required. ascsMachineType

secret Manager Secret

string

Required. secretManagerSecret

image

string

Required. image for app server and ascs server

ascs Instance Id

string

Optional. instance id for ascs

ers Instance Id

string

Optional. instance id for ers

app Instance Id

string

Optional. instance id for app

ascs Vm

string

Optional. ASCS vm name

ers Vm

string

Optional. ERS vm name

ascs Image

string

Required. image for ascs server

app Vm Names[]

string

Optional. Customized vm names

Version

Version

Enums
VERSION_UNSPECIFIED
S4_HANA_2021
S4_HANA_2022
S4_HANA_2023

EnvironmentType

EnvironmentType

Enums
ENVIRONMENT_TYPE_UNSPECIFIED Unspecified environment type
NON_PRODUCTION Non-production environment type
PRODUCTION Production environment type

DeploymentModel

DeploymentModel

Enums
DEPLOYMENT_MODEL_UNSPECIFIED
DISTRIBUTED
DISTRIBUTED_HA

ScalingMethod

ScalingMethod

Enums
SCALE_METHOD_UNSPECIFIED
SCALE_UP Scale up: Increases the size of a physical machine by increasing the amount of RAM and CPU available for processing
SCALE_OUT Scale out: Combines multiple independent computers into one system

SqlServerWorkload

Message for MS SQL workload

JSON representation
 { 
 "environmentType" 
 : 
 enum (  EnvironmentType 
 
) 
 , 
 "operatingSystemType" 
 : 
 enum (  OperatingSystemType 
 
) 
 , 
 "osImage" 
 : 
 string 
 , 
 "deploymentModel" 
 : 
 enum (  DeploymentModel 
 
) 
 , 
 "haType" 
 : 
 enum (  HAType 
 
) 
 , 
 "vmPrefix" 
 : 
 string 
 , 
 "mediaBucket" 
 : 
 string 
 , 
 "location" 
 : 
 { 
 object (  SqlLocationDetails 
 
) 
 } 
 , 
 "activeDirectory" 
 : 
 { 
 object (  ActiveDirectory 
 
) 
 } 
 , 
 "database" 
 : 
 { 
 object (  Database 
 
) 
 } 
 , 
 "pacemaker" 
 : 
 { 
 object (  Pacemaker 
 
) 
 } 
 , 
 "fciType" 
 : 
 enum (  FciType 
 
) 
 , 
 "isSqlPayg" 
 : 
 boolean 
 , 
 "sqlServerEdition" 
 : 
 enum (  SqlServerEditionType 
 
) 
 , 
 "sqlServerVersion" 
 : 
 enum (  SqlServerVersionType 
 
) 
 , 
 "osImageType" 
 : 
 enum (  OsImageType 
 
) 
 } 
Fields
environment Type

enum ( EnvironmentType )

Required. deployment environment

operating System Type

enum ( OperatingSystemType )

Required. type of the operating system the SQL server is going to run on top of

os Image

string

Required. the image of the operating system

deployment Model

enum ( DeploymentModel )

Required. HIGH_AVAILABILITY or SINGLE_INSTANCE

ha Type

enum ( HAType )

Optional. AOAG or FCI, it is only needed for High Availability deployment mode

vm Prefix

string

Required. should be unique in the project

media Bucket

string

Required. name of the media storing SQL server installation files

location

object ( SqlLocationDetails )

Required. location details

active Directory

object ( ActiveDirectory )

Required. active directory details

database

object ( Database )

Required. database details

pacemaker

object ( Pacemaker )

Optional. pacemaker configuration, only applicable for Linux HA deployments

fci Type

enum ( FciType )

Optional. SHARED_DISK or S2D

is Sql Payg

boolean

Required. SQL licensing type

sql Server Edition

enum ( SqlServerEditionType )

Optional. SQL Server Edition type, only applicable when Operating System is Linux

sql Server Version

enum ( SqlServerVersionType )

Optional. 2017 or 2019 or 2022

os Image Type

enum ( OsImageType )

Optional. OS image type, it's used to create boot disks for VM instances When either Windows licensing type or SQL licensing type is BYOL, this option is disabled and default to custom image

OperatingSystemType

Operating system type

Enums
OPERATING_SYSTEM_TYPE_UNSPECIFIED Unspecified operating system type
WINDOWS Windows operating system type
UBUNTU Ubuntu operating system type
RED_HAT_ENTERPRISE_LINUX Red Hat Enterprise Linux operating system type
SUSE Suse operating system type

DeploymentModel

Deployment model

Enums
DEPLOYMENT_MODEL_UNSPECIFIED Unspecified deployment model
HIGH_AVAILABILITY High Availability deployment model
SINGLE_INSTANCE Single Instance deployment model

HAType

HA type

Enums
HA_TYPE_UNSPECIFIED Unspecified HA type
AOAG AOAG HA type
FCI FCI HA type

SqlLocationDetails

Location and networking details for configuring SQL server workload

JSON representation
 { 
 "gcpProjectId" 
 : 
 string 
 , 
 "region" 
 : 
 string 
 , 
 "primaryZone" 
 : 
 string 
 , 
 "secondaryZone" 
 : 
 string 
 , 
 "network" 
 : 
 string 
 , 
 "subnetwork" 
 : 
 string 
 , 
 "internetAccess" 
 : 
 enum (  InternetAccess 
 
) 
 , 
 "dnsZone" 
 : 
 string 
 , 
 "tertiaryZone" 
 : 
 string 
 } 
Fields
gcp Project Id

string

Required. the project that infrastructure deployed, currently only supports the same project where the deployment resource exists.

region

string

Required. region name

primary Zone

string

Required. primary zone

secondary Zone

string

Optional. secondary zone can't be same as primaryZone and is only for High Availability deployment mode

network

string

Required. network name

subnetwork

string

Required. subnetwork name

internet Access

enum ( InternetAccess )

Required. Internet Access

dns Zone

string

Optional. create a new DNS Zone when the field is empty, Only show for Using an existing DNS List of existing DNS Zones tf variable name: existing_dns_zone_name

tertiary Zone

string

Optional. teriary zone can't be same as primaryZone and secondary zone, and it is only for High Availability deployment mode

InternetAccess

Internet Access options

Enums
INTERNET_ACCESS_UNSPECIFIED Unspecified internet access
ALLOW_EXTERNAL_IP Allow external IP
CONFIGURE_NAT Configure NAT

ActiveDirectory

Active directory details

JSON representation
 { 
 "type" 
 : 
 enum (  ActiveDirectoryType 
 
) 
 , 
 "domainUsername" 
 : 
 string 
 , 
 "secretManagerSecret" 
 : 
 string 
 , 
 "dnsAddress" 
 : 
 string 
 , 
 "domain" 
 : 
 string 
 } 
Fields
type

enum ( ActiveDirectoryType )

Required. active directory type

domain Username

string

Optional. domain username

secret Manager Secret

string

Required. secretManagerSecret

dns Address

string

Optional. DNS IP address

domain

string

Optional. human readable form of a domain such as “google.com”.

ActiveDirectoryType

active directory type options

Enums
ACTIVE_DIRECTORY_TYPE_UNSPECIFIED Unspecified active directory type
GCP_MANAGED GCP managed active directory type
SELF_MANAGED Self managed active directory type

Database

Database details

JSON representation
 { 
 "secretManagerSecret" 
 : 
 string 
 , 
 "floatingIpAddress" 
 : 
 string 
 , 
 "machineType" 
 : 
 string 
 , 
 "smt" 
 : 
 boolean 
 , 
 "tempdbOnSsd" 
 : 
 boolean 
 , 
 "tenancyModel" 
 : 
 enum (  TenancyModel 
 
) 
 , 
 "soleTenantNode" 
 : 
 string 
 , 
 "soleTenantNodeType" 
 : 
 string 
 , 
 "secondarySoleTenantNode" 
 : 
 string 
 , 
 "secondarySoleTenantNodeType" 
 : 
 string 
 } 
Fields
secret Manager Secret

string

Required. secretManagerSecret

floating Ip Address

string

Optional. only useful for Linux High Availability setup

machine Type

string

Required. machine type

smt

boolean

Required. whether simultaneous multithreading is enabled or not

tempdb On Ssd

boolean

Required. whether to have TempDB on local SSD

tenancy Model

enum ( TenancyModel )

Required. SHARED or SOLE_TENANT

sole Tenant Node

string

Optional. the name of a primary sole-tenant node/node group

sole Tenant Node Type

string

Optional. the type of a primary sole-tenant node/node group e.g. compute.googleapis.com/node-name

secondary Sole Tenant Node

string

Optional. the name of a secondary-sole-tenant node/node group

secondary Sole Tenant Node Type

string

Optional. the type of a secondary-sole-tenant node/node group e.g. compute.googleapis.com/node-name

TenancyModel

Tenancy model

Enums
TENANCY_MODEL_UNSPECIFIED Unspecified tenancy model
SHARED Shared tenancy model
SOLE_TENANT Sole Tenant tenancy model

Pacemaker

pacemaker configuration

JSON representation
 { 
 "pacemakerCluster" 
 : 
 string 
 , 
 "pacemakerClusterUsername" 
 : 
 string 
 , 
 "pacemakerClusterSecret" 
 : 
 string 
 , 
 "sqlPacemakerUsername" 
 : 
 string 
 , 
 "sqlPacemakerSecret" 
 : 
 string 
 , 
 "bucketNameNodeCertificates" 
 : 
 string 
 } 
Fields
pacemaker Cluster

string

Required. pacemaker cluster name

pacemaker Cluster Username

string

Required. pacemaker cluster username

pacemaker Cluster Secret

string

Required. pacemaker cluster secret name

sql Pacemaker Username

string

Required. sql pacemaker username

sql Pacemaker Secret

string

Required. sql pacemaker secret name

bucket Name Node Certificates

string

Required. bucket location for node certificates

FciType

FCI type, only applicable when Operating System is Windows and HA type is FCI

Enums
FCI_TYPE_UNSPECIFIED Unspecified FCI type
SHARED_DISK SHARED DISK FCI type
S2D S2D FCI type

SqlServerEditionType

SQL Server Edition type, only applicable when Operating System is Linux

Enums
SQL_SERVER_EDITION_TYPE_UNSPECIFIED Unspecified type
SQL_SERVER_EDITION_TYPE_DEVELOPER Developer type
SQL_SERVER_EDITION_TYPE_ENTERPRISE Enterprise type
SQL_SERVER_EDITION_TYPE_STANDARD Standard type
SQL_SERVER_EDITION_TYPE_WEB Web type

SqlServerVersionType

SQL Server Version type, only applicable when Operating System is Linux

Enums
SQL_SERVER_VERSION_TYPE_UNSPECIFIED Unspecified type
SQL_SERVER_VERSION_TYPE_2017 2017 type
SQL_SERVER_VERSION_TYPE_2019 2019 type
SQL_SERVER_VERSION_TYPE_2022 2022 type

OsImageType

OS image type

Enums
OS_IMAGE_TYPE_UNSPECIFIED Unspecified OS image type
PUBLIC_IMAGE Public image
CUSTOM_IMAGE Custom image

State

The state of deployment

Enums
STATE_UNSPECIFIED The default value. This value is used if the state is omitted.
CREATING The deployment is being created.
ACTIVE The deployment is healthy.
UPDATING The deployment is being updated.
DELETING The deployment is being deleted.
FAILED The deployment has encountered an unexpected error.

Methods

create

Creates a new Deployment in a given project and location.

delete

Deletes a single Deployment.

get

Gets details of a single Deployment.

list

Lists Deployments in a given project and location.
Design a Mobile Site
View Site in Mobile | Classic
Share by: