{
  "servicePath": "",
  "revision": "20260429",
  "schemas": {
    "SqlServerWorkload": {
      "description": "Message for MS SQL workload",
      "properties": {
        "osImage": {
          "description": "Required. the image of the operating system",
          "type": "string"
        },
        "deploymentModel": {
          "description": "Required. HIGH_AVAILABILITY or SINGLE_INSTANCE",
          "type": "string",
          "enumDescriptions": [
            "Unspecified deployment model",
            "High Availability deployment model",
            "Single Instance deployment model"
          ],
          "enum": [
            "DEPLOYMENT_MODEL_UNSPECIFIED",
            "HIGH_AVAILABILITY",
            "SINGLE_INSTANCE"
          ]
        },
        "vmPrefix": {
          "description": "Required. should be unique in the project",
          "type": "string"
        },
        "mediaBucket": {
          "type": "string",
          "description": "Required. name of the media storing SQL server installation files"
        },
        "osImageType": {
          "enum": [
            "OS_IMAGE_TYPE_UNSPECIFIED",
            "PUBLIC_IMAGE",
            "CUSTOM_IMAGE"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified OS image type",
            "Public image",
            "Custom image"
          ],
          "description": "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"
        },
        "fciType": {
          "description": "Optional. SHARED_DISK or S2D",
          "type": "string",
          "enumDescriptions": [
            "Unspecified FCI type",
            "SHARED DISK FCI type",
            "S2D FCI type"
          ],
          "enum": [
            "FCI_TYPE_UNSPECIFIED",
            "SHARED_DISK",
            "S2D"
          ]
        },
        "isSqlPayg": {
          "type": "boolean",
          "description": "Required. SQL licensing type"
        },
        "sqlServerVersion": {
          "enum": [
            "SQL_SERVER_VERSION_TYPE_UNSPECIFIED",
            "SQL_SERVER_VERSION_TYPE_2017",
            "SQL_SERVER_VERSION_TYPE_2019",
            "SQL_SERVER_VERSION_TYPE_2022"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified type",
            "2017 type",
            "2019 type",
            "2022 type"
          ],
          "description": "Optional. 2017 or 2019 or 2022"
        },
        "haType": {
          "description": "Optional. AOAG or FCI, it is only needed for High Availability deployment mode",
          "enum": [
            "HA_TYPE_UNSPECIFIED",
            "AOAG",
            "FCI"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified HA type",
            "AOAG HA type",
            "FCI HA type"
          ]
        },
        "environmentType": {
          "description": "Required. deployment environment",
          "enum": [
            "ENVIRONMENT_TYPE_UNSPECIFIED",
            "NON_PRODUCTION",
            "PRODUCTION"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified environment type",
            "Non-production environment type",
            "Production environment type"
          ]
        },
        "pacemaker": {
          "description": "Optional. pacemaker configuration, only applicable for Linux HA deployments",
          "$ref": "Pacemaker"
        },
        "location": {
          "$ref": "SqlLocationDetails",
          "description": "Required. location details"
        },
        "database": {
          "description": "Required. database details",
          "$ref": "Database"
        },
        "sqlServerEdition": {
          "enum": [
            "SQL_SERVER_EDITION_TYPE_UNSPECIFIED",
            "SQL_SERVER_EDITION_TYPE_DEVELOPER",
            "SQL_SERVER_EDITION_TYPE_ENTERPRISE",
            "SQL_SERVER_EDITION_TYPE_STANDARD",
            "SQL_SERVER_EDITION_TYPE_WEB"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified type",
            "Developer type",
            "Enterprise type",
            "Standard type",
            "Web type"
          ],
          "description": "Optional. SQL Server Edition type, only applicable when Operating System is Linux"
        },
        "activeDirectory": {
          "description": "Required. active directory details",
          "$ref": "ActiveDirectory"
        },
        "operatingSystemType": {
          "description": "Required. type of the operating system the SQL server is going to run on top of",
          "enum": [
            "OPERATING_SYSTEM_TYPE_UNSPECIFIED",
            "WINDOWS",
            "UBUNTU",
            "RED_HAT_ENTERPRISE_LINUX",
            "SUSE"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified operating system type",
            "Windows operating system type",
            "Ubuntu operating system type",
            "Red Hat Enterprise Linux operating system type",
            "Suse operating system type"
          ]
        },
        "computeEngineServiceAccount": {
          "description": "Compute engine service account - let customers bring their own SA for Compute engine",
          "type": "string"
        }
      },
      "id": "SqlServerWorkload",
      "type": "object"
    },
    "DeploymentOutput": {
      "description": "Message for output of deployment resource",
      "properties": {
        "type": {
          "type": "string",
          "description": "type of the resource"
        },
        "name": {
          "description": "name of the resource",
          "type": "string"
        }
      },
      "id": "DeploymentOutput",
      "type": "object"
    },
    "OperationMetadata": {
      "id": "OperationMetadata",
      "type": "object",
      "description": "Represents the metadata of the long-running operation.",
      "properties": {
        "target": {
          "description": "Output only. Server-defined resource path for the target of the operation.",
          "readOnly": true,
          "type": "string"
        },
        "statusMessage": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Human-readable status of the operation, if any."
        },
        "verb": {
          "description": "Output only. Name of the verb executed by the operation.",
          "type": "string",
          "readOnly": true
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time the operation was created."
        },
        "endTime": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. The time the operation finished running."
        },
        "apiVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. API version used to start the operation."
        },
        "requestedCancellation": {
          "type": "boolean",
          "readOnly": true,
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`."
        }
      }
    },
    "ListLocationsResponse": {
      "id": "ListLocationsResponse",
      "type": "object",
      "description": "The response message for Locations.ListLocations.",
      "properties": {
        "locations": {
          "description": "A list of locations that matches the specified filter in the request.",
          "items": {
            "$ref": "Location"
          },
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        }
      }
    },
    "Pacemaker": {
      "id": "Pacemaker",
      "type": "object",
      "description": "pacemaker configuration",
      "properties": {
        "pacemakerCluster": {
          "description": "Required. pacemaker cluster name",
          "type": "string"
        },
        "pacemakerClusterUsername": {
          "type": "string",
          "description": "Required. pacemaker cluster username"
        },
        "bucketNameNodeCertificates": {
          "type": "string",
          "description": "Required. bucket location for node certificates"
        },
        "pacemakerClusterSecret": {
          "description": "Required. pacemaker cluster secret name",
          "type": "string"
        },
        "sqlPacemakerUsername": {
          "type": "string",
          "description": "Required. sql pacemaker username"
        },
        "sqlPacemakerSecret": {
          "type": "string",
          "description": "Required. sql pacemaker secret name"
        }
      }
    },
    "ActiveDirectory": {
      "description": "Active directory details",
      "properties": {
        "type": {
          "description": "Required. active directory type",
          "enum": [
            "ACTIVE_DIRECTORY_TYPE_UNSPECIFIED",
            "GCP_MANAGED",
            "SELF_MANAGED"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified active directory type",
            "GCP managed active directory type",
            "Self managed active directory type"
          ]
        },
        "domainUsername": {
          "type": "string",
          "description": "Optional. domain username"
        },
        "secretManagerSecret": {
          "description": "Required. secret_manager_secret",
          "type": "string"
        },
        "dnsAddress": {
          "type": "string",
          "description": "Optional. DNS IP address"
        },
        "domain": {
          "type": "string",
          "description": "Optional. human readable form of a domain such as “google.com”."
        }
      },
      "id": "ActiveDirectory",
      "type": "object"
    },
    "ReconciliationOperationMetadata": {
      "id": "ReconciliationOperationMetadata",
      "type": "object",
      "description": "Operation metadata returned by the CLH during resource state reconciliation.",
      "properties": {
        "deleteResource": {
          "description": "DEPRECATED. Use exclusive_action instead.",
          "deprecated": true,
          "type": "boolean"
        },
        "exclusiveAction": {
          "type": "string",
          "enum": [
            "UNKNOWN_REPAIR_ACTION",
            "DELETE",
            "RETRY"
          ],
          "description": "Excluisive action returned by the CLH.",
          "enumDescriptions": [
            "Unknown repair action.",
            "The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel.",
            "This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource."
          ],
          "enumDeprecated": [
            false,
            true,
            false
          ]
        }
      }
    },
    "SqlLocationDetails": {
      "id": "SqlLocationDetails",
      "type": "object",
      "description": "Location and networking details for configuring SQL server workload",
      "properties": {
        "internetAccess": {
          "description": "Required. Internet Access",
          "enum": [
            "INTERNET_ACCESS_UNSPECIFIED",
            "ALLOW_EXTERNAL_IP",
            "CONFIGURE_NAT"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified internet access",
            "Allow external IP",
            "Configure NAT"
          ]
        },
        "tertiaryZone": {
          "description": "Optional. teriary zone can't be same as primary_zone and secondary zone, and it is only for High Availability deployment mode",
          "type": "string"
        },
        "region": {
          "type": "string",
          "description": "Required. region name"
        },
        "network": {
          "type": "string",
          "description": "Required. network name"
        },
        "secondaryZone": {
          "type": "string",
          "description": "Optional. secondary zone can't be same as primary_zone and is only for High Availability deployment mode"
        },
        "primaryZone": {
          "description": "Required. primary zone",
          "type": "string"
        },
        "gcpProjectId": {
          "type": "string",
          "description": "Required. the project that infrastructure deployed, currently only supports the same project where the deployment resource exists."
        },
        "subnetwork": {
          "description": "Required. subnetwork name",
          "type": "string"
        },
        "dnsZone": {
          "description": "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",
          "type": "string"
        }
      }
    },
    "CancelOperationRequest": {
      "description": "The request message for Operations.CancelOperation.",
      "properties": {},
      "id": "CancelOperationRequest",
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "properties": {},
      "id": "Empty",
      "type": "object"
    },
    "Actuation": {
      "description": "The Actuation object represents the bootstrap state and output results of deployed infrastructure and software.",
      "properties": {
        "actuationOutput": {
          "readOnly": true,
          "$ref": "ActuationOutput",
          "description": "Output only. [Output only] Actuation output"
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "INFRA_CREATING",
            "SUCCEEDED",
            "FAILED",
            "POST_INFRA_CONFIGURING",
            "INFRA_DESTROYING",
            "TIMEOUT"
          ],
          "type": "string",
          "description": "Output only. [Output only] Actuation state",
          "readOnly": true,
          "enumDescriptions": [
            "state unspecified",
            "creating infrastructure in backend (terraform applying)",
            "success",
            "failed either in infra creating, post infra configuring or infra destroying",
            "configure workload after infrastructure is ready (ansible running)",
            "destroying infrastructure in backend (terraform destroying)",
            "ansible is timeout due to losing heartbeat in post infra configuring"
          ]
        },
        "deploymentOutput": {
          "readOnly": true,
          "type": "array",
          "description": "Output only. [Output only] Deployment output",
          "items": {
            "$ref": "DeploymentOutput"
          }
        },
        "name": {
          "type": "string",
          "description": "The name of actuation resource. The format is projects/{project}/locations/{location}/deployments/{deployment}/actuations/{actuation}"
        },
        "startTime": {
          "description": "Output only. [Output only] Start time stamp",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "endTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. [Output only] End time stamp"
        }
      },
      "id": "Actuation",
      "type": "object"
    },
    "AppDetails": {
      "id": "AppDetails",
      "type": "object",
      "description": "Message for sap instant details",
      "properties": {
        "ascsServiceAccount": {
          "description": "ASCS service account - let custoemrs bring their own SA for ASCS",
          "type": "string"
        },
        "secretManagerSecret": {
          "type": "string",
          "description": "Required. secret_manager_secret"
        },
        "ascsVm": {
          "description": "Optional. ASCS vm name",
          "type": "string"
        },
        "ascsImage": {
          "type": "string",
          "description": "Required. image for ascs server"
        },
        "appServiceAccount": {
          "description": "Application service account - let custoemrs bring their own SA for application",
          "type": "string"
        },
        "ascsInstanceId": {
          "description": "Optional. instance id for ascs",
          "type": "string"
        },
        "machineType": {
          "type": "string",
          "description": "Required. machine type"
        },
        "ascsMachineType": {
          "description": "Required. ascs_machine_type",
          "type": "string"
        },
        "image": {
          "description": "Required. image for app server and ascs server",
          "type": "string"
        },
        "appInstanceId": {
          "type": "string",
          "description": "Optional. instance id for app"
        },
        "sharedStorage": {
          "type": "string",
          "description": "Optional. Storage location"
        },
        "vmsMultiplier": {
          "type": "integer",
          "format": "int32",
          "description": "Required. vms_multiplier"
        },
        "sid": {
          "type": "string",
          "description": "Required. The SAP SID is a three-digit server-specific unique identification code."
        },
        "ersInstanceId": {
          "description": "Optional. instance id for ers",
          "type": "string"
        },
        "ersVm": {
          "description": "Optional. ERS vm name",
          "type": "string"
        },
        "appVmNames": {
          "description": "Optional. Customized vm names",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "LocationDetails": {
      "id": "LocationDetails",
      "type": "object",
      "description": "Message for sap instant details",
      "properties": {
        "networkProject": {
          "type": "string",
          "description": "Optional. network project"
        },
        "subnetName": {
          "type": "string",
          "description": "Required. subnet_name"
        },
        "dnsZoneNameSuffix": {
          "description": "Optional. dns_zone_name_suffix",
          "type": "string"
        },
        "dnsZone": {
          "description": "Optional. dns zone name",
          "type": "string"
        },
        "zone2Name": {
          "description": "Optional. zone2_name",
          "type": "string"
        },
        "createCommsFirewall": {
          "description": "Optional. create firewall, if true, create firewall for the deployment. This field provides an option to not always create firewall for the deployment.",
          "type": "boolean"
        },
        "internetAccess": {
          "enum": [
            "INTERNETACCESS_UNSPECIFIED",
            "ALLOW_EXTERNAL_IP",
            "CONFIGURE_NAT"
          ],
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ]
        },
        "deploymentDnsEnabled": {
          "description": "Optional. when user skip DNS configuration from UI, deployment_dns_enabled=false otherwise deployment_dns_enabled=true",
          "type": "boolean"
        },
        "vpcName": {
          "type": "string",
          "description": "Required. vpc_name"
        },
        "zone1Name": {
          "type": "string",
          "description": "Required. zone1_name"
        },
        "customTags": {
          "type": "array",
          "description": "Optional. network tags",
          "items": {
            "type": "string"
          }
        },
        "regionName": {
          "type": "string",
          "description": "Required. region_name"
        }
      }
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "metadata": {
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "response": {
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "type": "object"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
          "type": "string"
        },
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        }
      },
      "id": "Operation",
      "type": "object"
    },
    "Status": {
      "description": "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](https://github.com/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](https://cloud.google.com/apis/design/errors).",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32",
          "description": "The status code, which should be an enum value of google.rpc.Code."
        },
        "message": {
          "description": "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.",
          "type": "string"
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            }
          },
          "type": "array"
        }
      },
      "id": "Status",
      "type": "object"
    },
    "Database": {
      "description": "Database details",
      "properties": {
        "machineType": {
          "description": "Required. machine type",
          "type": "string"
        },
        "diskType": {
          "description": "Required. disk_type",
          "type": "string"
        },
        "secondarySoleTenantNode": {
          "description": "Optional. the name of a secondary-sole-tenant node/node group",
          "type": "string"
        },
        "tempdbOnSsd": {
          "type": "boolean",
          "description": "Required. whether to have TempDB on local SSD"
        },
        "tenancyModel": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified tenancy model",
            "Shared tenancy model",
            "Sole Tenant tenancy model"
          ],
          "enum": [
            "TENANCY_MODEL_UNSPECIFIED",
            "SHARED",
            "SOLE_TENANT"
          ],
          "description": "Required. SHARED or SOLE_TENANT"
        },
        "soleTenantNode": {
          "type": "string",
          "description": "Optional. the name of a primary sole-tenant node/node group"
        },
        "soleTenantNodeType": {
          "description": "Optional. the type of a primary sole-tenant node/node group e.g. compute.googleapis.com/node-name",
          "type": "string"
        },
        "secondarySoleTenantNodeType": {
          "type": "string",
          "description": "Optional. the type of a secondary-sole-tenant node/node group e.g. compute.googleapis.com/node-name"
        },
        "secretManagerSecret": {
          "description": "Required. secret_manager_secret",
          "type": "string"
        },
        "smt": {
          "description": "Required. whether simultaneous multithreading is enabled or not",
          "type": "boolean"
        },
        "floatingIpAddress": {
          "type": "string",
          "description": "Optional. only useful for Linux High Availability setup"
        }
      },
      "id": "Database",
      "type": "object"
    },
    "Location": {
      "id": "Location",
      "type": "object",
      "description": "A resource that represents a Google Cloud location.",
      "properties": {
        "labels": {
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "displayName": {
          "type": "string",
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\"."
        },
        "locationId": {
          "type": "string",
          "description": "The canonical id for this location. For example: `\"us-east1\"`."
        },
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "metadata": {
          "description": "Service-specific metadata. For example the available capacity at the given location.",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "type": "object"
        }
      }
    },
    "TerraformVariable": {
      "id": "TerraformVariable",
      "type": "object",
      "description": "In order to align with 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.",
      "properties": {
        "inputValue": {
          "type": "any",
          "description": "Optional. Input variable value."
        }
      }
    },
    "Deployment": {
      "id": "Deployment",
      "type": "object",
      "description": "The Deployment object represents user intent for deploying a specific type of workload.",
      "properties": {
        "state": {
          "enumDescriptions": [
            "The default value. This value is used if the state is omitted.",
            "The deployment is being created.",
            "The deployment is healthy.",
            "The deployment is being updated.",
            "The deployment is being deleted.",
            "The deployment has encountered an unexpected error."
          ],
          "readOnly": true,
          "description": "Output only. Current state of the deployment.",
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "ACTIVE",
            "UPDATING",
            "DELETING",
            "FAILED"
          ]
        },
        "name": {
          "description": "The name of deployment resource. The format will be 'projects/{project_id}/locations/{location_id}/deployments/{deployment_id}'",
          "type": "string"
        },
        "createTime": {
          "description": "Output only. [Output only] Create time stamp",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "workloadType": {
          "description": "Optional. Workload type of the deployment",
          "type": "string",
          "enumDescriptions": [
            "Unspecified workload type",
            "SAP S/4HANA workload type",
            "SQL Server workload type",
            "Oracle workload type"
          ],
          "enum": [
            "WORKLOAD_TYPE_UNSPECIFIED",
            "SAP_S4",
            "SQL_SERVER",
            "ORACLE"
          ]
        },
        "terraformVariables": {
          "description": "Optional. terraform_variables 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: { \"project_id\": { \"input_value\": { \"string_value\": \"my-project-id\" } }, \"zone\": { \"input_value\": { \"string_value\": \"us-central1-a\" } } }",
          "type": "object",
          "additionalProperties": {
            "$ref": "TerraformVariable"
          }
        },
        "description": {
          "type": "string",
          "description": "Description of the Deployment"
        },
        "serviceAccount": {
          "description": "User-specified Service Account (SA) credentials to be used for cloud build Format: `projects/{projectID}/serviceAccounts/{serviceAccount}` The default Cloud Build SA will be used initially if this field is not set during deployment creation",
          "type": "string"
        },
        "sqlServerWorkload": {
          "description": "MS SQL workload input",
          "$ref": "SqlServerWorkload"
        },
        "sapSystemS4Config": {
          "description": "SAP system workload input",
          "$ref": "SapSystemS4Config"
        },
        "workerPool": {
          "type": "string",
          "description": "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."
        },
        "updateTime": {
          "description": "Output only. [Output only] Update time stamp",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        }
      }
    },
    "ListDeploymentsResponse": {
      "id": "ListDeploymentsResponse",
      "type": "object",
      "description": "Message for response to listing Deployments",
      "properties": {
        "deployments": {
          "description": "The list of Deployment",
          "items": {
            "$ref": "Deployment"
          },
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token identifying a page of results the server should return."
        },
        "unreachable": {
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "ListActuationsResponse": {
      "id": "ListActuationsResponse",
      "type": "object",
      "description": "The response object from `ListActuations`.",
      "properties": {
        "actuations": {
          "type": "array",
          "description": "The list of Actuation",
          "items": {
            "$ref": "Actuation"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        },
        "unreachable": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "DatabaseDetails": {
      "id": "DatabaseDetails",
      "type": "object",
      "description": "Message for sap instant details",
      "properties": {
        "machineType": {
          "type": "string",
          "description": "Required. machine type"
        },
        "diskType": {
          "type": "string",
          "description": "Required. disk_type"
        },
        "sid": {
          "description": "Required. The SID is a three-digit server-specific unique identification code.",
          "type": "string"
        },
        "secretManagerSecret": {
          "type": "string",
          "description": "Required. secret_manager_secret"
        },
        "primaryDbVm": {
          "type": "string",
          "description": "Optional. primary db vm name"
        },
        "image": {
          "description": "Required. image for database server",
          "type": "string"
        },
        "secondaryDbVm": {
          "type": "string",
          "description": "Optional. secondary db vm name"
        },
        "instanceId": {
          "type": "string",
          "description": "Optional. instance id"
        },
        "databaseServiceAccount": {
          "type": "string",
          "description": "Database service account - let custoemrs bring their own SA for database"
        }
      }
    },
    "ActuationOutput": {
      "id": "ActuationOutput",
      "type": "object",
      "description": "Message for output of Actuation",
      "properties": {
        "terraformTemplate": {
          "type": "string",
          "description": "reference to terraform template used"
        },
        "actuateLogs": {
          "description": "A link to gcs file that store build logs",
          "type": "string"
        },
        "errorCode": {
          "enum": [
            "ERROR_CODE_UNSPECIFIED",
            "TERRAFORM_FAILED",
            "PERMISSION_DENIED_IN_TERRAFORM",
            "QUOTA_EXCEED_IN_TERRAFORM",
            "ANSIBLE_FAILED",
            "CONSTRAINT_VIOLATION_IN_TERRAFORM",
            "RESOURCE_ALREADY_EXISTS_IN_TERRAFORM",
            "RESOURCE_UNAVAILABLE_IN_TERRAFORM",
            "PERMISSION_DENIED_IN_ANSIBLE",
            "INVALID_SECRET_IN_ANSIBLE",
            "TERRAFORM_DELETION_FAILED",
            "RESOURCE_IN_USE_IN_TERRAFORM_DELETION",
            "ANSIBLE_START_FAILED"
          ],
          "type": "string",
          "description": "Output only. Code describing any errors that may have occurred. If not specified, there is no error in actuation.",
          "readOnly": true,
          "enumDescriptions": [
            "No error code was specified.",
            "general terraform failure",
            "permission error in terraform",
            "quota related error in terraform",
            "general ansible failure",
            "constraint related error in terraform",
            "resource already exists error in terraform",
            "resource not found error in terraform",
            "permission denied error in ansible",
            "secret related error in ansible",
            "general terraform failure during deletion",
            "resource in use error in terraform deletion",
            "start up failure in ansible"
          ]
        },
        "terraformError": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. error message return from terraform."
        },
        "ansibleFailedTask": {
          "description": "Output only. failed task name return from ansible.",
          "items": {
            "type": "string"
          },
          "type": "array",
          "readOnly": true
        },
        "hasUserFacingErrorMsg": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. whether the error message is user facing. If true, the error message will be shown in the UI."
        },
        "blueprintId": {
          "type": "string",
          "description": "reference to Blueprint Controller deployment and revision resource"
        },
        "errorLogs": {
          "type": "string",
          "description": "A link to actuation cloud build log."
        },
        "cloudbuildId": {
          "type": "string",
          "description": "Cloud Build instance UUID associated with this revision, without any suffix or prefix"
        },
        "ansibleError": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. error message return from ansible."
        }
      }
    },
    "SapSystemS4Config": {
      "description": "Message for sap system workload",
      "properties": {
        "sapBootDiskImage": {
          "description": "Optional. sap_boot_disk_image",
          "type": "string"
        },
        "vmPrefix": {
          "type": "string",
          "description": "vm_prefix"
        },
        "deploymentModel": {
          "description": "Required. two model non-HA and HA supported",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "DEPLOYMENT_MODEL_UNSPECIFIED",
            "DISTRIBUTED",
            "DISTRIBUTED_HA"
          ]
        },
        "onboardToObservability": {
          "type": "boolean",
          "description": "Optional. Specifies whether Workload Manager observability is enabled for this deployment."
        },
        "allowStoppingForUpdate": {
          "type": "boolean"
        },
        "ansibleRunnerServiceAccount": {
          "type": "string",
          "description": "Ansible runner service account - let custoemrs bring their own SA for Ansible runner"
        },
        "app": {
          "description": "instance details",
          "$ref": "AppDetails"
        },
        "gcpProjectId": {
          "type": "string",
          "description": "the project that infrastructure deployed, current only support the same project where the deployment resource exist."
        },
        "environmentType": {
          "description": "Required. deployment environment",
          "enum": [
            "ENVIRONMENT_TYPE_UNSPECIFIED",
            "NON_PRODUCTION",
            "PRODUCTION"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified environment type",
            "Non-production environment type",
            "Production environment type"
          ]
        },
        "mediaBucketName": {
          "description": "Required. media_bucket_name",
          "type": "string"
        },
        "scalingMethod": {
          "enum": [
            "SCALE_METHOD_UNSPECIFIED",
            "SCALE_UP",
            "SCALE_OUT"
          ],
          "type": "string",
          "enumDescriptions": [
            "",
            "Scale up: Increases the size of a physical machine by increasing the amount of RAM and CPU available for processing",
            "Scale out: Combines multiple independent computers into one system"
          ],
          "description": "Required. support scale up and scale out"
        },
        "version": {
          "description": "Required. sap hana version",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "enum": [
            "VERSION_UNSPECIFIED",
            "S4_HANA_2021",
            "S4_HANA_2022",
            "S4_HANA_2023"
          ]
        },
        "location": {
          "description": "database details",
          "$ref": "LocationDetails"
        },
        "database": {
          "$ref": "DatabaseDetails",
          "description": "database details"
        }
      },
      "id": "SapSystemS4Config",
      "type": "object"
    },
    "ListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "properties": {
        "unreachable": {
          "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "operations": {
          "type": "array",
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "Operation"
          }
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "id": "ListOperationsResponse",
      "type": "object"
    }
  },
  "id": "workloadmanager:v1alpha",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "get": {
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}",
              "description": "Gets information about a location.",
              "id": "workloadmanager.projects.locations.get",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "path": "v1alpha/{+name}",
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "Resource name for the location."
                }
              },
              "response": {
                "$ref": "Location"
              }
            },
            "list": {
              "path": "v1alpha/{+name}/locations",
              "parameters": {
                "name": {
                  "description": "The resource that owns the locations collection, if applicable.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "pageToken": {
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "location": "query",
                  "type": "string"
                },
                "filter": {
                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
                  "location": "query",
                  "type": "string"
                },
                "extraLocationTypes": {
                  "repeated": true,
                  "type": "string",
                  "location": "query",
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage."
                },
                "pageSize": {
                  "location": "query",
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "type": "integer",
                  "format": "int32"
                }
              },
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "httpMethod": "GET",
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1alpha/projects/{projectsId}/locations",
              "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.",
              "id": "workloadmanager.projects.locations.list"
            }
          },
          "resources": {
            "operations": {
              "methods": {
                "list": {
                  "httpMethod": "GET",
                  "id": "workloadmanager.projects.locations.operations.list",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "path": "v1alpha/{+name}/operations",
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "description": "The standard list page size.",
                      "type": "integer",
                      "format": "int32"
                    },
                    "returnPartialSuccess": {
                      "location": "query",
                      "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
                      "type": "boolean"
                    },
                    "filter": {
                      "description": "The standard list filter.",
                      "location": "query",
                      "type": "string"
                    },
                    "name": {
                      "description": "The name of the operation's parent resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path"
                    },
                    "pageToken": {
                      "description": "The standard list page token.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "path": "v1alpha/{+name}",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "The name of the operation resource to be deleted."
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "DELETE",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "workloadmanager.projects.locations.operations.delete"
                },
                "get": {
                  "response": {
                    "$ref": "Operation"
                  },
                  "path": "v1alpha/{+name}",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "id": "workloadmanager.projects.locations.operations.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service."
                },
                "cancel": {
                  "path": "v1alpha/{+name}:cancel",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The name of the operation resource to be cancelled."
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "POST",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "workloadmanager.projects.locations.operations.cancel"
                }
              }
            },
            "deployments": {
              "resources": {
                "actuations": {
                  "methods": {
                    "get": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1alpha/{+name}",
                      "parameters": {
                        "name": {
                          "description": "Required. Name of the resource",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+/actuations/[^/]+$",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "response": {
                        "$ref": "Actuation"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations/{actuationsId}",
                      "description": "Gets details of a single Actuation.",
                      "id": "workloadmanager.projects.locations.deployments.actuations.get",
                      "httpMethod": "GET"
                    },
                    "list": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "response": {
                        "$ref": "ListActuationsResponse"
                      },
                      "path": "v1alpha/{+parent}/actuations",
                      "parameters": {
                        "parent": {
                          "description": "Required. The resource prefix of the Actuation using the form: 'projects/{project_id}/locations/{location}/deployments/{deployment}'",
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "type": "integer",
                          "format": "int32",
                          "location": "query",
                          "description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default."
                        },
                        "filter": {
                          "type": "string",
                          "location": "query",
                          "description": "Filtering results"
                        },
                        "orderBy": {
                          "description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.",
                          "location": "query",
                          "type": "string"
                        },
                        "pageToken": {
                          "description": "A token identifying a page of results the server should return.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "id": "workloadmanager.projects.locations.deployments.actuations.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations",
                      "description": "Lists Actuations in a given project, location and deployment.",
                      "httpMethod": "GET"
                    },
                    "delete": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1alpha/{+name}",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+/actuations/[^/]+$",
                          "required": true,
                          "type": "string",
                          "description": "Required. The name of the book to delete. project/{project_id}/locations/{location_id}/deployments/{deployment_id}/actuations/{actuation_id}"
                        }
                      },
                      "response": {
                        "$ref": "Operation"
                      },
                      "parameterOrder": [
                        "name"
                      ],
                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations/{actuationsId}",
                      "description": "Deletes a single Actuation",
                      "id": "workloadmanager.projects.locations.deployments.actuations.delete",
                      "httpMethod": "DELETE"
                    },
                    "create": {
                      "httpMethod": "POST",
                      "id": "workloadmanager.projects.locations.deployments.actuations.create",
                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations",
                      "description": "Creates a new actuation for an existing Deployment.",
                      "parameterOrder": [
                        "parent"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "path": "v1alpha/{+parent}/actuations",
                      "parameters": {
                        "parent": {
                          "location": "path",
                          "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$",
                          "required": true,
                          "type": "string",
                          "description": "Required. The resource name of the Actuation location using the form: 'projects/{project_id}/locations/{location}/deployments/{deployment}'"
                        },
                        "requestId": {
                          "type": "string",
                          "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
                          "location": "query"
                        }
                      },
                      "request": {
                        "$ref": "Actuation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  }
                }
              },
              "methods": {
                "create": {
                  "httpMethod": "POST",
                  "id": "workloadmanager.projects.locations.deployments.create",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments",
                  "description": "Creates a new Deployment in a given project and location.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "path": "v1alpha/{+parent}/deployments",
                  "parameters": {
                    "requestId": {
                      "type": "string",
                      "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
                      "location": "query"
                    },
                    "deploymentId": {
                      "type": "string",
                      "location": "query",
                      "description": "Required. Id of the deployment"
                    },
                    "parent": {
                      "description": "Required. The resource prefix of the Deployment using the form: `projects/{project_id}/locations/{location_id}`",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "request": {
                    "$ref": "Deployment"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "list": {
                  "path": "v1alpha/{+parent}/deployments",
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "Required. The resource prefix of the Deployment using the form: `projects/{project_id}/locations/{location_id}`"
                    },
                    "pageSize": {
                      "description": "Requested page size. Server may return fewer items than requested. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "filter": {
                      "description": "Filter resource follow https://google.aip.dev/160",
                      "location": "query",
                      "type": "string"
                    },
                    "orderBy": {
                      "description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageToken": {
                      "location": "query",
                      "description": "A token identifying a page of results the server should return.",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "ListDeploymentsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments",
                  "description": "Lists Deployments in a given project and location.",
                  "id": "workloadmanager.projects.locations.deployments.list"
                },
                "delete": {
                  "httpMethod": "DELETE",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}",
                  "description": "Deletes a single Deployment.",
                  "id": "workloadmanager.projects.locations.deployments.delete",
                  "path": "v1alpha/{+name}",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "Required. Name of the resource"
                    },
                    "force": {
                      "location": "query",
                      "description": "If set to true, any actuation will also be deleted. Followed the best practice from https://aip.dev/135#cascading-delete",
                      "type": "boolean"
                    }
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}",
                  "description": "Gets details of a single Deployment.",
                  "id": "workloadmanager.projects.locations.deployments.get",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1alpha/{+name}",
                  "parameters": {
                    "name": {
                      "description": "Required. Name of the resource. The format will be 'projects/{project_id}/locations/{location_id}/deployments/{deployment_id}'",
                      "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "Deployment"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "parameters": {
    "quotaUser": {
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "alt": {
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "default": "json",
      "location": "query",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "type": "string"
    },
    "upload_protocol": {
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth access token."
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "location": "query"
    },
    "key": {
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query"
    },
    "callback": {
      "location": "query",
      "description": "JSONP",
      "type": "string"
    },
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "type": "string"
    }
  },
  "title": "Workload Manager API",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "baseUrl": "https://workloadmanager.googleapis.com/",
  "batchPath": "batch",
  "name": "workloadmanager",
  "discoveryVersion": "v1",
  "kind": "discovery#restDescription",
  "documentationLink": "https://cloud.google.com/workload-manager/docs",
  "ownerDomain": "google.com",
  "fullyEncodeReservedExpansion": true,
  "version_module": true,
  "basePath": "",
  "protocol": "rest",
  "ownerName": "Google",
  "mtlsRootUrl": "https://workloadmanager.mtls.googleapis.com/",
  "canonicalName": "Workload Manager",
  "rootUrl": "https://workloadmanager.googleapis.com/",
  "description": "Workload Manager is a service that provides tooling for enterprise workloads to automate the deployment and validation of your workloads against best practices and recommendations.",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "version": "v1alpha"
}
