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