{
  "revision": "20260916",
  "canonicalName": "Workload Manager",
  "id": "workloadmanager:v1alpha",
  "basePath": "",
  "baseUrl": "https://workloadmanager.googleapis.com/",
  "name": "workloadmanager",
  "servicePath": "",
  "version": "v1alpha",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "resources": {
            "operations": {
              "methods": {
                "delete": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1alpha/{+name}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "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",
                  "httpMethod": "DELETE",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "location": "path",
                      "description": "The name of the operation resource to be deleted.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  }
                },
                "cancel": {
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Empty"
                  },
                  "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`.",
                  "httpMethod": "POST",
                  "id": "workloadmanager.projects.locations.operations.cancel",
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "description": "The name of the operation resource to be cancelled.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string"
                    }
                  },
                  "path": "v1alpha/{+name}:cancel"
                },
                "get": {
                  "id": "workloadmanager.projects.locations.operations.get",
                  "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.",
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1alpha/{+name}",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string",
                      "description": "The name of the operation resource.",
                      "location": "path",
                      "required": true
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET"
                },
                "list": {
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string",
                      "description": "The name of the operation's parent resource.",
                      "required": true,
                      "location": "path"
                    },
                    "returnPartialSuccess": {
                      "type": "boolean",
                      "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.",
                      "location": "query"
                    },
                    "filter": {
                      "type": "string",
                      "location": "query",
                      "description": "The standard list filter."
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "The standard list page token."
                    },
                    "pageSize": {
                      "format": "int32",
                      "location": "query",
                      "description": "The standard list page size.",
                      "type": "integer"
                    }
                  },
                  "id": "workloadmanager.projects.locations.operations.list",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1alpha/{+name}/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"
                  ]
                }
              }
            },
            "deployments": {
              "methods": {
                "get": {
                  "description": "Gets details of a single Deployment.",
                  "httpMethod": "GET",
                  "id": "workloadmanager.projects.locations.deployments.get",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "description": "Required. Name of the resource. The format will be 'projects/{project_id}/locations/{location_id}/deployments/{deployment_id}'",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$",
                      "required": true
                    }
                  },
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1alpha/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Deployment"
                  }
                },
                "list": {
                  "path": "v1alpha/{+parent}/deployments",
                  "parameters": {
                    "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.",
                      "type": "integer",
                      "location": "query",
                      "format": "int32"
                    },
                    "orderBy": {
                      "description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "type": "string",
                      "description": "Required. The resource prefix of the Deployment using the form: `projects/{project_id}/locations/{location_id}`",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Filter resource follow https://google.aip.dev/160"
                    },
                    "pageToken": {
                      "type": "string",
                      "location": "query",
                      "description": "A token identifying a page of results the server should return."
                    }
                  },
                  "response": {
                    "$ref": "ListDeploymentsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments",
                  "id": "workloadmanager.projects.locations.deployments.list",
                  "description": "Lists Deployments in a given project and location.",
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "create": {
                  "description": "Creates a new Deployment in a given project and location.",
                  "id": "workloadmanager.projects.locations.deployments.create",
                  "httpMethod": "POST",
                  "path": "v1alpha/{+parent}/deployments",
                  "parameters": {
                    "requestId": {
                      "location": "query",
                      "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)."
                    },
                    "deploymentId": {
                      "type": "string",
                      "description": "Required. Id of the deployment",
                      "location": "query"
                    },
                    "parent": {
                      "description": "Required. The resource prefix of the Deployment using the form: `projects/{project_id}/locations/{location_id}`",
                      "type": "string",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "request": {
                    "$ref": "Deployment"
                  },
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments"
                },
                "delete": {
                  "description": "Deletes a single Deployment.",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "force": {
                      "location": "query",
                      "type": "boolean",
                      "description": "If set to true, any actuation will also be deleted. Followed the best practice from https://aip.dev/135#cascading-delete"
                    },
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$",
                      "location": "path",
                      "required": true,
                      "description": "Required. Name of the resource",
                      "type": "string"
                    }
                  },
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}",
                  "id": "workloadmanager.projects.locations.deployments.delete",
                  "path": "v1alpha/{+name}"
                }
              },
              "resources": {
                "actuations": {
                  "methods": {
                    "get": {
                      "description": "Gets details of a single Actuation.",
                      "parameters": {
                        "name": {
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+/actuations/[^/]+$",
                          "location": "path",
                          "required": true,
                          "description": "Required. Name of the resource"
                        }
                      },
                      "httpMethod": "GET",
                      "id": "workloadmanager.projects.locations.deployments.actuations.get",
                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations/{actuationsId}",
                      "path": "v1alpha/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Actuation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "list": {
                      "response": {
                        "$ref": "ListActuationsResponse"
                      },
                      "path": "v1alpha/{+parent}/actuations",
                      "parameters": {
                        "orderBy": {
                          "type": "string",
                          "description": "Field to sort by. See https://google.aip.dev/132#ordering for more details.",
                          "location": "query"
                        },
                        "parent": {
                          "required": true,
                          "description": "Required. The resource prefix of the Actuation using the form: 'projects/{project_id}/locations/{location}/deployments/{deployment}'",
                          "location": "path",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$"
                        },
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "description": "Filtering results"
                        },
                        "pageToken": {
                          "type": "string",
                          "description": "A token identifying a page of results the server should return.",
                          "location": "query"
                        },
                        "pageSize": {
                          "format": "int32",
                          "type": "integer",
                          "description": "Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
                          "location": "query"
                        }
                      },
                      "id": "workloadmanager.projects.locations.deployments.actuations.list",
                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations",
                      "httpMethod": "GET",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "description": "Lists Actuations in a given project, location and deployment."
                    },
                    "create": {
                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations",
                      "id": "workloadmanager.projects.locations.deployments.actuations.create",
                      "description": "Creates a new actuation for an existing Deployment.",
                      "response": {
                        "$ref": "Operation"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "parameters": {
                        "parent": {
                          "location": "path",
                          "required": true,
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+$",
                          "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"
                        }
                      },
                      "httpMethod": "POST",
                      "request": {
                        "$ref": "Actuation"
                      },
                      "path": "v1alpha/{+parent}/actuations"
                    },
                    "delete": {
                      "httpMethod": "DELETE",
                      "parameters": {
                        "name": {
                          "location": "path",
                          "description": "Required. The name of the book to delete. project/{project_id}/locations/{location_id}/deployments/{deployment_id}/actuations/{actuation_id}",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/deployments/[^/]+/actuations/[^/]+$",
                          "type": "string"
                        }
                      },
                      "id": "workloadmanager.projects.locations.deployments.actuations.delete",
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "path": "v1alpha/{+name}",
                      "parameterOrder": [
                        "name"
                      ],
                      "response": {
                        "$ref": "Operation"
                      },
                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/deployments/{deploymentsId}/actuations/{actuationsId}",
                      "description": "Deletes a single Actuation"
                    }
                  }
                }
              }
            }
          },
          "methods": {
            "list": {
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "description": "The resource that owns the locations collection, if applicable.",
                  "pattern": "^projects/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "required": true
                },
                "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).",
                  "type": "string",
                  "location": "query"
                },
                "pageSize": {
                  "type": "integer",
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "location": "query",
                  "format": "int32"
                },
                "extraLocationTypes": {
                  "type": "string",
                  "location": "query",
                  "repeated": true,
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage."
                },
                "pageToken": {
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "type": "string",
                  "location": "query"
                }
              },
              "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.",
              "parameterOrder": [
                "name"
              ],
              "path": "v1alpha/{+name}/locations",
              "flatPath": "v1alpha/projects/{projectsId}/locations",
              "id": "workloadmanager.projects.locations.list",
              "response": {
                "$ref": "ListLocationsResponse"
              }
            },
            "get": {
              "description": "Gets information about a location.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "location": "path",
                  "required": true,
                  "description": "Resource name for the location.",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Location"
              },
              "path": "v1alpha/{+name}",
              "id": "workloadmanager.projects.locations.get",
              "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}"
            }
          }
        }
      }
    }
  },
  "protocol": "rest",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ],
      "location": "query",
      "type": "string"
    },
    "alt": {
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "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"
    },
    "key": {
      "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.",
      "type": "string",
      "location": "query"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "quotaUser": {
      "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",
      "type": "string"
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "prettyPrint": {
      "default": "true",
      "type": "boolean",
      "location": "query",
      "description": "Returns response with indentations and line breaks."
    },
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    },
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    }
  },
  "ownerName": "Google",
  "schemas": {
    "Deployment": {
      "id": "Deployment",
      "type": "object",
      "description": "The Deployment object represents user intent for deploying a specific type of workload.",
      "properties": {
        "workloadType": {
          "description": "Optional. Workload type of the deployment",
          "enum": [
            "WORKLOAD_TYPE_UNSPECIFIED",
            "SAP_S4",
            "SQL_SERVER",
            "ORACLE"
          ],
          "type": "string",
          "enumDescriptions": [
            "Unspecified workload type",
            "SAP S/4HANA workload type",
            "SQL Server workload type",
            "Oracle workload type"
          ]
        },
        "sqlServerWorkload": {
          "description": "MS SQL workload input",
          "$ref": "SqlServerWorkload"
        },
        "sapSystemS4Config": {
          "description": "SAP system workload input",
          "$ref": "SapSystemS4Config"
        },
        "name": {
          "description": "The name of deployment resource. The format will be 'projects/{project_id}/locations/{location_id}/deployments/{deployment_id}'",
          "type": "string"
        },
        "description": {
          "description": "Description of the Deployment",
          "type": "string"
        },
        "terraformVariables": {
          "type": "object",
          "additionalProperties": {
            "$ref": "TerraformVariable"
          },
          "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\" } } }"
        },
        "state": {
          "type": "string",
          "enum": [
            "STATE_UNSPECIFIED",
            "CREATING",
            "ACTIVE",
            "UPDATING",
            "DELETING",
            "FAILED"
          ],
          "description": "Output only. Current state of the deployment.",
          "readOnly": true,
          "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."
          ]
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. [Output only] Create time stamp"
        },
        "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."
        },
        "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"
        },
        "updateTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. [Output only] Update time stamp"
        }
      }
    },
    "SqlServerWorkload": {
      "description": "Message for MS SQL workload",
      "id": "SqlServerWorkload",
      "properties": {
        "environmentType": {
          "enum": [
            "ENVIRONMENT_TYPE_UNSPECIFIED",
            "NON_PRODUCTION",
            "PRODUCTION"
          ],
          "description": "Required. deployment environment",
          "enumDescriptions": [
            "Unspecified environment type",
            "Non-production environment type",
            "Production environment type"
          ],
          "type": "string"
        },
        "operatingSystemType": {
          "enum": [
            "OPERATING_SYSTEM_TYPE_UNSPECIFIED",
            "WINDOWS",
            "UBUNTU",
            "RED_HAT_ENTERPRISE_LINUX",
            "SUSE"
          ],
          "type": "string",
          "description": "Required. type of the operating system the SQL server is going to run on top of",
          "enumDescriptions": [
            "Unspecified operating system type",
            "Windows operating system type",
            "Ubuntu operating system type",
            "Red Hat Enterprise Linux operating system type",
            "Suse operating system type"
          ]
        },
        "fciType": {
          "description": "Optional. SHARED_DISK or S2D",
          "enumDescriptions": [
            "Unspecified FCI type",
            "SHARED DISK FCI type",
            "S2D FCI type"
          ],
          "type": "string",
          "enum": [
            "FCI_TYPE_UNSPECIFIED",
            "SHARED_DISK",
            "S2D"
          ]
        },
        "osImage": {
          "type": "string",
          "description": "Required. the image of the operating system"
        },
        "deploymentModel": {
          "description": "Required. HIGH_AVAILABILITY or SINGLE_INSTANCE",
          "enumDescriptions": [
            "Unspecified deployment model",
            "High Availability deployment model",
            "Single Instance deployment model"
          ],
          "enum": [
            "DEPLOYMENT_MODEL_UNSPECIFIED",
            "HIGH_AVAILABILITY",
            "SINGLE_INSTANCE"
          ],
          "type": "string"
        },
        "osImageType": {
          "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",
          "type": "string",
          "enum": [
            "OS_IMAGE_TYPE_UNSPECIFIED",
            "PUBLIC_IMAGE",
            "CUSTOM_IMAGE"
          ]
        },
        "pacemaker": {
          "$ref": "Pacemaker",
          "description": "Optional. pacemaker configuration, only applicable for Linux HA deployments"
        },
        "activeDirectory": {
          "$ref": "ActiveDirectory",
          "description": "Required. active directory details"
        },
        "vmPrefix": {
          "description": "Required. should be unique in the project",
          "type": "string"
        },
        "haType": {
          "type": "string",
          "description": "Optional. AOAG or FCI, it is only needed for High Availability deployment mode",
          "enum": [
            "HA_TYPE_UNSPECIFIED",
            "AOAG",
            "FCI"
          ],
          "enumDescriptions": [
            "Unspecified HA type",
            "AOAG HA type",
            "FCI HA type"
          ]
        },
        "location": {
          "description": "Required. location details",
          "$ref": "SqlLocationDetails"
        },
        "computeEngineServiceAccount": {
          "description": "Compute engine service account - let customers bring their own SA for Compute engine",
          "type": "string"
        },
        "sqlServerVersion": {
          "enumDescriptions": [
            "Unspecified type",
            "2017 type",
            "2019 type",
            "2022 type"
          ],
          "enum": [
            "SQL_SERVER_VERSION_TYPE_UNSPECIFIED",
            "SQL_SERVER_VERSION_TYPE_2017",
            "SQL_SERVER_VERSION_TYPE_2019",
            "SQL_SERVER_VERSION_TYPE_2022"
          ],
          "type": "string",
          "description": "Optional. 2017 or 2019 or 2022"
        },
        "sqlServerEdition": {
          "enumDescriptions": [
            "Unspecified type",
            "Developer type",
            "Enterprise type",
            "Standard type",
            "Web type"
          ],
          "type": "string",
          "description": "Optional. SQL Server Edition type, only applicable when Operating System is Linux",
          "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"
          ]
        },
        "isSqlPayg": {
          "type": "boolean",
          "description": "Required. SQL licensing type"
        },
        "database": {
          "$ref": "Database",
          "description": "Required. database details"
        },
        "mediaBucket": {
          "description": "Required. name of the media storing SQL server installation files",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListActuationsResponse": {
      "properties": {
        "unreachable": {
          "type": "array",
          "description": "Locations that could not be reached.",
          "items": {
            "type": "string"
          }
        },
        "actuations": {
          "description": "The list of Actuation",
          "type": "array",
          "items": {
            "$ref": "Actuation"
          }
        },
        "nextPageToken": {
          "type": "string",
          "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."
        }
      },
      "id": "ListActuationsResponse",
      "description": "The response object from `ListActuations`.",
      "type": "object"
    },
    "DeploymentOutput": {
      "id": "DeploymentOutput",
      "description": "Message for output of deployment resource",
      "properties": {
        "name": {
          "description": "name of the resource",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "type of the resource"
        }
      },
      "type": "object"
    },
    "ActiveDirectory": {
      "description": "Active directory details",
      "properties": {
        "dnsAddress": {
          "description": "Optional. DNS IP address",
          "type": "string"
        },
        "domain": {
          "description": "Optional. human readable form of a domain such as “google.com”.",
          "type": "string"
        },
        "secretManagerSecret": {
          "description": "Required. secret_manager_secret",
          "type": "string"
        },
        "domainUsername": {
          "type": "string",
          "description": "Optional. domain username"
        },
        "type": {
          "enumDescriptions": [
            "Unspecified active directory type",
            "GCP managed active directory type",
            "Self managed active directory type"
          ],
          "enum": [
            "ACTIVE_DIRECTORY_TYPE_UNSPECIFIED",
            "GCP_MANAGED",
            "SELF_MANAGED"
          ],
          "type": "string",
          "description": "Required. active directory type"
        }
      },
      "type": "object",
      "id": "ActiveDirectory"
    },
    "ListLocationsResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "locations": {
          "description": "A list of locations that matches the specified filter in the request.",
          "type": "array",
          "items": {
            "$ref": "Location"
          }
        }
      },
      "id": "ListLocationsResponse",
      "description": "The response message for Locations.ListLocations."
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "id": "Operation",
      "properties": {
        "metadata": {
          "type": "object",
          "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.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "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"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "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`.",
          "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"
        }
      },
      "type": "object"
    },
    "AppDetails": {
      "id": "AppDetails",
      "properties": {
        "ersInstanceId": {
          "description": "Optional. instance id for ers",
          "type": "string"
        },
        "sid": {
          "description": "Required. The SAP SID is a three-digit server-specific unique identification code.",
          "type": "string"
        },
        "appServiceAccount": {
          "description": "Application service account - let custoemrs bring their own SA for application",
          "type": "string"
        },
        "ascsMachineType": {
          "type": "string",
          "description": "Required. ascs_machine_type"
        },
        "image": {
          "description": "Required. image for app server and ascs server",
          "type": "string"
        },
        "ascsImage": {
          "type": "string",
          "description": "Required. image for ascs server"
        },
        "ascsInstanceId": {
          "description": "Optional. instance id for ascs",
          "type": "string"
        },
        "appInstanceId": {
          "type": "string",
          "description": "Optional. instance id for app"
        },
        "appVmNames": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. Customized vm names"
        },
        "ersVm": {
          "description": "Optional. ERS vm name",
          "type": "string"
        },
        "machineType": {
          "description": "Required. machine type",
          "type": "string"
        },
        "ascsVm": {
          "type": "string",
          "description": "Optional. ASCS vm name"
        },
        "secretManagerSecret": {
          "type": "string",
          "description": "Required. secret_manager_secret"
        },
        "vmsMultiplier": {
          "type": "integer",
          "description": "Required. vms_multiplier",
          "format": "int32"
        },
        "sharedStorage": {
          "description": "Optional. Storage location",
          "type": "string"
        },
        "ascsServiceAccount": {
          "description": "ASCS service account - let custoemrs bring their own SA for ASCS",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Message for sap instant details"
    },
    "DatabaseDetails": {
      "properties": {
        "instanceId": {
          "description": "Optional. instance id",
          "type": "string"
        },
        "secretManagerSecret": {
          "type": "string",
          "description": "Required. secret_manager_secret"
        },
        "databaseServiceAccount": {
          "description": "Database service account - let custoemrs bring their own SA for database",
          "type": "string"
        },
        "machineType": {
          "description": "Required. machine type",
          "type": "string"
        },
        "primaryDbVm": {
          "description": "Optional. primary db vm name",
          "type": "string"
        },
        "diskType": {
          "type": "string",
          "description": "Required. disk_type"
        },
        "sid": {
          "type": "string",
          "description": "Required. The SID is a three-digit server-specific unique identification code."
        },
        "secondaryDbVm": {
          "type": "string",
          "description": "Optional. secondary db vm name"
        },
        "image": {
          "description": "Required. image for database server",
          "type": "string"
        }
      },
      "description": "Message for sap instant details",
      "type": "object",
      "id": "DatabaseDetails"
    },
    "SqlLocationDetails": {
      "type": "object",
      "properties": {
        "region": {
          "description": "Required. region name",
          "type": "string"
        },
        "gcpProjectId": {
          "type": "string",
          "description": "Required. the project that infrastructure deployed, currently only supports the same project where the deployment resource exists."
        },
        "network": {
          "type": "string",
          "description": "Required. network name"
        },
        "secondaryZone": {
          "description": "Optional. secondary zone can't be same as primary_zone and is only for High Availability deployment mode",
          "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"
        },
        "primaryZone": {
          "description": "Required. primary zone",
          "type": "string"
        },
        "subnetwork": {
          "type": "string",
          "description": "Required. subnetwork name"
        },
        "internetAccess": {
          "enum": [
            "INTERNET_ACCESS_UNSPECIFIED",
            "ALLOW_EXTERNAL_IP",
            "CONFIGURE_NAT"
          ],
          "description": "Required. Internet Access",
          "enumDescriptions": [
            "Unspecified internet access",
            "Allow external IP",
            "Configure NAT"
          ],
          "type": "string"
        },
        "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"
        }
      },
      "id": "SqlLocationDetails",
      "description": "Location and networking details for configuring SQL server workload"
    },
    "LocationDetails": {
      "properties": {
        "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": {
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "INTERNETACCESS_UNSPECIFIED",
            "ALLOW_EXTERNAL_IP",
            "CONFIGURE_NAT"
          ]
        },
        "zone1Name": {
          "description": "Required. zone1_name",
          "type": "string"
        },
        "zone2Name": {
          "description": "Optional. zone2_name",
          "type": "string"
        },
        "vpcName": {
          "description": "Required. vpc_name",
          "type": "string"
        },
        "dnsZoneNameSuffix": {
          "description": "Optional. dns_zone_name_suffix",
          "type": "string"
        },
        "subnetName": {
          "description": "Required. subnet_name",
          "type": "string"
        },
        "networkProject": {
          "description": "Optional. network project",
          "type": "string"
        },
        "customTags": {
          "description": "Optional. network tags",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "dnsZone": {
          "type": "string",
          "description": "Optional. dns zone name"
        },
        "regionName": {
          "type": "string",
          "description": "Required. region_name"
        },
        "deploymentDnsEnabled": {
          "description": "Optional. when user skip DNS configuration from UI, deployment_dns_enabled=false otherwise deployment_dns_enabled=true",
          "type": "boolean"
        }
      },
      "description": "Message for sap instant details",
      "id": "LocationDetails",
      "type": "object"
    },
    "ReconciliationOperationMetadata": {
      "type": "object",
      "properties": {
        "deleteResource": {
          "deprecated": true,
          "description": "DEPRECATED. Use exclusive_action instead.",
          "type": "boolean"
        },
        "exclusiveAction": {
          "enumDeprecated": [
            false,
            true,
            false
          ],
          "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."
          ],
          "enum": [
            "UNKNOWN_REPAIR_ACTION",
            "DELETE",
            "RETRY"
          ],
          "type": "string",
          "description": "Excluisive action returned by the CLH."
        }
      },
      "description": "Operation metadata returned by the CLH during resource state reconciliation.",
      "id": "ReconciliationOperationMetadata"
    },
    "ActuationOutput": {
      "properties": {
        "terraformTemplate": {
          "description": "reference to terraform template used",
          "type": "string"
        },
        "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"
          ],
          "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"
          ],
          "readOnly": true,
          "type": "string",
          "description": "Output only. Code describing any errors that may have occurred. If not specified, there is no error in actuation."
        },
        "terraformError": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. error message return from terraform."
        },
        "blueprintId": {
          "description": "reference to Blueprint Controller deployment and revision resource",
          "type": "string"
        },
        "hasUserFacingErrorMsg": {
          "description": "Output only. whether the error message is user facing. If true, the error message will be shown in the UI.",
          "type": "boolean",
          "readOnly": true
        },
        "ansibleError": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. error message return from ansible."
        },
        "cloudbuildId": {
          "description": "Cloud Build instance UUID associated with this revision, without any suffix or prefix",
          "type": "string"
        },
        "ansibleFailedTask": {
          "readOnly": true,
          "items": {
            "type": "string"
          },
          "description": "Output only. failed task name return from ansible.",
          "type": "array"
        },
        "errorLogs": {
          "type": "string",
          "description": "A link to actuation cloud build log."
        }
      },
      "description": "Message for output of Actuation",
      "id": "ActuationOutput",
      "type": "object"
    },
    "Actuation": {
      "id": "Actuation",
      "description": "The Actuation object represents the bootstrap state and output results of deployed infrastructure and software.",
      "properties": {
        "endTime": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. [Output only] End time stamp",
          "format": "google-datetime"
        },
        "deploymentOutput": {
          "description": "Output only. [Output only] Deployment output",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "DeploymentOutput"
          }
        },
        "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"
          ],
          "type": "string",
          "description": "Output only. [Output only] Actuation state",
          "enum": [
            "STATE_UNSPECIFIED",
            "INFRA_CREATING",
            "SUCCEEDED",
            "FAILED",
            "POST_INFRA_CONFIGURING",
            "INFRA_DESTROYING",
            "TIMEOUT"
          ]
        },
        "name": {
          "type": "string",
          "description": "The name of actuation resource. The format is projects/{project}/locations/{location}/deployments/{deployment}/actuations/{actuation}"
        },
        "startTime": {
          "readOnly": true,
          "description": "Output only. [Output only] Start time stamp",
          "format": "google-datetime",
          "type": "string"
        },
        "actuationOutput": {
          "description": "Output only. [Output only] Actuation output",
          "$ref": "ActuationOutput",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "Status": {
      "type": "object",
      "properties": {
        "details": {
          "items": {
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            },
            "type": "object"
          },
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "type": "array"
        },
        "code": {
          "format": "int32",
          "type": "integer",
          "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"
        }
      },
      "id": "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)."
    },
    "Database": {
      "id": "Database",
      "description": "Database details",
      "properties": {
        "secondarySoleTenantNodeType": {
          "type": "string",
          "description": "Optional. the type of a secondary-sole-tenant node/node group e.g. compute.googleapis.com/node-name"
        },
        "machineType": {
          "description": "Required. machine type",
          "type": "string"
        },
        "secondarySoleTenantNode": {
          "description": "Optional. the name of a secondary-sole-tenant node/node group",
          "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"
        },
        "tempdbOnSsd": {
          "description": "Required. whether to have TempDB on local SSD",
          "type": "boolean"
        },
        "tenancyModel": {
          "description": "Required. SHARED or SOLE_TENANT",
          "enum": [
            "TENANCY_MODEL_UNSPECIFIED",
            "SHARED",
            "SOLE_TENANT"
          ],
          "enumDescriptions": [
            "Unspecified tenancy model",
            "Shared tenancy model",
            "Sole Tenant tenancy model"
          ],
          "type": "string"
        },
        "soleTenantNode": {
          "description": "Optional. the name of a primary sole-tenant node/node group",
          "type": "string"
        },
        "secretManagerSecret": {
          "description": "Required. secret_manager_secret",
          "type": "string"
        },
        "diskType": {
          "description": "Required. disk_type",
          "type": "string"
        },
        "soleTenantNodeType": {
          "description": "Optional. the type of a primary sole-tenant node/node group e.g. compute.googleapis.com/node-name",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SapSystemS4Config": {
      "id": "SapSystemS4Config",
      "properties": {
        "version": {
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "description": "Required. sap hana version",
          "enum": [
            "VERSION_UNSPECIFIED",
            "S4_HANA_2021",
            "S4_HANA_2022",
            "S4_HANA_2023"
          ],
          "type": "string"
        },
        "app": {
          "description": "instance details",
          "$ref": "AppDetails"
        },
        "vmPrefix": {
          "description": "vm_prefix",
          "type": "string"
        },
        "allowStoppingForUpdate": {
          "type": "boolean"
        },
        "ansibleRunnerServiceAccount": {
          "type": "string",
          "description": "Ansible runner service account - let custoemrs bring their own SA for Ansible runner"
        },
        "deploymentModel": {
          "type": "string",
          "description": "Required. two model non-HA and HA supported",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "DEPLOYMENT_MODEL_UNSPECIFIED",
            "DISTRIBUTED",
            "DISTRIBUTED_HA"
          ]
        },
        "mediaBucketName": {
          "type": "string",
          "description": "Required. media_bucket_name"
        },
        "onboardToObservability": {
          "description": "Optional. Specifies whether Workload Manager observability is enabled for this deployment.",
          "type": "boolean"
        },
        "database": {
          "$ref": "DatabaseDetails",
          "description": "database details"
        },
        "location": {
          "$ref": "LocationDetails",
          "description": "database details"
        },
        "scalingMethod": {
          "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"
          ],
          "enum": [
            "SCALE_METHOD_UNSPECIFIED",
            "SCALE_UP",
            "SCALE_OUT"
          ],
          "description": "Required. support scale up and scale out"
        },
        "sapBootDiskImage": {
          "type": "string",
          "description": "Optional. sap_boot_disk_image"
        },
        "environmentType": {
          "enum": [
            "ENVIRONMENT_TYPE_UNSPECIFIED",
            "NON_PRODUCTION",
            "PRODUCTION"
          ],
          "description": "Required. deployment environment",
          "type": "string",
          "enumDescriptions": [
            "Unspecified environment type",
            "Non-production environment type",
            "Production environment type"
          ]
        },
        "gcpProjectId": {
          "type": "string",
          "description": "the project that infrastructure deployed, current only support the same project where the deployment resource exist."
        }
      },
      "description": "Message for sap system workload",
      "type": "object"
    },
    "OperationMetadata": {
      "id": "OperationMetadata",
      "description": "Represents the metadata of the long-running operation.",
      "properties": {
        "statusMessage": {
          "description": "Output only. Human-readable status of the operation, if any.",
          "type": "string",
          "readOnly": true
        },
        "createTime": {
          "type": "string",
          "description": "Output only. The time the operation was created.",
          "readOnly": true,
          "format": "google-datetime"
        },
        "target": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. Server-defined resource path for the target of the operation."
        },
        "verb": {
          "description": "Output only. Name of the verb executed by the operation.",
          "type": "string",
          "readOnly": true
        },
        "apiVersion": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. API version used to start the operation."
        },
        "endTime": {
          "description": "Output only. The time the operation finished running.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "requestedCancellation": {
          "readOnly": true,
          "type": "boolean",
          "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`."
        }
      },
      "type": "object"
    },
    "Empty": {
      "id": "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": {},
      "type": "object"
    },
    "Location": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`"
        },
        "locationId": {
          "type": "string",
          "description": "The canonical id for this location. For example: `\"us-east1\"`."
        },
        "labels": {
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "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"
        },
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        }
      },
      "type": "object",
      "description": "A resource that represents a Google Cloud location.",
      "id": "Location"
    },
    "TerraformVariable": {
      "id": "TerraformVariable",
      "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": {
          "description": "Optional. Input variable value.",
          "type": "any"
        }
      },
      "type": "object"
    },
    "ListDeploymentsResponse": {
      "id": "ListDeploymentsResponse",
      "description": "Message for response to listing Deployments",
      "type": "object",
      "properties": {
        "unreachable": {
          "description": "Locations that could not be reached.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "deployments": {
          "type": "array",
          "items": {
            "$ref": "Deployment"
          },
          "description": "The list of Deployment"
        },
        "nextPageToken": {
          "type": "string",
          "description": "A token identifying a page of results the server should return."
        }
      }
    },
    "Pacemaker": {
      "description": "pacemaker configuration",
      "properties": {
        "bucketNameNodeCertificates": {
          "description": "Required. bucket location for node certificates",
          "type": "string"
        },
        "pacemakerClusterUsername": {
          "type": "string",
          "description": "Required. pacemaker cluster username"
        },
        "pacemakerClusterSecret": {
          "description": "Required. pacemaker cluster secret name",
          "type": "string"
        },
        "sqlPacemakerUsername": {
          "description": "Required. sql pacemaker username",
          "type": "string"
        },
        "pacemakerCluster": {
          "type": "string",
          "description": "Required. pacemaker cluster name"
        },
        "sqlPacemakerSecret": {
          "type": "string",
          "description": "Required. sql pacemaker secret name"
        }
      },
      "id": "Pacemaker",
      "type": "object"
    },
    "ListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "type": "object",
      "properties": {
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "Operation"
          },
          "type": "array"
        },
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "unreachable": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "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."
        }
      },
      "id": "ListOperationsResponse"
    },
    "CancelOperationRequest": {
      "id": "CancelOperationRequest",
      "type": "object",
      "properties": {},
      "description": "The request message for Operations.CancelOperation."
    }
  },
  "ownerDomain": "google.com",
  "kind": "discovery#restDescription",
  "fullyEncodeReservedExpansion": true,
  "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.",
  "batchPath": "batch",
  "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"
  },
  "documentationLink": "https://cloud.google.com/workload-manager/docs",
  "version_module": true,
  "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."
        }
      }
    }
  },
  "discoveryVersion": "v1",
  "rootUrl": "https://workloadmanager.googleapis.com/",
  "mtlsRootUrl": "https://workloadmanager.mtls.googleapis.com/"
}
