- Resource: Deployment
- WorkloadType
- TerraformVariable
- SapSystemS4Config
- LocationDetails
- InternetAccess
- DatabaseDetails
- AppDetails
- Version
- EnvironmentType
- DeploymentModel
- ScalingMethod
- SqlServerWorkload
- OperatingSystemType
- DeploymentModel
- HAType
- SqlLocationDetails
- InternetAccess
- ActiveDirectory
- ActiveDirectoryType
- Database
- TenancyModel
- Pacemaker
- FciType
- SqlServerEditionType
- SqlServerVersionType
- OsImageType
- State
- Methods
Resource: Deployment
The Deployment object represents user intent for deploying a specific type of workload.
| JSON representation |
|---|
{ "name": string, "description": string, "workloadType": enum ( |
| Fields | |
|---|---|
name |
The name of the deployment resource. The format is 'projects/{projectId}/locations/{locationId}/deployments/{deploymentId}'. |
description |
Description of the deployment. |
workloadType |
Optional. Workload type of the deployment. |
terraformVariables |
Optional. terraformVariables represents all the Terraform variables for the deployment workload. The key is the name of the Terraform variable, and the value is the TerraformVariable. For example: { "projectId": { "inputValue": { "stringValue": "my-project-id" } }, "zone": { "inputValue": { "stringValue": "us-central1-a" } } } An object containing a list of |
createTime |
Output only. Create time stamp. 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: |
updateTime |
Output only. Update time stamp. 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: |
state |
Output only. Current state of the deployment. |
serviceAccount |
User-specified Service Account (SA) credentials to be used for Cloud Build. Format: |
workerPool |
Optional. The user-specified Cloud Build worker pool resource in which the Cloud Build job will execute. Format: |
Union field workload_config. DeploymentMetadata of the deployment. workload_config can be only one of the following: |
|
sapSystemS4Config |
SAP system workload input. |
sqlServerWorkload |
MS SQL workload input. |
WorkloadType
Enum of workload type.
| Enums | |
|---|---|
WORKLOAD_TYPE_UNSPECIFIED |
Unspecified workload type. |
SAP_S4 |
SAP S/4HANA workload type. |
SQL_SERVER |
SQL Server workload type. |
ORACLE |
Oracle workload type. |
TerraformVariable
In order to align with the Infra Manager dependency, we create the same TerraformVariable message to represent a Terraform input variable, by following Infra Manager's API documentation: https://cloud.google.com/infrastructure-manager/docs/reference/rest. A Terraform input variable.
| JSON representation |
|---|
{ "inputValue": value } |
| Fields | |
|---|---|
inputValue |
Optional. Input variable value. |
SapSystemS4Config
Message for SAP system workload.
| JSON representation |
|---|
{ "gcpProjectId": string, "location": { object ( |
| Fields | |
|---|---|
gcpProjectId |
The project that infrastructure is deployed in. Currently only supports the same project where the deployment resource exists. |
location |
Database details. |
database |
Database details. |
app |
Instance details. |
allowStoppingForUpdate |
|
version |
Required. SAP HANA version. |
environmentType |
Required. Deployment environment. |
deploymentModel |
Required. Supports non-HA and HA models. |
scalingMethod |
Required. Supports scale up and scale out. |
mediaBucketName |
Required. Media bucket name. |
sapBootDiskImage |
Optional. SAP boot disk image. |
vmPrefix |
VM prefix. |
ansibleRunnerServiceAccount |
Ansible runner service account. Let customers bring their own service account for the Ansible runner. |
LocationDetails
Message for SAP instance details.
| JSON representation |
|---|
{
"vpcName": string,
"zone1Name": string,
"zone2Name": string,
"dnsZoneNameSuffix": string,
"regionName": string,
"internetAccess": enum ( |
| Fields | |
|---|---|
vpcName |
Required. VPC name. |
zone1Name |
Required. Zone 1 name. |
zone2Name |
Optional. Zone 2 name. |
dnsZoneNameSuffix |
Optional. DNS zone name suffix. |
regionName |
Required. Region name. |
internetAccess |
|
subnetName |
Required. Subnet name. |
dnsZone |
Optional. DNS zone name. |
networkProject |
Optional. Network project. |
createCommsFirewall |
Optional. Create firewall. If true, creates a firewall for the deployment. This field provides an option to not always create a firewall for the deployment. |
customTags[] |
Optional. Network tags. |
deploymentDnsEnabled |
Optional. When the user skips DNS configuration in the UI, |
InternetAccess
Internet access.
| Enums | |
|---|---|
INTERNETACCESS_UNSPECIFIED |
|
ALLOW_EXTERNAL_IP |
|
CONFIGURE_NAT |
|
DatabaseDetails
Message for SAP instance details.
| JSON representation |
|---|
{ "sid": string, "machineType": string, "diskType": string, "secretManagerSecret": string, "image": string, "instanceId": string, "primaryDbVm": string, "secondaryDbVm": string, "databaseServiceAccount": string } |
| Fields | |
|---|---|
sid |
Required. The SID is a three-digit server-specific unique identification code. |
machineType |
Required. Machine type. |
diskType |
Required. Disk type. |
secretManagerSecret |
Required. Secret Manager secret. |
image |
Required. Image for the database server. |
instanceId |
Optional. Instance ID. |
primaryDbVm |
Optional. Primary DB VM name. |
secondaryDbVm |
Optional. Secondary DB VM name. |
databaseServiceAccount |
Database service account. Let customers bring their own SA for the database. |
AppDetails
Message for SAP instance 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, "sharedStorage": string } |
| Fields | |
|---|---|
sid |
Required. The SAP SID is a three-digit server-specific unique identification code. |
vmsMultiplier |
Required. VMs multiplier. |
machineType |
Required. Machine type. |
ascsMachineType |
Required. ASCS machine type. |
secretManagerSecret |
Required. Secret Manager secret. |
image |
Required. Image for the app server and ASCS server. |
ascsInstanceId |
Optional. Instance ID for ASCS. |
ersInstanceId |
Optional. Instance ID for ERS. |
appInstanceId |
Optional. Instance ID for app. |
ascsVm |
Optional. ASCS VM name. |
ersVm |
Optional. ERS VM name. |
ascsImage |
Required. Image for the ASCS server. |
appVmNames[] |
Optional. Customized VM names. |
ascsServiceAccount |
ASCS service account. Let customers bring their own service account for ASCS. |
appServiceAccount |
Application service account. Let customers bring their own service account for the application. |
sharedStorage |
Optional. Storage location. |
Version
Version.
| Enums | |
|---|---|
VERSION_UNSPECIFIED |
|
S4_HANA_2021 |
|
S4_HANA_2022 |
|
S4_HANA_2023 |
|
EnvironmentType
Environment type.
| Enums | |
|---|---|
ENVIRONMENT_TYPE_UNSPECIFIED |
Unspecified environment type. |
NON_PRODUCTION |
Non-production environment type. |
PRODUCTION |
Production environment type. |
DeploymentModel
Deployment model.
| Enums | |
|---|---|
DEPLOYMENT_MODEL_UNSPECIFIED |
|
DISTRIBUTED |
|
DISTRIBUTED_HA |
|
ScalingMethod
Scaling method.
| 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 ( |
| Fields | |
|---|---|
environmentType |
Required. Deployment environment. |
operatingSystemType |
Required. The type of the operating system the SQL server is going to run on top of. |
osImage |
Required. The image of the operating system. |
deploymentModel |
Required. HIGH_AVAILABILITY or SINGLE_INSTANCE. |
haType |
Optional. AOAG or FCI. It is only needed for the High Availability deployment mode. |
vmPrefix |
Required. Should be unique in the project. |
mediaBucket |
Required. Name of the media storing SQL server installation files. |
location |
Required. Location details. |
activeDirectory |
Required. Active Directory details. |
database |
Required. Database details. |
pacemaker |
Optional. Pacemaker configuration, only applicable for Linux HA deployments. |
fciType |
Optional. SHARED_DISK or S2D. |
isSqlPayg |
Required. SQL licensing type. |
sqlServerEdition |
Optional. SQL Server Edition type, only applicable when the operating system is Linux. |
sqlServerVersion |
Optional. 2017, 2019, or 2022. |
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 defaults to a custom image. |
computeEngineServiceAccount |
Compute Engine service account. Let customers bring their own service account for Compute Engine. |
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 ( |
| Fields | |
|---|---|
gcpProjectId |
Required. The project that infrastructure is deployed in. Currently only supports the same project where the deployment resource exists. |
region |
Required. Region name. |
primaryZone |
Required. Primary zone. |
secondaryZone |
Optional. Secondary zone cannot be the same as primaryZone and is only for High Availability deployment mode. |
network |
Required. Network name. |
subnetwork |
Required. Subnetwork name. |
internetAccess |
Required. Internet Access. |
dnsZone |
Optional. Create a new DNS zone when the field is empty. Only shown for |
tertiaryZone |
Optional. Tertiary zone cannot be the same as primaryZone and secondaryZone, 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 ( |
| Fields | |
|---|---|
type |
Required. Active Directory type. |
domainUsername |
Optional. Domain username. |
secretManagerSecret |
Required. Secret Manager secret. |
dnsAddress |
Optional. DNS IP address. |
domain |
Optional. Human readable form of a domain such as |
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 ( |
| Fields | |
|---|---|
secretManagerSecret |
Required. Secret Manager secret. |
floatingIpAddress |
Optional. Only useful for Linux High Availability setup. |
machineType |
Required. Machine type. |
smt |
Required. Whether simultaneous multithreading is enabled or not. |
tempdbOnSsd |
Required. Whether to have TempDB on local SSD. |
tenancyModel |
Required. SHARED or SOLE_TENANT. |
diskType |
Required. Disk type. |
soleTenantNode |
Optional. The name of a primary sole-tenant node/node group. |
soleTenantNodeType |
Optional. The type of a primary sole-tenant node/node group. E.g., compute.googleapis.com/node-name. |
secondarySoleTenantNode |
Optional. The name of a secondary-sole-tenant node/node group. |
secondarySoleTenantNodeType |
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 | |
|---|---|
pacemakerCluster |
Required. Pacemaker cluster name. |
pacemakerClusterUsername |
Required. Pacemaker cluster username. |
pacemakerClusterSecret |
Required. Pacemaker cluster secret name. |
sqlPacemakerUsername |
Required. SQL Pacemaker username. |
sqlPacemakerSecret |
Required. SQL Pacemaker secret name. |
bucketNameNodeCertificates |
Required. Bucket location for node certificates. |
FciType
FCI type, only applicable when the operating system is Windows and the 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 the 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 the 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 the 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 |
|
|---|---|
|
Creates a new Deployment in a given project and location. |
|
Deletes a single Deployment. |
|
Gets details of a single Deployment. |
|
Lists Deployments in a given project and location. |