{
  "ownerDomain": "google.com",
  "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"
  },
  "baseUrl": "https://workloadidentity.googleapis.com/",
  "canonicalName": "Workload Identity API",
  "servicePath": "",
  "discoveryVersion": "v1",
  "version": "v1",
  "schemas": {
    "Status": {
      "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).",
      "type": "object",
      "properties": {
        "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"
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          }
        }
      }
    },
    "Operation": {
      "properties": {
        "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": {
          "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": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "metadata": {
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        },
        "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"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        }
      },
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "type": "object",
      "id": "Operation"
    },
    "OperationMetadata": {
      "type": "object",
      "properties": {
        "endTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time the operation finished running."
        },
        "verb": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Name of the verb executed by the operation."
        },
        "apiVersion": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. API version used to start the operation."
        },
        "statusMessage": {
          "readOnly": true,
          "description": "Output only. Human-readable status of the operation, if any.",
          "type": "string"
        },
        "target": {
          "type": "string",
          "description": "Output only. Server-defined resource path for the target of the operation.",
          "readOnly": true
        },
        "requestedCancellation": {
          "readOnly": true,
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
          "type": "boolean"
        },
        "createTime": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The time the operation was created.",
          "format": "google-datetime"
        }
      },
      "id": "OperationMetadata",
      "description": "Represents the metadata of the long-running operation."
    },
    "Empty": {
      "properties": {},
      "type": "object",
      "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"
    },
    "Location": {
      "id": "Location",
      "type": "object",
      "description": "A resource that represents a Google Cloud location.",
      "properties": {
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "locationId": {
          "type": "string",
          "description": "The canonical id for this location. For example: `\"us-east1\"`."
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}"
        },
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Service-specific metadata. For example the available capacity at the given location.",
          "type": "object"
        }
      }
    },
    "CancelOperationRequest": {
      "id": "CancelOperationRequest",
      "properties": {},
      "type": "object",
      "description": "The request message for Operations.CancelOperation."
    },
    "ListOperationsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "operations": {
          "type": "array",
          "items": {
            "$ref": "Operation"
          },
          "description": "A list of operations that matches the specified filter in the request."
        },
        "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."
        }
      },
      "description": "The response message for Operations.ListOperations.",
      "id": "ListOperationsResponse",
      "type": "object"
    },
    "ListLocationsResponse": {
      "id": "ListLocationsResponse",
      "type": "object",
      "properties": {
        "locations": {
          "description": "A list of locations that matches the specified filter in the request.",
          "items": {
            "$ref": "Location"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "description": "The response message for Locations.ListLocations."
    },
    "GenerateServiceAgentsRequest": {
      "id": "GenerateServiceAgentsRequest",
      "properties": {},
      "description": "Message for creating all ServiceAgents for a ServiceProducer in a project and location.",
      "type": "object"
    }
  },
  "documentationLink": "https://docs.cloud.google.com/iam/docs/service-agents",
  "title": "Workload Identity API",
  "parameters": {
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "uploadType": {
      "location": "query",
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "access_token": {
      "description": "OAuth access token.",
      "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"
    },
    "fields": {
      "location": "query",
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "location": "query"
    },
    "alt": {
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "default": "json",
      "type": "string",
      "enum": [
        "json",
        "media",
        "proto"
      ]
    },
    "$.xgafv": {
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "description": "V1 error format.",
      "type": "string",
      "enum": [
        "1",
        "2"
      ],
      "location": "query"
    },
    "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."
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    }
  },
  "name": "workloadidentity",
  "description": "",
  "rootUrl": "https://workloadidentity.googleapis.com/",
  "protocol": "rest",
  "fullyEncodeReservedExpansion": true,
  "resources": {
    "organizations": {
      "resources": {
        "locations": {
          "resources": {
            "operations": {
              "methods": {
                "get": {
                  "httpMethod": "GET",
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "description": "The name of the operation resource.",
                      "required": true
                    }
                  },
                  "id": "workloadidentity.organizations.locations.operations.get",
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "Operation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "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."
                },
                "delete": {
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}",
                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                  "parameters": {
                    "name": {
                      "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "required": true,
                      "description": "The name of the operation resource to be deleted."
                    }
                  },
                  "path": "v1/{+name}",
                  "id": "workloadidentity.organizations.locations.operations.delete",
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "DELETE"
                },
                "cancel": {
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "httpMethod": "POST",
                  "id": "workloadidentity.organizations.locations.operations.cancel",
                  "response": {
                    "$ref": "Empty"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1/{+name}:cancel",
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "The name of the operation resource to be cancelled.",
                      "location": "path",
                      "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "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`."
                },
                "list": {
                  "httpMethod": "GET",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations",
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "id": "workloadidentity.organizations.locations.operations.list",
                  "parameters": {
                    "filter": {
                      "description": "The standard list filter.",
                      "type": "string",
                      "location": "query"
                    },
                    "pageSize": {
                      "format": "int32",
                      "description": "The standard list page size.",
                      "type": "integer",
                      "location": "query"
                    },
                    "pageToken": {
                      "description": "The standard list page token.",
                      "type": "string",
                      "location": "query"
                    },
                    "returnPartialSuccess": {
                      "location": "query",
                      "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
                      "type": "boolean"
                    },
                    "name": {
                      "location": "path",
                      "required": true,
                      "pattern": "^organizations/[^/]+/locations/[^/]+$",
                      "description": "The name of the operation's parent resource.",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}/operations"
                }
              }
            },
            "serviceProducers": {
              "methods": {
                "generateServiceAgents": {
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "workloadidentity.organizations.locations.serviceProducers.generateServiceAgents",
                  "path": "v1/{+parent}:generateServiceAgents",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "parent": {
                      "pattern": "^organizations/[^/]+/locations/[^/]+/serviceProducers/[^/]+$",
                      "required": true,
                      "description": "Required. The parent resource. The `location` for the parent resource must be `global`. Examples: - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com - organizations/3344/locations/global/serviceProducers/iam.googleapis.com",
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "request": {
                    "$ref": "GenerateServiceAgentsRequest"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "POST",
                  "description": "Creates all service agents for a given resource, location and service producer.",
                  "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/serviceProducers/{serviceProducersId}:generateServiceAgents"
                }
              }
            }
          },
          "methods": {
            "get": {
              "httpMethod": "GET",
              "id": "workloadidentity.organizations.locations.get",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Location"
              },
              "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}",
              "description": "Gets information about a location.",
              "path": "v1/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "type": "string",
                  "pattern": "^organizations/[^/]+/locations/[^/]+$",
                  "required": true,
                  "description": "Resource name for the location.",
                  "location": "path"
                }
              }
            },
            "list": {
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "parameters": {
                "filter": {
                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "type": "integer",
                  "format": "int32",
                  "location": "query",
                  "description": "The maximum number of results to return. If not set, the service selects a default."
                },
                "extraLocationTypes": {
                  "repeated": true,
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "pattern": "^organizations/[^/]+$",
                  "location": "path",
                  "description": "The resource that owns the locations collection, if applicable.",
                  "required": true
                },
                "pageToken": {
                  "type": "string",
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "location": "query"
                }
              },
              "path": "v1/{+name}/locations",
              "id": "workloadidentity.organizations.locations.list",
              "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"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "httpMethod": "GET",
              "flatPath": "v1/organizations/{organizationsId}/locations"
            }
          }
        }
      }
    },
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "list": {
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "format": "int32",
                  "type": "integer",
                  "description": "The maximum number of results to return. If not set, the service selects a default."
                },
                "pageToken": {
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "location": "query",
                  "type": "string"
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "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/[^/]+$",
                  "type": "string",
                  "required": true,
                  "description": "The resource that owns the locations collection, if applicable.",
                  "location": "path"
                },
                "extraLocationTypes": {
                  "location": "query",
                  "repeated": true,
                  "type": "string",
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage."
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "path": "v1/{+name}/locations",
              "parameterOrder": [
                "name"
              ],
              "id": "workloadidentity.projects.locations.list",
              "flatPath": "v1/projects/{projectsId}/locations",
              "httpMethod": "GET",
              "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."
            },
            "get": {
              "parameters": {
                "name": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "description": "Resource name for the location."
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Location"
              },
              "httpMethod": "GET",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
              "id": "workloadidentity.projects.locations.get",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Gets information about a location.",
              "parameterOrder": [
                "name"
              ]
            }
          },
          "resources": {
            "operations": {
              "methods": {
                "delete": {
                  "id": "workloadidentity.projects.locations.operations.delete",
                  "httpMethod": "DELETE",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "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`.",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "The name of the operation resource to be deleted."
                    }
                  },
                  "path": "v1/{+name}"
                },
                "cancel": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1/{+name}:cancel",
                  "parameterOrder": [
                    "name"
                  ],
                  "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`.",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "id": "workloadidentity.projects.locations.operations.cancel",
                  "httpMethod": "POST",
                  "response": {
                    "$ref": "Empty"
                  },
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "parameters": {
                    "name": {
                      "location": "path",
                      "description": "The name of the operation resource to be cancelled.",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string"
                    }
                  }
                },
                "list": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
                  "id": "workloadidentity.projects.locations.operations.list",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "path": "v1/{+name}/operations",
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "pageSize": {
                      "type": "integer",
                      "location": "query",
                      "format": "int32",
                      "description": "The standard list page size."
                    },
                    "pageToken": {
                      "description": "The standard list page token.",
                      "type": "string",
                      "location": "query"
                    },
                    "filter": {
                      "location": "query",
                      "description": "The standard list filter.",
                      "type": "string"
                    },
                    "returnPartialSuccess": {
                      "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
                      "type": "boolean",
                      "location": "query"
                    },
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "The name of the operation's parent resource.",
                      "required": true
                    }
                  }
                },
                "get": {
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path",
                      "description": "The name of the operation resource."
                    }
                  },
                  "flatPath": "v1/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.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "Operation"
                  },
                  "id": "workloadidentity.projects.locations.operations.get"
                }
              }
            },
            "serviceProducers": {
              "methods": {
                "generateServiceAgents": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "description": "Required. The parent resource. The `location` for the parent resource must be `global`. Examples: - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com - organizations/3344/locations/global/serviceProducers/iam.googleapis.com",
                      "pattern": "^projects/[^/]+/locations/[^/]+/serviceProducers/[^/]+$",
                      "location": "path",
                      "required": true
                    }
                  },
                  "description": "Creates all service agents for a given resource, location and service producer.",
                  "request": {
                    "$ref": "GenerateServiceAgentsRequest"
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "workloadidentity.projects.locations.serviceProducers.generateServiceAgents",
                  "httpMethod": "POST",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceProducers/{serviceProducersId}:generateServiceAgents",
                  "path": "v1/{+parent}:generateServiceAgents"
                }
              }
            }
          }
        }
      }
    },
    "folders": {
      "resources": {
        "locations": {
          "resources": {
            "serviceProducers": {
              "methods": {
                "generateServiceAgents": {
                  "parameters": {
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "description": "Required. The parent resource. The `location` for the parent resource must be `global`. Examples: - projects/1234/locations/global/serviceProducers/bigquery.googleapis.com - folders/2344/locations/global/serviceProducers/vertexai.googleapis.com - organizations/3344/locations/global/serviceProducers/iam.googleapis.com",
                      "required": true,
                      "pattern": "^folders/[^/]+/locations/[^/]+/serviceProducers/[^/]+$"
                    }
                  },
                  "response": {
                    "$ref": "Operation"
                  },
                  "description": "Creates all service agents for a given resource, location and service producer.",
                  "id": "workloadidentity.folders.locations.serviceProducers.generateServiceAgents",
                  "path": "v1/{+parent}:generateServiceAgents",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "GenerateServiceAgentsRequest"
                  },
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/serviceProducers/{serviceProducersId}:generateServiceAgents"
                }
              }
            },
            "operations": {
              "methods": {
                "delete": {
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "description": "The name of the operation resource to be deleted.",
                      "type": "string"
                    }
                  },
                  "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`.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "httpMethod": "DELETE",
                  "id": "workloadidentity.folders.locations.operations.delete",
                  "path": "v1/{+name}"
                },
                "cancel": {
                  "httpMethod": "POST",
                  "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`.",
                  "id": "workloadidentity.folders.locations.operations.cancel",
                  "path": "v1/{+name}:cancel",
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "CancelOperationRequest"
                  },
                  "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "required": true,
                      "pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "description": "The name of the operation resource to be cancelled."
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ]
                },
                "list": {
                  "id": "workloadidentity.folders.locations.operations.list",
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "httpMethod": "GET",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/operations",
                  "path": "v1/{+name}/operations",
                  "parameters": {
                    "name": {
                      "pattern": "^folders/[^/]+/locations/[^/]+$",
                      "description": "The name of the operation's parent resource.",
                      "required": true,
                      "location": "path",
                      "type": "string"
                    },
                    "pageSize": {
                      "location": "query",
                      "format": "int32",
                      "type": "integer",
                      "description": "The standard list page size."
                    },
                    "returnPartialSuccess": {
                      "type": "boolean",
                      "location": "query",
                      "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation."
                    },
                    "filter": {
                      "location": "query",
                      "description": "The standard list filter.",
                      "type": "string"
                    },
                    "pageToken": {
                      "type": "string",
                      "location": "query",
                      "description": "The standard list page token."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "Operation"
                  },
                  "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.",
                  "parameters": {
                    "name": {
                      "required": true,
                      "description": "The name of the operation resource.",
                      "location": "path",
                      "pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}",
                  "id": "workloadidentity.folders.locations.operations.get"
                }
              }
            }
          },
          "methods": {
            "list": {
              "id": "workloadidentity.folders.locations.list",
              "parameters": {
                "name": {
                  "description": "The resource that owns the locations collection, if applicable.",
                  "type": "string",
                  "pattern": "^folders/[^/]+$",
                  "location": "path",
                  "required": true
                },
                "extraLocationTypes": {
                  "type": "string",
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
                  "location": "query",
                  "repeated": 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).",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "location": "query",
                  "format": "int32",
                  "type": "integer",
                  "description": "The maximum number of results to return. If not set, the service selects a default."
                },
                "pageToken": {
                  "type": "string",
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "location": "query"
                }
              },
              "flatPath": "v1/folders/{foldersId}/locations",
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}/locations",
              "httpMethod": "GET",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "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."
            },
            "get": {
              "description": "Gets information about a location.",
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET",
              "response": {
                "$ref": "Location"
              },
              "flatPath": "v1/folders/{foldersId}/locations/{locationsId}",
              "path": "v1/{+name}",
              "id": "workloadidentity.folders.locations.get",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "description": "Resource name for the location.",
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "pattern": "^folders/[^/]+/locations/[^/]+$"
                }
              }
            }
          }
        }
      }
    }
  },
  "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."
        }
      }
    }
  },
  "batchPath": "batch",
  "ownerName": "Google",
  "id": "workloadidentity:v1",
  "mtlsRootUrl": "https://workloadidentity.mtls.googleapis.com/",
  "revision": "20260928",
  "version_module": true,
  "basePath": ""
}
