{
  "mtlsRootUrl": "https://cloudlocationfinder.mtls.googleapis.com/",
  "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."
        }
      }
    }
  },
  "rootUrl": "https://cloudlocationfinder.googleapis.com/",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/location-finder/docs",
  "schemas": {
    "Location": {
      "type": "object",
      "id": "Location",
      "description": "A resource that represents a Google Cloud location.",
      "properties": {
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "locationId": {
          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
          "type": "string"
        },
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}"
        },
        "metadata": {
          "description": "Service-specific metadata. For example the available capacity at the given location.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object"
        }
      }
    },
    "SearchCloudLocationsResponse": {
      "description": "Message for response to searching cloud locations.",
      "properties": {
        "cloudLocations": {
          "description": "Output only. List of cloud locations.",
          "items": {
            "$ref": "CloudLocation"
          },
          "type": "array",
          "readOnly": true
        },
        "nextPageToken": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The continuation token, used to page through large result sets. Provide this value in a subsequent request as page_token in subsequent requests to retrieve the next page. If this field is not present, there are no subsequent results."
        }
      },
      "type": "object",
      "id": "SearchCloudLocationsResponse"
    },
    "ListCloudLocationsResponse": {
      "description": "Message for response to listing cloud locations.",
      "properties": {
        "cloudLocations": {
          "items": {
            "$ref": "CloudLocation"
          },
          "description": "Output only. List of cloud locations.",
          "readOnly": true,
          "type": "array"
        },
        "nextPageToken": {
          "description": "Output only. The continuation token, used to page through large result sets. Provide this value in a subsequent request as page_token in subsequent requests to retrieve the next page. If this field is not present, there are no subsequent results.",
          "type": "string",
          "readOnly": true
        }
      },
      "type": "object",
      "id": "ListCloudLocationsResponse"
    },
    "ListLocationsResponse": {
      "description": "The response message for Locations.ListLocations.",
      "properties": {
        "locations": {
          "type": "array",
          "items": {
            "$ref": "Location"
          },
          "description": "A list of locations that matches the specified filter in the request."
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "ListLocationsResponse"
    },
    "CloudLocation": {
      "properties": {
        "territoryCode": {
          "description": "Optional. The two-letter ISO 3166-1 alpha-2 code of the cloud location. Examples: US, JP, KR.",
          "type": "string"
        },
        "cloudLocationType": {
          "type": "string",
          "description": "Optional. The type of the cloud location.",
          "enumDescriptions": [
            "Unspecified type.",
            "CloudLocation type for region.",
            "CloudLocation type for zone.",
            "CloudLocation type for region extension.",
            "CloudLocation type for Google Distributed Cloud Connected Zone."
          ],
          "enum": [
            "CLOUD_LOCATION_TYPE_UNSPECIFIED",
            "CLOUD_LOCATION_TYPE_REGION",
            "CLOUD_LOCATION_TYPE_ZONE",
            "CLOUD_LOCATION_TYPE_REGION_EXTENSION",
            "CLOUD_LOCATION_TYPE_GDCC_ZONE"
          ]
        },
        "containingCloudLocation": {
          "description": "Output only. The containing cloud location in the strict nesting hierarchy. For example, the containing cloud location of a zone is a region.",
          "readOnly": true,
          "type": "string"
        },
        "displayName": {
          "description": "Optional. The human-readable name of the cloud location. Example: us-east-2, us-east1.",
          "type": "string"
        },
        "cloudProvider": {
          "description": "Optional. The provider of the cloud location. Values can be Google Cloud or third-party providers, including AWS, Azure, or Oracle Cloud Infrastructure.",
          "enumDescriptions": [
            "Unspecified type.",
            "Cloud provider type for Google Cloud.",
            "Cloud provider type for AWS.",
            "Cloud provider type for Azure.",
            "Cloud provider type for OCI."
          ],
          "enum": [
            "CLOUD_PROVIDER_UNSPECIFIED",
            "CLOUD_PROVIDER_GCP",
            "CLOUD_PROVIDER_AWS",
            "CLOUD_PROVIDER_AZURE",
            "CLOUD_PROVIDER_OCI"
          ],
          "type": "string"
        },
        "name": {
          "description": "Identifier. Name of the cloud location. Unique name of the cloud location including project and location using the form: `projects/{project_id}/locations/{location}/cloudLocations/{cloud_location}`",
          "type": "string"
        },
        "carbonFreeEnergyPercentage": {
          "description": "Optional. The carbon free energy percentage of the cloud location. This represents the average percentage of time customers' application will be running on carbon-free energy. See https://cloud.google.com/sustainability/region-carbon for more details. There is a difference between default value 0 and unset value. 0 means the carbon free energy percentage is 0%, while unset value means the carbon footprint data is not available.",
          "type": "number",
          "format": "float"
        }
      },
      "description": "Represents resource cloud locations.",
      "id": "CloudLocation",
      "type": "object"
    }
  },
  "description": "",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "get": {
              "description": "Gets information about a location.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "description": "Resource name for the location.",
                  "required": true,
                  "type": "string",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path"
                }
              },
              "httpMethod": "GET",
              "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
              "response": {
                "$ref": "Location"
              },
              "path": "v1/{+name}",
              "id": "cloudlocationfinder.projects.locations.get",
              "parameterOrder": [
                "name"
              ]
            },
            "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.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "type": "integer",
                  "format": "int32",
                  "description": "The maximum number of results to return. If not set, the service selects a default."
                },
                "pageToken": {
                  "location": "query",
                  "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."
                },
                "extraLocationTypes": {
                  "repeated": true,
                  "location": "query",
                  "type": "string",
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage."
                },
                "name": {
                  "required": true,
                  "type": "string",
                  "description": "The resource that owns the locations collection, if applicable.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$"
                },
                "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"
                }
              },
              "httpMethod": "GET",
              "flatPath": "v1/projects/{projectsId}/locations",
              "response": {
                "$ref": "ListLocationsResponse"
              },
              "path": "v1/{+name}/locations",
              "id": "cloudlocationfinder.projects.locations.list",
              "parameterOrder": [
                "name"
              ]
            }
          },
          "resources": {
            "cloudLocations": {
              "methods": {
                "list": {
                  "id": "cloudlocationfinder.projects.locations.cloudLocations.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1/{+parent}/cloudLocations",
                  "response": {
                    "$ref": "ListCloudLocationsResponse"
                  },
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cloudLocations",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "required": true,
                      "type": "string",
                      "description": "Required. The parent, which owns this collection of cloud locations. Format: projects/{project}/locations/{location}",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. A token identifying a page of results the server should return. Provide page token returned by a previous 'ListCloudLocations' call to retrieve the next page of results. When paginating, all other parameters provided to 'ListCloudLocations' must match the call that provided the page token."
                    },
                    "filter": {
                      "description": "Optional. A filter expression that filters resources listed in the response. The expression is in the form of field=value. For example, 'cloud_location_type=CLOUD_LOCATION_TYPE_REGION'. Multiple filter queries are space-separated. For example, 'cloud_location_type=CLOUD_LOCATION_TYPE_REGION territory_code=\"US\"' By default, each expression is an AND expression. However, you can include AND and OR expressions explicitly.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. The maximum number of cloud locations to return per page. The service might return fewer cloud locations than this value. If unspecified, server will pick an appropriate default."
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Lists cloud locations under a given project and location."
                },
                "get": {
                  "path": "v1/{+name}",
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cloudLocations/{cloudLocationsId}",
                  "response": {
                    "$ref": "CloudLocation"
                  },
                  "id": "cloudlocationfinder.projects.locations.cloudLocations.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Retrieves a resource containing information about a cloud location.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. Name of the resource.",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/cloudLocations/[^/]+$",
                      "location": "path"
                    }
                  },
                  "httpMethod": "GET"
                },
                "search": {
                  "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cloudLocations:search",
                  "response": {
                    "$ref": "SearchCloudLocationsResponse"
                  },
                  "path": "v1/{+parent}/cloudLocations:search",
                  "id": "cloudlocationfinder.projects.locations.cloudLocations.search",
                  "parameterOrder": [
                    "parent"
                  ],
                  "description": "Searches for cloud locations from a given source location.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "sourceCloudLocation": {
                      "description": "Required. The source cloud location to search from. Example search can be searching nearby cloud locations from the source cloud location by latency.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "description": "Required. The parent, which owns this collection of cloud locations. Format: projects/{project}/locations/{location}",
                      "required": true,
                      "type": "string"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. A token identifying a page of results the server should return. Provide Page token returned by a previous 'ListCloudLocations' call to retrieve the next page of results. When paginating, all other parameters provided to 'ListCloudLocations' must match the call that provided the page token."
                    },
                    "query": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. The query string in search query syntax. While filter is used to filter the search results by attributes, query is used to specify the search requirements."
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "format": "int32",
                      "description": "Optional. The maximum number of cloud locations to return. The service might return fewer cloud locations than this value. If unspecified, server will pick an appropriate default."
                    }
                  },
                  "httpMethod": "GET"
                }
              }
            }
          }
        }
      }
    }
  },
  "baseUrl": "https://cloudlocationfinder.googleapis.com/",
  "protocol": "rest",
  "ownerName": "Google",
  "canonicalName": "Cloud Location Finder",
  "fullyEncodeReservedExpansion": true,
  "batchPath": "batch",
  "title": "Cloud Location Finder API",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "ownerDomain": "google.com",
  "version": "v1",
  "parameters": {
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "location": "query",
      "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."
    },
    "$.xgafv": {
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "description": "V1 error format.",
      "type": "string"
    },
    "alt": {
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "description": "Data format for response.",
      "default": "json",
      "type": "string",
      "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"
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "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."
    },
    "oauth_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth 2.0 token for the current user."
    },
    "prettyPrint": {
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "location": "query",
      "default": "true"
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    }
  },
  "version_module": true,
  "name": "cloudlocationfinder",
  "kind": "discovery#restDescription",
  "id": "cloudlocationfinder:v1",
  "revision": "20260422",
  "basePath": "",
  "servicePath": ""
}
