{
  "resources": {
    "v1": {
      "methods": {
        "analyzeIamPolicy": {
          "response": {
            "$ref": "AnalyzeIamPolicyResponse"
          },
          "flatPath": "v1/{v1Id}/{v1Id1}:analyzeIamPolicy",
          "parameterOrder": [
            "scope"
          ],
          "path": "v1/{+scope}:analyzeIamPolicy",
          "description": "Analyzes IAM policies to answer which identities have what accesses on which resources.",
          "parameters": {
            "analysisQuery.options.expandGroups": {
              "location": "query",
              "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If IamPolicyAnalysisQuery.identity_selector is specified, the identity in the result will be determined by the selector, and this flag is not allowed to set. Default is false.",
              "type": "boolean"
            },
            "analysisQuery.options.expandRoles": {
              "description": "Optional. If true, the access section of result will expand any roles appearing in IAM policy bindings to include their permissions. If IamPolicyAnalysisQuery.access_selector is specified, the access section of the result will be determined by the selector, and this flag is not allowed to set. Default is false.",
              "location": "query",
              "type": "boolean"
            },
            "analysisQuery.accessSelector.permissions": {
              "repeated": true,
              "type": "string",
              "description": "Optional. The permissions to appear in result.",
              "location": "query"
            },
            "analysisQuery.options.expandResources": {
              "description": "Optional. If true and IamPolicyAnalysisQuery.resource_selector is not specified, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If true and IamPolicyAnalysisQuery.resource_selector is specified, the resource section of the result will expand the specified resource to include resources lower in the resource hierarchy. Only project or lower resources are supported. Folder and organization resource cannot be used together with this option. For example, if the request analyzes for which users have permission P on a GCP project with this option enabled, the results will include all users who have permission P on that project or any lower resource. Default is false.",
              "type": "boolean",
              "location": "query"
            },
            "analysisQuery.options.analyzeServiceAccountImpersonation": {
              "location": "query",
              "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. We highly recommend you use AssetService.AnalyzeIamPolicyLongrunning rpc instead. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Default is false.",
              "type": "boolean"
            },
            "scope": {
              "required": true,
              "description": "Required. The relative name of the root asset. Only resources and IAM policies within the scope will be analyzed. This can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder or project id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
              "type": "string",
              "pattern": "^[^/]+/[^/]+$",
              "location": "path"
            },
            "analysisQuery.resourceSelector.fullResourceName": {
              "type": "string",
              "description": "Required. The [full resource name] (https://cloud.google.com/asset-inventory/docs/resource-name-format) of a resource of [supported resource types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).",
              "location": "query"
            },
            "analysisQuery.identitySelector.identity": {
              "type": "string",
              "location": "query",
              "description": "Required. The identity appear in the form of members in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity."
            },
            "analysisQuery.options.outputResourceEdges": {
              "location": "query",
              "type": "boolean",
              "description": "Optional. If true, the result will output resource edges, starting from the policy attached resource, to any expanded resources. Default is false."
            },
            "executionTimeout": {
              "description": "Optional. Amount of time executable has to complete. See JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json). If this field is set with a value less than the RPC deadline, and the execution of your query hasn't finished in the specified execution timeout, you will get a response with partial result. Otherwise, your query's execution will continue until the RPC deadline. If it's not finished until then, you will get a DEADLINE_EXCEEDED error. Default is empty.",
              "type": "string",
              "format": "google-duration",
              "location": "query"
            },
            "analysisQuery.options.outputGroupEdges": {
              "location": "query",
              "description": "Optional. If true, the result will output group identity edges, starting from the binding's group members, to any expanded identities. Default is false.",
              "type": "boolean"
            },
            "analysisQuery.accessSelector.roles": {
              "repeated": true,
              "description": "Optional. The roles to appear in result.",
              "type": "string",
              "location": "query"
            }
          },
          "id": "cloudasset.analyzeIamPolicy",
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "searchAllResources": {
          "flatPath": "v1/{v1Id}/{v1Id1}:searchAllResources",
          "response": {
            "$ref": "SearchAllResourcesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "cloudasset.searchAllResources",
          "httpMethod": "GET",
          "parameters": {
            "orderBy": {
              "description": "Optional. A comma separated list of fields specifying the sorting order of the results. The default order is ascending. Add \" DESC\" after the field name to indicate descending order. Redundant space characters are ignored. Example: \"location DESC, name\". Only string fields in the response are sortable, including `name`, `displayName`, `description`, `location`. All the other fields such as repeated fields (e.g., `networkTags`), map fields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`) are not supported.",
              "type": "string",
              "location": "query"
            },
            "scope": {
              "pattern": "^[^/]+/[^/]+$",
              "location": "path",
              "required": true,
              "description": "Required. A scope can be a project, a folder, or an organization. The search is limited to the resources within the `scope`. The caller must be granted the [`cloudasset.assets.searchAllResources`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions) permission on the desired scope. The allowed values are: * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\") * folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\") * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
              "type": "string"
            },
            "pageSize": {
              "type": "integer",
              "format": "int32",
              "location": "query",
              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned."
            },
            "assetTypes": {
              "repeated": true,
              "location": "query",
              "type": "string",
              "description": "Optional. A list of asset types that this request searches for. If empty, it will search all the [searchable asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types)."
            },
            "pageToken": {
              "location": "query",
              "type": "string",
              "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters, must be identical to those in the previous call."
            },
            "query": {
              "description": "Optional. The query statement. See [how to construct a query](http://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query) for more information. If not specified or empty, it will search all the resources within the specified `scope`. Note that the query string is compared against each Cloud IAM policy binding, including its members, roles, and Cloud IAM conditions. The returned Cloud IAM policies will only contain the bindings that match your query. To learn more about the IAM policy structure, see [IAM policy doc](https://cloud.google.com/iam/docs/policies#structure). Examples: * `name:Important` to find Cloud resources whose name contains \"Important\" as a word. * `displayName:Impor*` to find Cloud resources whose display name contains \"Impor\" as a prefix. * `description:*por*` to find Cloud resources whose description contains \"por\" as a substring. * `location:us-west*` to find Cloud resources whose location is prefixed with \"us-west\". * `labels:prod` to find Cloud resources whose labels contain \"prod\" as a key or value. * `labels.env:prod` to find Cloud resources that have a label \"env\" and its value is \"prod\". * `labels.env:*` to find Cloud resources that have a label \"env\". * `Important` to find Cloud resources that contain \"Important\" as a word in any of the searchable fields. * `Impor*` to find Cloud resources that contain \"Impor\" as a prefix in any of the searchable fields. * `*por*` to find Cloud resources that contain \"por\" as a substring in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Cloud resources that contain \"Important\" as a word in any of the searchable fields and are also located in the \"us-west1\" region or the \"global\" location.",
              "type": "string",
              "location": "query"
            }
          },
          "description": "Searches all Cloud resources within the specified scope, such as a project, folder, or organization. The caller must be granted the `cloudasset.assets.searchAllResources` permission on the desired scope, otherwise the request will be rejected.",
          "parameterOrder": [
            "scope"
          ],
          "path": "v1/{+scope}:searchAllResources"
        },
        "searchAllIamPolicies": {
          "path": "v1/{+scope}:searchAllIamPolicies",
          "parameters": {
            "pageSize": {
              "format": "int32",
              "location": "query",
              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.",
              "type": "integer"
            },
            "pageToken": {
              "description": "Optional. If present, retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters must be identical to those in the previous call.",
              "location": "query",
              "type": "string"
            },
            "query": {
              "location": "query",
              "description": "Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) for more information. If not specified or empty, it will search all the IAM policies within the specified `scope`. Examples: * `policy:amy@gmail.com` to find IAM policy bindings that specify user \"amy@gmail.com\". * `policy:roles/compute.admin` to find IAM policy bindings that specify the Compute Admin role. * `policy.role.permissions:storage.buckets.update` to find IAM policy bindings that specify a role containing \"storage.buckets.update\" permission. Note that if callers don't have `iam.roles.get` access to a role's included permissions, policy bindings that specify this role will be dropped from the search results. * `resource:organizations/123456` to find IAM policy bindings that are set on \"organizations/123456\". * `Important` to find IAM policy bindings that contain \"Important\" as a word in any of the searchable fields (except for the included permissions). * `*por*` to find IAM policy bindings that contain \"por\" as a substring in any of the searchable fields (except for the included permissions). * `resource:(instance1 OR instance2) policy:amy` to find IAM policy bindings that are set on resources \"instance1\" or \"instance2\" and also specify user \"amy\".",
              "type": "string"
            },
            "scope": {
              "location": "path",
              "pattern": "^[^/]+/[^/]+$",
              "description": "Required. A scope can be a project, a folder, or an organization. The search is limited to the IAM policies within the `scope`. The caller must be granted the [`cloudasset.assets.searchAllIamPolicies`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions) permission on the desired scope. The allowed values are: * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\") * folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\") * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "scope"
          ],
          "flatPath": "v1/{v1Id}/{v1Id1}:searchAllIamPolicies",
          "response": {
            "$ref": "SearchAllIamPoliciesResponse"
          },
          "httpMethod": "GET",
          "id": "cloudasset.searchAllIamPolicies",
          "description": "Searches all IAM policies within the specified scope, such as a project, folder, or organization. The caller must be granted the `cloudasset.assets.searchAllIamPolicies` permission on the desired scope, otherwise the request will be rejected.",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "batchGetAssetsHistory": {
          "id": "cloudasset.batchGetAssetsHistory",
          "description": "Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.",
          "flatPath": "v1/{v1Id}/{v1Id1}:batchGetAssetsHistory",
          "parameterOrder": [
            "parent"
          ],
          "httpMethod": "GET",
          "parameters": {
            "contentType": {
              "location": "query",
              "enumDescriptions": [
                "Unspecified content type.",
                "Resource metadata.",
                "The actual IAM policy set on a resource.",
                "The Cloud Organization Policy set on an asset.",
                "The Cloud Access context manager Policy set on an asset.",
                "The runtime OS Inventory information."
              ],
              "enum": [
                "CONTENT_TYPE_UNSPECIFIED",
                "RESOURCE",
                "IAM_POLICY",
                "ORG_POLICY",
                "ACCESS_POLICY",
                "OS_INVENTORY"
              ],
              "description": "Optional. The content type.",
              "type": "string"
            },
            "assetNames": {
              "location": "query",
              "type": "string",
              "description": "A list of the full names of the assets. See: https://cloud.google.com/asset-inventory/docs/resource-name-format Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.",
              "repeated": true
            },
            "readTimeWindow.endTime": {
              "description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.",
              "type": "string",
              "format": "google-datetime",
              "location": "query"
            },
            "readTimeWindow.startTime": {
              "format": "google-datetime",
              "type": "string",
              "description": "Start time of the time window (exclusive).",
              "location": "query"
            },
            "parent": {
              "location": "path",
              "type": "string",
              "pattern": "^[^/]+/[^/]+$",
              "description": "Required. The relative name of the root asset. It can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
              "required": true
            }
          },
          "path": "v1/{+parent}:batchGetAssetsHistory",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "response": {
            "$ref": "BatchGetAssetsHistoryResponse"
          }
        },
        "exportAssets": {
          "flatPath": "v1/{v1Id}/{v1Id1}:exportAssets",
          "description": "Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line represents a google.cloud.asset.v1.Asset in the JSON format; for BigQuery table destinations, the output table stores the fields in asset proto as columns. This API implements the google.longrunning.Operation API , which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.",
          "path": "v1/{+parent}:exportAssets",
          "response": {
            "$ref": "Operation"
          },
          "httpMethod": "POST",
          "request": {
            "$ref": "ExportAssetsRequest"
          },
          "id": "cloudasset.exportAssets",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameters": {
            "parent": {
              "type": "string",
              "description": "Required. The relative name of the root asset. This can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").",
              "pattern": "^[^/]+/[^/]+$",
              "required": true,
              "location": "path"
            }
          },
          "parameterOrder": [
            "parent"
          ]
        },
        "analyzeIamPolicyLongrunning": {
          "flatPath": "v1/{v1Id}/{v1Id1}:analyzeIamPolicyLongrunning",
          "path": "v1/{+scope}:analyzeIamPolicyLongrunning",
          "parameters": {
            "scope": {
              "type": "string",
              "required": true,
              "location": "path",
              "description": "Required. The relative name of the root asset. Only resources and IAM policies within the scope will be analyzed. This can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder or project id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
              "pattern": "^[^/]+/[^/]+$"
            }
          },
          "response": {
            "$ref": "Operation"
          },
          "description": "Analyzes IAM policies asynchronously to answer which identities have what accesses on which resources, and writes the analysis results to a Google Cloud Storage or a BigQuery destination. For Cloud Storage destination, the output format is the JSON format that represents a AnalyzeIamPolicyResponse. This method implements the google.longrunning.Operation, which allows you to track the operation status. We recommend intervals of at least 2 seconds with exponential backoff retry to poll the operation result. The metadata contains the request to help callers to map responses to requests.",
          "httpMethod": "POST",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [
            "scope"
          ],
          "id": "cloudasset.analyzeIamPolicyLongrunning",
          "request": {
            "$ref": "AnalyzeIamPolicyLongrunningRequest"
          }
        }
      }
    },
    "feeds": {
      "methods": {
        "patch": {
          "response": {
            "$ref": "Feed"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "request": {
            "$ref": "UpdateFeedRequest"
          },
          "id": "cloudasset.feeds.patch",
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "PATCH",
          "flatPath": "v1/{v1Id}/{v1Id1}/feeds/{feedsId}",
          "description": "Updates an asset feed configuration.",
          "parameters": {
            "name": {
              "description": "Required. The format will be projects/{project_number}/feeds/{client-assigned_feed_identifier} or folders/{folder_number}/feeds/{client-assigned_feed_identifier} or organizations/{organization_number}/feeds/{client-assigned_feed_identifier} The client-assigned feed identifier must be unique within the parent project/folder/organization.",
              "required": true,
              "pattern": "^[^/]+/[^/]+/feeds/[^/]+$",
              "type": "string",
              "location": "path"
            }
          },
          "path": "v1/{+name}"
        },
        "get": {
          "response": {
            "$ref": "Feed"
          },
          "parameters": {
            "name": {
              "required": true,
              "pattern": "^[^/]+/[^/]+/feeds/[^/]+$",
              "location": "path",
              "type": "string",
              "description": "Required. The name of the Feed and it must be in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id"
            }
          },
          "description": "Gets details about an asset feed.",
          "httpMethod": "GET",
          "path": "v1/{+name}",
          "flatPath": "v1/{v1Id}/{v1Id1}/feeds/{feedsId}",
          "id": "cloudasset.feeds.get",
          "parameterOrder": [
            "name"
          ],
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "delete": {
          "flatPath": "v1/{v1Id}/{v1Id1}/feeds/{feedsId}",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "response": {
            "$ref": "Empty"
          },
          "httpMethod": "DELETE",
          "parameters": {
            "name": {
              "type": "string",
              "pattern": "^[^/]+/[^/]+/feeds/[^/]+$",
              "location": "path",
              "description": "Required. The name of the feed and it must be in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id",
              "required": true
            }
          },
          "parameterOrder": [
            "name"
          ],
          "description": "Deletes an asset feed.",
          "id": "cloudasset.feeds.delete",
          "path": "v1/{+name}"
        },
        "list": {
          "path": "v1/{+parent}/feeds",
          "id": "cloudasset.feeds.list",
          "parameterOrder": [
            "parent"
          ],
          "parameters": {
            "parent": {
              "pattern": "^[^/]+/[^/]+$",
              "type": "string",
              "description": "Required. The parent project/folder/organization whose feeds are to be listed. It can only be using project/folder/organization number (such as \"folders/12345\")\", or a project ID (such as \"projects/my-project-id\").",
              "location": "path",
              "required": true
            }
          },
          "response": {
            "$ref": "ListFeedsResponse"
          },
          "flatPath": "v1/{v1Id}/{v1Id1}/feeds",
          "description": "Lists all asset feeds in a parent project/folder/organization.",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "httpMethod": "GET"
        },
        "create": {
          "path": "v1/{+parent}/feeds",
          "request": {
            "$ref": "CreateFeedRequest"
          },
          "parameterOrder": [
            "parent"
          ],
          "flatPath": "v1/{v1Id}/{v1Id1}/feeds",
          "response": {
            "$ref": "Feed"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "httpMethod": "POST",
          "id": "cloudasset.feeds.create",
          "parameters": {
            "parent": {
              "pattern": "^[^/]+/[^/]+$",
              "location": "path",
              "description": "Required. The name of the project/folder/organization where this feed should be created in. It can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
              "required": true,
              "type": "string"
            }
          },
          "description": "Creates a feed in a parent project/folder/organization to listen to its asset updates."
        }
      }
    },
    "operations": {
      "methods": {
        "get": {
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "flatPath": "v1/{v1Id}/{v1Id1}/operations/{operationsId}/{operationsId1}",
          "response": {
            "$ref": "Operation"
          },
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "GET",
          "parameters": {
            "name": {
              "pattern": "^[^/]+/[^/]+/operations/[^/]+/.*$",
              "description": "The name of the operation resource.",
              "required": true,
              "type": "string",
              "location": "path"
            }
          },
          "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.",
          "id": "cloudasset.operations.get",
          "path": "v1/{+name}"
        }
      }
    }
  },
  "ownerDomain": "google.com",
  "canonicalName": "Cloud Asset",
  "title": "Cloud Asset API",
  "kind": "discovery#restDescription",
  "schemas": {
    "WindowsQuickFixEngineeringPackage": {
      "description": "Information related to a Quick Fix Engineering package. Fields are taken from Windows QuickFixEngineering Interface and match the source names: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering",
      "type": "object",
      "properties": {
        "hotFixId": {
          "description": "Unique identifier associated with a particular QFE update.",
          "type": "string"
        },
        "caption": {
          "type": "string",
          "description": "A short textual description of the QFE update."
        },
        "installTime": {
          "description": "Date that the QFE update was installed. Mapped from installed_on field.",
          "format": "google-datetime",
          "type": "string"
        },
        "description": {
          "description": "A textual description of the QFE update.",
          "type": "string"
        }
      },
      "id": "WindowsQuickFixEngineeringPackage"
    },
    "SearchAllResourcesResponse": {
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "ResourceSearchResult"
          },
          "description": "A list of Resources that match the search query. It contains the resource standard metadata information."
        },
        "nextPageToken": {
          "description": "If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Search all resources response.",
      "id": "SearchAllResourcesResponse"
    },
    "VersionedPackage": {
      "properties": {
        "packageName": {
          "type": "string",
          "description": "The name of the package."
        },
        "architecture": {
          "type": "string",
          "description": "The system architecture this package is intended for."
        },
        "version": {
          "type": "string",
          "description": "The version of the package."
        }
      },
      "type": "object",
      "id": "VersionedPackage",
      "description": "Information related to the a standard versioned package. This includes package info for APT, Yum, Zypper, and Googet package managers."
    },
    "BatchGetAssetsHistoryResponse": {
      "id": "BatchGetAssetsHistoryResponse",
      "properties": {
        "assets": {
          "description": "A list of assets with valid time windows.",
          "type": "array",
          "items": {
            "$ref": "TemporalAsset"
          }
        }
      },
      "description": "Batch get assets history response.",
      "type": "object"
    },
    "PartitionSpec": {
      "id": "PartitionSpec",
      "properties": {
        "partitionKey": {
          "enumDescriptions": [
            "Unspecified partition key. If used, it means using non-partitioned table.",
            "The time when the snapshot is taken. If specified as partition key, the result table(s) is partitoned by the additional timestamp column, readTime. If [read_time] in ExportAssetsRequest is specified, the readTime column's value will be the same as it. Otherwise, its value will be the current time that is used to take the snapshot.",
            "The time when the request is received and started to be processed. If specified as partition key, the result table(s) is partitoned by the requestTime column, an additional timestamp column representing when the request was received."
          ],
          "type": "string",
          "enum": [
            "PARTITION_KEY_UNSPECIFIED",
            "READ_TIME",
            "REQUEST_TIME"
          ],
          "description": "The partition key for BigQuery partitioned table."
        }
      },
      "type": "object",
      "description": "Specifications of BigQuery partitioned table as export destination."
    },
    "SearchAllIamPoliciesResponse": {
      "description": "Search all IAM policies response.",
      "properties": {
        "nextPageToken": {
          "description": "Set if there are more results than those appearing in this response; to get the next set of results, call this method again, using this value as the `page_token`.",
          "type": "string"
        },
        "results": {
          "type": "array",
          "items": {
            "$ref": "IamPolicySearchResult"
          },
          "description": "A list of IamPolicy that match the search query. Related information such as the associated resource is returned along with the policy."
        }
      },
      "type": "object",
      "id": "SearchAllIamPoliciesResponse"
    },
    "IamPolicyAnalysis": {
      "id": "IamPolicyAnalysis",
      "description": "An analysis message to group the query and results.",
      "type": "object",
      "properties": {
        "analysisQuery": {
          "$ref": "IamPolicyAnalysisQuery",
          "description": "The analysis query."
        },
        "analysisResults": {
          "description": "A list of IamPolicyAnalysisResult that matches the analysis query, or empty if no result is found.",
          "type": "array",
          "items": {
            "$ref": "IamPolicyAnalysisResult"
          }
        },
        "fullyExplored": {
          "type": "boolean",
          "description": "Represents whether all entries in the analysis_results have been fully explored to answer the query."
        },
        "nonCriticalErrors": {
          "description": "A list of non-critical errors happened during the query handling.",
          "items": {
            "$ref": "IamPolicyAnalysisState"
          },
          "type": "array"
        }
      }
    },
    "BigQueryDestination": {
      "type": "object",
      "description": "A BigQuery destination for exporting assets to.",
      "id": "BigQueryDestination",
      "properties": {
        "table": {
          "type": "string",
          "description": "Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created."
        },
        "dataset": {
          "type": "string",
          "description": "Required. The BigQuery dataset in format \"projects/projectId/datasets/datasetId\", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error."
        },
        "partitionSpec": {
          "description": "[partition_spec] determines whether to export to partitioned table(s) and how to partition the data. If [partition_spec] is unset or [partition_spec.partion_key] is unset or `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to non-partitioned table(s). [force] will decide whether to overwrite existing table(s). If [partition_spec] is specified. First, the snapshot results will be written to partitioned table(s) with two additional timestamp columns, readTime and requestTime, one of which will be the partition key. Secondly, in the case when any destination table already exists, it will first try to update existing table's schema as necessary by appending additional columns. Then, if [force] is `TRUE`, the corresponding partition will be overwritten by the snapshot results (data in different partitions will remain intact); if [force] is unset or `FALSE`, it will append the data. An error will be returned if the schema update or data appension fails.",
          "$ref": "PartitionSpec"
        },
        "separateTablesPerAssetType": {
          "type": "boolean",
          "description": "If this flag is `TRUE`, the snapshot results will be written to one or multiple tables, each of which contains results of one asset type. The [force] and [partition_spec] fields will apply to each of them. Field [table] will be concatenated with \"_\" and the asset type names (see https://cloud.google.com/asset-inventory/docs/supported-asset-types for supported asset types) to construct per-asset-type table names, in which all non-alphanumeric characters like \".\" and \"/\" will be substituted by \"_\". Example: if field [table] is \"mytable\" and snapshot results contain \"storage.googleapis.com/Bucket\" assets, the corresponding table name will be \"mytable_storage_googleapis_com_Bucket\". If any of these tables does not exist, a new table with the concatenated name will be created. When [content_type] in the ExportAssetsRequest is `RESOURCE`, the schema of each table will include RECORD-type columns mapped to the nested fields in the Asset.resource.data field of that asset type (up to the 15 nested level BigQuery supports (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The fields in \u003e15 nested levels will be stored in JSON format string as a child column of its parent RECORD column. If error occurs when exporting to any table, the whole export call will return an error but the export results that already succeed will persist. Example: if exporting to table_type_A succeeds when exporting to table_type_B fails during one export call, the results in table_type_A will persist and there will not be partial results persisting in a table."
        },
        "force": {
          "type": "boolean",
          "description": "If the destination table already exists and this flag is `TRUE`, the table will be overwritten by the contents of assets snapshot. If the flag is `FALSE` or unset and the destination table already exists, the export call returns an INVALID_ARGUMEMT error."
        }
      }
    },
    "FeedOutputConfig": {
      "properties": {
        "pubsubDestination": {
          "description": "Destination on Pub/Sub.",
          "$ref": "PubsubDestination"
        }
      },
      "id": "FeedOutputConfig",
      "description": "Output configuration for asset feed destination.",
      "type": "object"
    },
    "AuditLogConfig": {
      "properties": {
        "exemptedMembers": {
          "type": "array",
          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
          "items": {
            "type": "string"
          }
        },
        "logType": {
          "type": "string",
          "enumDescriptions": [
            "Default case. Should never be this.",
            "Admin reads. Example: CloudIAM getIamPolicy",
            "Data writes. Example: CloudSQL Users create",
            "Data reads. Example: CloudSQL Users list"
          ],
          "enum": [
            "LOG_TYPE_UNSPECIFIED",
            "ADMIN_READ",
            "DATA_WRITE",
            "DATA_READ"
          ],
          "description": "The log type that this config enables."
        }
      },
      "type": "object",
      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
      "id": "AuditLogConfig"
    },
    "Permissions": {
      "type": "object",
      "description": "IAM permissions",
      "id": "Permissions",
      "properties": {
        "permissions": {
          "description": "A list of permissions. A sample permission string: `compute.disk.get`.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "Feed": {
      "type": "object",
      "id": "Feed",
      "description": "An asset feed used to export asset updates to a destinations. An asset feed filter controls what updates are exported. The asset feed must be created within a project, organization, or folder. Supported destinations are: Pub/Sub topics.",
      "properties": {
        "feedOutputConfig": {
          "description": "Required. Feed output configuration defining where the asset updates are published to.",
          "$ref": "FeedOutputConfig"
        },
        "assetNames": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "A list of the full names of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more info."
        },
        "condition": {
          "$ref": "Expr",
          "description": "A condition which determines whether an asset update should be published. If specified, an asset will be returned only when the expression evaluates to true. When set, `expression` field in the `Expr` must be a valid [CEL expression] (https://github.com/google/cel-spec) on a TemporalAsset with name `temporal_asset`. Example: a Feed with expression (\"temporal_asset.deleted == true\") will only publish Asset deletions. Other fields of `Expr` are optional. See our [user guide](https://cloud.google.com/asset-inventory/docs/monitoring-asset-changes#feed_with_condition) for detailed instructions."
        },
        "assetTypes": {
          "items": {
            "type": "string"
          },
          "description": "A list of types of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. Example: `\"compute.googleapis.com/Disk\"` See [this topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for a list of all supported asset types.",
          "type": "array"
        },
        "name": {
          "description": "Required. The format will be projects/{project_number}/feeds/{client-assigned_feed_identifier} or folders/{folder_number}/feeds/{client-assigned_feed_identifier} or organizations/{organization_number}/feeds/{client-assigned_feed_identifier} The client-assigned feed identifier must be unique within the parent project/folder/organization.",
          "type": "string"
        },
        "contentType": {
          "type": "string",
          "enum": [
            "CONTENT_TYPE_UNSPECIFIED",
            "RESOURCE",
            "IAM_POLICY",
            "ORG_POLICY",
            "ACCESS_POLICY",
            "OS_INVENTORY"
          ],
          "enumDescriptions": [
            "Unspecified content type.",
            "Resource metadata.",
            "The actual IAM policy set on a resource.",
            "The Cloud Organization Policy set on an asset.",
            "The Cloud Access context manager Policy set on an asset.",
            "The runtime OS Inventory information."
          ],
          "description": "Asset content type. If not specified, no content but the asset name and type will be returned."
        }
      }
    },
    "WindowsUpdateCategory": {
      "description": "Categories specified by the Windows Update.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the windows update category."
        },
        "id": {
          "type": "string",
          "description": "The identifier of the windows update category."
        }
      },
      "id": "WindowsUpdateCategory"
    },
    "AccessSelector": {
      "properties": {
        "permissions": {
          "description": "Optional. The permissions to appear in result.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "roles": {
          "description": "Optional. The roles to appear in result.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object",
      "description": "Specifies roles and/or permissions to analyze, to determine both the identities possessing them and the resources they control. If multiple values are specified, results will include roles or permissions matching any of them. The total number of roles and permissions should be equal or less than 10.",
      "id": "AccessSelector"
    },
    "GcsDestination": {
      "id": "GcsDestination",
      "type": "object",
      "description": "A Cloud Storage location.",
      "properties": {
        "uri": {
          "description": "The uri of the Cloud Storage object. It's the same uri that is used by gsutil. Example: \"gs://bucket_name/object_name\". See [Viewing and Editing Object Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata) for more information.",
          "type": "string"
        },
        "uriPrefix": {
          "type": "string",
          "description": "The uri prefix of all generated Cloud Storage objects. Example: \"gs://bucket_name/object_name_prefix\". Each object uri is in format: \"gs://bucket_name/object_name_prefix// and only contains assets for that type. starts from 0. Example: \"gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0\" is the first shard of output objects containing all compute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be returned if file with the same name \"gs://bucket_name/object_name_prefix\" already exists."
        }
      }
    },
    "GoogleCloudAssetV1Identity": {
      "id": "GoogleCloudAssetV1Identity",
      "properties": {
        "analysisState": {
          "description": "The analysis state of this identity.",
          "$ref": "IamPolicyAnalysisState"
        },
        "name": {
          "description": "The identity name in any form of members appear in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding), such as: - user:foo@google.com - group:group1@google.com - serviceAccount:s1@prj1.iam.gserviceaccount.com - projectOwner:some_project_id - domain:google.com - allUsers - etc.",
          "type": "string"
        }
      },
      "description": "An identity under analysis.",
      "type": "object"
    },
    "GoogleIdentityAccesscontextmanagerV1Condition": {
      "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.",
      "type": "object",
      "properties": {
        "regions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes."
        },
        "ipSubnetworks": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas \"2001:db8::1/32\" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed."
        },
        "negate": {
          "type": "boolean",
          "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields, each field must be false for the Condition overall to be satisfied. Defaults to false."
        },
        "devicePolicy": {
          "description": "Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed.",
          "$ref": "GoogleIdentityAccesscontextmanagerV1DevicePolicy"
        },
        "requiredAccessLevels": {
          "items": {
            "type": "string"
          },
          "description": "A list of other access levels defined in the same `Policy`, referenced by resource name. Referencing an `AccessLevel` which does not exist is an error. All access levels listed must be granted for the Condition to be true. Example: \"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`",
          "type": "array"
        },
        "members": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user."
        }
      },
      "id": "GoogleIdentityAccesscontextmanagerV1Condition"
    },
    "Expr": {
      "id": "Expr",
      "properties": {
        "title": {
          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
          "type": "string"
        },
        "expression": {
          "description": "Textual representation of an expression in Common Expression Language syntax.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
          "type": "string"
        },
        "location": {
          "type": "string",
          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file."
        }
      },
      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "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"
        },
        "metadata": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "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"
        },
        "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": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        }
      },
      "type": "object",
      "id": "Operation"
    },
    "TimeWindow": {
      "properties": {
        "startTime": {
          "format": "google-datetime",
          "description": "Start time of the time window (exclusive).",
          "type": "string"
        },
        "endTime": {
          "description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.",
          "type": "string",
          "format": "google-datetime"
        }
      },
      "id": "TimeWindow",
      "description": "A time window specified by its `start_time` and `end_time`.",
      "type": "object"
    },
    "GoogleIdentityAccesscontextmanagerV1OsConstraint": {
      "description": "A restriction on the OS type and version of devices making requests.",
      "type": "object",
      "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint",
      "properties": {
        "minimumVersion": {
          "type": "string",
          "description": "The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: `\"major.minor.patch\"`. Examples: `\"10.5.301\"`, `\"9.2.1\"`."
        },
        "requireVerifiedChromeOs": {
          "type": "boolean",
          "description": "Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request."
        },
        "osType": {
          "type": "string",
          "enumDescriptions": [
            "The operating system of the device is not specified or not known.",
            "A desktop Mac operating system.",
            "A desktop Windows operating system.",
            "A desktop Linux operating system.",
            "A desktop ChromeOS operating system.",
            "An Android operating system.",
            "An iOS operating system."
          ],
          "enum": [
            "OS_UNSPECIFIED",
            "DESKTOP_MAC",
            "DESKTOP_WINDOWS",
            "DESKTOP_LINUX",
            "DESKTOP_CHROME_OS",
            "ANDROID",
            "IOS"
          ],
          "description": "Required. The allowed OS type."
        }
      }
    },
    "GoogleCloudAssetV1AccessControlList": {
      "id": "GoogleCloudAssetV1AccessControlList",
      "type": "object",
      "properties": {
        "resources": {
          "description": "The resources that match one of the following conditions: - The resource_selector, if it is specified in request; - Otherwise, resources reachable from the policy attached resource.",
          "items": {
            "$ref": "GoogleCloudAssetV1Resource"
          },
          "type": "array"
        },
        "accesses": {
          "items": {
            "$ref": "GoogleCloudAssetV1Access"
          },
          "description": "The accesses that match one of the following conditions: - The access_selector, if it is specified in request; - Otherwise, access specifiers reachable from the policy binding's role.",
          "type": "array"
        },
        "resourceEdges": {
          "type": "array",
          "description": "Resource edges of the graph starting from the policy attached resource to any descendant resources. The Edge.source_node contains the full resource name of a parent resource and Edge.target_node contains the full resource name of a child resource. This field is present only if the output_resource_edges option is enabled in request.",
          "items": {
            "$ref": "GoogleCloudAssetV1Edge"
          }
        }
      },
      "description": "An access control list, derived from the above IAM policy binding, which contains a set of resources and accesses. May include one item from each set to compose an access control entry. NOTICE that there could be multiple access control lists for one IAM policy binding. The access control lists are created based on resource and access combinations. For example, assume we have the following cases in one IAM policy binding: - Permission P1 and P2 apply to resource R1 and R2; - Permission P3 applies to resource R2 and R3; This will result in the following access control lists: - AccessControlList 1: [R1, R2], [P1, P2] - AccessControlList 2: [R2, R3], [P3]"
    },
    "ResourceSelector": {
      "type": "object",
      "properties": {
        "fullResourceName": {
          "description": "Required. The [full resource name] (https://cloud.google.com/asset-inventory/docs/resource-name-format) of a resource of [supported resource types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).",
          "type": "string"
        }
      },
      "description": "Specifies the resource to analyze for access policies, which may be set directly on the resource, or on ancestors such as organizations, folders or projects.",
      "id": "ResourceSelector"
    },
    "GoogleCloudAssetV1BigQueryDestination": {
      "type": "object",
      "id": "GoogleCloudAssetV1BigQueryDestination",
      "description": "A BigQuery destination.",
      "properties": {
        "dataset": {
          "description": "Required. The BigQuery dataset in format \"projects/projectId/datasets/datasetId\", to which the analysis results should be exported. If this dataset does not exist, the export call will return an INVALID_ARGUMENT error.",
          "type": "string"
        },
        "writeDisposition": {
          "type": "string",
          "description": "Optional. Specifies the action that occurs if the destination table or partition already exists. The following values are supported: * WRITE_TRUNCATE: If the table or partition already exists, BigQuery overwrites the entire table or all the partitions data. * WRITE_APPEND: If the table or partition already exists, BigQuery appends the data to the table or the latest partition. * WRITE_EMPTY: If the table already exists and contains data, an error is returned. The default value is WRITE_APPEND. Each action is atomic and only occurs if BigQuery is able to complete the job successfully. Details are at https://cloud.google.com/bigquery/docs/loading-data-local#appending_to_or_overwriting_a_table_using_a_local_file."
        },
        "tablePrefix": {
          "description": "Required. The prefix of the BigQuery tables to which the analysis results will be written. Tables will be created based on this table_prefix if not exist: * _analysis table will contain export operation's metadata. * _analysis_result will contain all the IamPolicyAnalysisResult. When [partition_key] is specified, both tables will be partitioned based on the [partition_key].",
          "type": "string"
        },
        "partitionKey": {
          "enumDescriptions": [
            "Unspecified partition key. Tables won't be partitioned using this option.",
            "The time when the request is received. If specified as partition key, the result table(s) is partitoned by the RequestTime column, an additional timestamp column representing when the request was received."
          ],
          "enum": [
            "PARTITION_KEY_UNSPECIFIED",
            "REQUEST_TIME"
          ],
          "description": "The partition key for BigQuery partitioned table.",
          "type": "string"
        }
      }
    },
    "AnalyzeIamPolicyResponse": {
      "id": "AnalyzeIamPolicyResponse",
      "description": "A response message for AssetService.AnalyzeIamPolicy.",
      "type": "object",
      "properties": {
        "fullyExplored": {
          "type": "boolean",
          "description": "Represents whether all entries in the main_analysis and service_account_impersonation_analysis have been fully explored to answer the query in the request."
        },
        "mainAnalysis": {
          "$ref": "IamPolicyAnalysis",
          "description": "The main analysis that matches the original request."
        },
        "serviceAccountImpersonationAnalysis": {
          "items": {
            "$ref": "IamPolicyAnalysis"
          },
          "type": "array",
          "description": "The service account impersonation analysis if AnalyzeIamPolicyRequest.analyze_service_account_impersonation is enabled."
        }
      }
    },
    "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": {
      "properties": {
        "title": {
          "description": "Human readable title. Must be unique within the Policy.",
          "type": "string"
        },
        "status": {
          "description": "Current ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries.",
          "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig"
        },
        "spec": {
          "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
          "description": "Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the \"use_explicit_dry_run_spec\" flag is set."
        },
        "perimeterType": {
          "description": "Perimeter type indicator. A single project is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty.",
          "enum": [
            "PERIMETER_TYPE_REGULAR",
            "PERIMETER_TYPE_BRIDGE"
          ],
          "type": "string",
          "enumDescriptions": [
            "Regular Perimeter.",
            "Perimeter Bridge."
          ]
        },
        "name": {
          "type": "string",
          "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`"
        },
        "description": {
          "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.",
          "type": "string"
        },
        "useExplicitDryRunSpec": {
          "description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration (\"spec\") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config (\"status\") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values.",
          "type": "boolean"
        }
      },
      "description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges.",
      "type": "object",
      "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter"
    },
    "Resource": {
      "id": "Resource",
      "type": "object",
      "properties": {
        "discoveryName": {
          "description": "The JSON schema name listed in the discovery document. Example: `Project` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.",
          "type": "string"
        },
        "location": {
          "description": "The location of the resource in Google Cloud, such as its zone and region. For more information, see https://cloud.google.com/about/locations/.",
          "type": "string"
        },
        "resourceUrl": {
          "description": "The REST URL for accessing the resource. An HTTP `GET` request using this URL returns the resource itself. Example: `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` This value is unspecified for resources without a REST API.",
          "type": "string"
        },
        "parent": {
          "type": "string",
          "description": "The full name of the immediate parent of this resource. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information. For Google Cloud assets, this value is the parent resource defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/projects/my_project_123` For third-party assets, this field may be set differently."
        },
        "version": {
          "type": "string",
          "description": "The API version. Example: `v1`"
        },
        "data": {
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "type": "object",
          "description": "The content of the resource, in which some sensitive fields are removed and may not be present."
        },
        "discoveryDocumentUri": {
          "description": "The URL of the discovery document containing the resource's JSON schema. Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.",
          "type": "string"
        }
      },
      "description": "A representation of a Google Cloud resource."
    },
    "GoogleCloudOrgpolicyV1Policy": {
      "id": "GoogleCloudOrgpolicyV1Policy",
      "type": "object",
      "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints` for configurations of Cloud Platform resources.",
      "properties": {
        "booleanPolicy": {
          "$ref": "GoogleCloudOrgpolicyV1BooleanPolicy",
          "description": "For boolean `Constraints`, whether to enforce the `Constraint` or not."
        },
        "etag": {
          "description": "An opaque tag indicating the current version of the `Policy`, used for concurrency control. When the `Policy` is returned from either a `GetPolicy` or a `ListOrgPolicy` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset. When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value that was returned from a `GetOrgPolicy` request as part of a read-modify-write loop for concurrency control. Not setting the `etag`in a `SetOrgPolicy` request will result in an unconditional write of the `Policy`.",
          "format": "byte",
          "type": "string"
        },
        "constraint": {
          "type": "string",
          "description": "The name of the `Constraint` the `Policy` is configuring, for example, `constraints/serviceuser.services`. A [list of available constraints](/resource-manager/docs/organization-policy/org-policy-constraints) is available. Immutable after creation."
        },
        "listPolicy": {
          "$ref": "GoogleCloudOrgpolicyV1ListPolicy",
          "description": "List of values either allowed or disallowed."
        },
        "version": {
          "format": "int32",
          "type": "integer",
          "description": "Version of the `Policy`. Default version is 0;"
        },
        "updateTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "The time stamp the `Policy` was previously updated. This is set by the server, not specified by the caller, and represents the last time a call to `SetOrgPolicy` was made for that `Policy`. Any value set by the client will be ignored."
        },
        "restoreDefault": {
          "description": "Restores the default behavior of the constraint; independent of `Constraint` type.",
          "$ref": "GoogleCloudOrgpolicyV1RestoreDefault"
        }
      }
    },
    "Item": {
      "properties": {
        "updateTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "When this inventory item was last modified."
        },
        "installedPackage": {
          "$ref": "SoftwarePackage",
          "description": "Software package present on the VM instance."
        },
        "availablePackage": {
          "description": "Software package available to be installed on the VM instance.",
          "$ref": "SoftwarePackage"
        },
        "createTime": {
          "description": "When this inventory item was first detected.",
          "type": "string",
          "format": "google-datetime"
        },
        "originType": {
          "enumDescriptions": [
            "Invalid. An origin type must be specified.",
            "This inventory item was discovered as the result of the agent reporting inventory via the reporting API."
          ],
          "enum": [
            "ORIGIN_TYPE_UNSPECIFIED",
            "INVENTORY_REPORT"
          ],
          "type": "string",
          "description": "The origin of this inventory item."
        },
        "id": {
          "description": "Identifier for this item, unique across items for this VM.",
          "type": "string"
        },
        "type": {
          "description": "The specific type of inventory, correlating to its specific details.",
          "enumDescriptions": [
            "Invalid. An type must be specified.",
            "This represents a package that is installed on the VM.",
            "This represents an update that is available for a package."
          ],
          "enum": [
            "TYPE_UNSPECIFIED",
            "INSTALLED_PACKAGE",
            "AVAILABLE_PACKAGE"
          ],
          "type": "string"
        }
      },
      "id": "Item",
      "type": "object",
      "description": "A single piece of inventory on a VM."
    },
    "CreateFeedRequest": {
      "description": "Create asset feed request.",
      "properties": {
        "feedId": {
          "type": "string",
          "description": "Required. This is the client-assigned asset feed identifier and it needs to be unique under a specific parent project/folder/organization."
        },
        "feed": {
          "$ref": "Feed",
          "description": "Required. The feed details. The field `name` must be empty and it will be generated in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id"
        }
      },
      "id": "CreateFeedRequest",
      "type": "object"
    },
    "GoogleCloudAssetV1Edge": {
      "type": "object",
      "id": "GoogleCloudAssetV1Edge",
      "properties": {
        "sourceNode": {
          "type": "string",
          "description": "The source node of the edge. For example, it could be a full resource name for a resource node or an email of an identity."
        },
        "targetNode": {
          "description": "The target node of the edge. For example, it could be a full resource name for a resource node or an email of an identity.",
          "type": "string"
        }
      },
      "description": "A directional edge."
    },
    "Asset": {
      "id": "Asset",
      "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.",
      "properties": {
        "servicePerimeter": {
          "description": "Please also refer to the [service perimeter user guide](https://cloud.google.com/vpc-service-controls/docs/overview).",
          "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter"
        },
        "orgPolicy": {
          "type": "array",
          "description": "A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource.",
          "items": {
            "$ref": "GoogleCloudOrgpolicyV1Policy"
          }
        },
        "assetType": {
          "description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.",
          "type": "string"
        },
        "ancestors": {
          "items": {
            "type": "string"
          },
          "description": "The ancestry path of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`",
          "type": "array"
        },
        "osInventory": {
          "$ref": "Inventory",
          "description": "A representation of runtime OS Inventory information. See [this topic](https://cloud.google.com/compute/docs/instances/os-inventory-management) for more information."
        },
        "resource": {
          "$ref": "Resource",
          "description": "A representation of the resource."
        },
        "iamPolicy": {
          "$ref": "Policy",
          "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/docs/policies#inheritance) for more information."
        },
        "accessLevel": {
          "description": "Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels).",
          "$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel"
        },
        "updateTime": {
          "description": "The last update timestamp of an asset. update_time is updated when create/update/delete operation is performed.",
          "type": "string",
          "format": "google-datetime"
        },
        "accessPolicy": {
          "$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy",
          "description": "Please also refer to the [access policy user guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)."
        },
        "name": {
          "type": "string",
          "description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information."
        }
      },
      "type": "object"
    },
    "GoogleIdentityAccesscontextmanagerV1BasicLevel": {
      "id": "GoogleIdentityAccesscontextmanagerV1BasicLevel",
      "properties": {
        "combiningFunction": {
          "enum": [
            "AND",
            "OR"
          ],
          "enumDescriptions": [
            "All `Conditions` must be true for the `BasicLevel` to be true.",
            "If at least one `Condition` is true, then the `BasicLevel` is true."
          ],
          "description": "How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.",
          "type": "string"
        },
        "conditions": {
          "type": "array",
          "items": {
            "$ref": "GoogleIdentityAccesscontextmanagerV1Condition"
          },
          "description": "Required. A list of requirements for the `AccessLevel` to be granted."
        }
      },
      "type": "object",
      "description": "`BasicLevel` is an `AccessLevel` using a set of recommended features."
    },
    "IamPolicyAnalysisQuery": {
      "type": "object",
      "properties": {
        "resourceSelector": {
          "$ref": "ResourceSelector",
          "description": "Optional. Specifies a resource for analysis."
        },
        "identitySelector": {
          "description": "Optional. Specifies an identity for analysis.",
          "$ref": "IdentitySelector"
        },
        "accessSelector": {
          "$ref": "AccessSelector",
          "description": "Optional. Specifies roles or permissions for analysis. This is optional."
        },
        "scope": {
          "type": "string",
          "description": "Required. The relative name of the root asset. Only resources and IAM policies within the scope will be analyzed. This can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder or project id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects)."
        },
        "options": {
          "description": "Optional. The query options.",
          "$ref": "Options"
        }
      },
      "id": "IamPolicyAnalysisQuery",
      "description": "## LINT.IfChange Keep in sync with ## logs/proto/cloud_asset_inventory/iam_policy_analyzer_log.proto IAM policy analysis query message."
    },
    "UpdateFeedRequest": {
      "type": "object",
      "id": "UpdateFeedRequest",
      "description": "Update asset feed request.",
      "properties": {
        "feed": {
          "$ref": "Feed",
          "description": "Required. The new values of feed details. It must match an existing feed and the field `name` must be in the format of: projects/project_number/feeds/feed_id or folders/folder_number/feeds/feed_id or organizations/organization_number/feeds/feed_id."
        },
        "updateMask": {
          "format": "google-fieldmask",
          "description": "Required. Only updates the `feed` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server.",
          "type": "string"
        }
      }
    },
    "GoogleIdentityAccesscontextmanagerV1CustomLevel": {
      "properties": {
        "expr": {
          "$ref": "Expr",
          "description": "Required. A Cloud CEL expression evaluating to a boolean."
        }
      },
      "type": "object",
      "description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec",
      "id": "GoogleIdentityAccesscontextmanagerV1CustomLevel"
    },
    "GoogleCloudAssetV1Resource": {
      "description": "A Google Cloud resource under analysis.",
      "properties": {
        "fullResourceName": {
          "description": "The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format)",
          "type": "string"
        },
        "analysisState": {
          "$ref": "IamPolicyAnalysisState",
          "description": "The analysis state of this resource."
        }
      },
      "id": "GoogleCloudAssetV1Resource",
      "type": "object"
    },
    "Options": {
      "properties": {
        "outputGroupEdges": {
          "description": "Optional. If true, the result will output group identity edges, starting from the binding's group members, to any expanded identities. Default is false.",
          "type": "boolean"
        },
        "expandGroups": {
          "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If IamPolicyAnalysisQuery.identity_selector is specified, the identity in the result will be determined by the selector, and this flag is not allowed to set. Default is false.",
          "type": "boolean"
        },
        "analyzeServiceAccountImpersonation": {
          "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. We highly recommend you use AssetService.AnalyzeIamPolicyLongrunning rpc instead. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Default is false.",
          "type": "boolean"
        },
        "expandResources": {
          "type": "boolean",
          "description": "Optional. If true and IamPolicyAnalysisQuery.resource_selector is not specified, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If true and IamPolicyAnalysisQuery.resource_selector is specified, the resource section of the result will expand the specified resource to include resources lower in the resource hierarchy. Only project or lower resources are supported. Folder and organization resource cannot be used together with this option. For example, if the request analyzes for which users have permission P on a GCP project with this option enabled, the results will include all users who have permission P on that project or any lower resource. Default is false."
        },
        "expandRoles": {
          "description": "Optional. If true, the access section of result will expand any roles appearing in IAM policy bindings to include their permissions. If IamPolicyAnalysisQuery.access_selector is specified, the access section of the result will be determined by the selector, and this flag is not allowed to set. Default is false.",
          "type": "boolean"
        },
        "outputResourceEdges": {
          "description": "Optional. If true, the result will output resource edges, starting from the policy attached resource, to any expanded resources. Default is false.",
          "type": "boolean"
        }
      },
      "description": "Contains query options.",
      "id": "Options",
      "type": "object"
    },
    "IamPolicyAnalysisState": {
      "id": "IamPolicyAnalysisState",
      "properties": {
        "cause": {
          "description": "The human-readable description of the cause of failure.",
          "type": "string"
        },
        "code": {
          "type": "string",
          "description": "The Google standard error code that best describes the state. For example: - OK means the analysis on this entity has been successfully finished; - PERMISSION_DENIED means an access denied error is encountered; - DEADLINE_EXCEEDED means the analysis on this entity hasn't been started in time;",
          "enumDescriptions": [
            "Not an error; returned on success HTTP Mapping: 200 OK",
            "The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request",
            "Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error",
            "The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request",
            "The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout",
            "Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found",
            "The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict",
            "The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden",
            "The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized",
            "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests",
            "The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level (e.g., when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence). (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. E.g., if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request",
            "The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict",
            "The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request",
            "The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented",
            "Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error",
            "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable",
            "Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error"
          ],
          "enum": [
            "OK",
            "CANCELLED",
            "UNKNOWN",
            "INVALID_ARGUMENT",
            "DEADLINE_EXCEEDED",
            "NOT_FOUND",
            "ALREADY_EXISTS",
            "PERMISSION_DENIED",
            "UNAUTHENTICATED",
            "RESOURCE_EXHAUSTED",
            "FAILED_PRECONDITION",
            "ABORTED",
            "OUT_OF_RANGE",
            "UNIMPLEMENTED",
            "INTERNAL",
            "UNAVAILABLE",
            "DATA_LOSS"
          ]
        }
      },
      "description": "Represents the detailed state of an entity under analysis, such as a resource, an identity or an access.",
      "type": "object"
    },
    "Inventory": {
      "properties": {
        "items": {
          "type": "object",
          "description": "Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version.",
          "additionalProperties": {
            "$ref": "Item"
          }
        },
        "osInfo": {
          "$ref": "OsInfo",
          "description": "Base level operating system information for the VM."
        }
      },
      "type": "object",
      "description": "The inventory details of a VM.",
      "id": "Inventory"
    },
    "GoogleCloudOrgpolicyV1BooleanPolicy": {
      "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this resource.",
      "properties": {
        "enforced": {
          "type": "boolean",
          "description": "If `true`, then the `Policy` is enforced. If `false`, then any configuration is acceptable. Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` with `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following behavior: - If the `Policy` at this resource has enforced set to `false`, serial port connection attempts will be allowed. - If the `Policy` at this resource has enforced set to `true`, serial port connection attempts will be refused. - If the `Policy` at this resource is `RestoreDefault`, serial port connection attempts will be allowed. - If no `Policy` is set at this resource or anywhere higher in the resource hierarchy, serial port connection attempts will be allowed. - If no `Policy` is set at this resource, but one exists higher in the resource hierarchy, the behavior is as if the`Policy` were set at this resource. The following examples demonstrate the different possible layerings: Example 1 (nearest `Constraint` wins): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has no `Policy` set. The constraint at `projects/bar` and `organizations/foo` will not be enforced. Example 2 (enforcement gets replaced): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has a `Policy` with: {enforced: true} The constraint at `organizations/foo` is not enforced. The constraint at `projects/bar` is enforced. Example 3 (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced: true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The constraint at `organizations/foo` is enforced. The constraint at `projects/bar` is not enforced, because `constraint_default` for the `Constraint` is `ALLOW`."
        }
      },
      "id": "GoogleCloudOrgpolicyV1BooleanPolicy",
      "type": "object"
    },
    "IdentitySelector": {
      "type": "object",
      "id": "IdentitySelector",
      "description": "Specifies an identity for which to determine resource access, based on roles assigned either directly to them or to the groups they belong to, directly or indirectly.",
      "properties": {
        "identity": {
          "type": "string",
          "description": "Required. The identity appear in the form of members in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity."
        }
      }
    },
    "SoftwarePackage": {
      "description": "Software package information of the operating system.",
      "properties": {
        "wuaPackage": {
          "$ref": "WindowsUpdatePackage",
          "description": "Details of a Windows Update package. See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for information about Windows Update."
        },
        "googetPackage": {
          "$ref": "VersionedPackage",
          "description": "Details of a Googet package. For details about the googet package manager, see https://github.com/google/googet."
        },
        "yumPackage": {
          "$ref": "VersionedPackage",
          "description": "Yum package info. For details about the yum package manager, see https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum."
        },
        "cosPackage": {
          "description": "Details of a COS package.",
          "$ref": "VersionedPackage"
        },
        "aptPackage": {
          "$ref": "VersionedPackage",
          "description": "Details of an APT package. For details about the apt package manager, see https://wiki.debian.org/Apt."
        },
        "zypperPatch": {
          "description": "Details of a Zypper patch. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual.",
          "$ref": "ZypperPatch"
        },
        "zypperPackage": {
          "$ref": "VersionedPackage",
          "description": "Details of a Zypper package. For details about the Zypper package manager, see https://en.opensuse.org/SDB:Zypper_manual."
        },
        "qfePackage": {
          "$ref": "WindowsQuickFixEngineeringPackage",
          "description": "Details of a Windows Quick Fix engineering package. See https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering for info in Windows Quick Fix Engineering."
        }
      },
      "id": "SoftwarePackage",
      "type": "object"
    },
    "GoogleIdentityAccesscontextmanagerV1AccessPolicy": {
      "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`"
        },
        "parent": {
          "type": "string",
          "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`"
        },
        "etag": {
          "type": "string",
          "description": "Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format."
        },
        "title": {
          "description": "Required. Human readable title. Does not affect behavior.",
          "type": "string"
        }
      },
      "id": "GoogleIdentityAccesscontextmanagerV1AccessPolicy",
      "type": "object"
    },
    "TemporalAsset": {
      "properties": {
        "asset": {
          "$ref": "Asset",
          "description": "An asset in Google Cloud."
        },
        "deleted": {
          "type": "boolean",
          "description": "Whether the asset has been deleted or not."
        },
        "priorAssetState": {
          "description": "State of prior_asset.",
          "enum": [
            "PRIOR_ASSET_STATE_UNSPECIFIED",
            "PRESENT",
            "INVALID",
            "DOES_NOT_EXIST",
            "DELETED"
          ],
          "enumDescriptions": [
            "prior_asset is not applicable for the current asset.",
            "prior_asset is populated correctly.",
            "Failed to set prior_asset.",
            "Current asset is the first known state.",
            "prior_asset is a deletion."
          ],
          "type": "string"
        },
        "priorAsset": {
          "description": "Prior copy of the asset. Populated if prior_asset_state is PRESENT. Currently this is only set for responses in Real-Time Feed.",
          "$ref": "Asset"
        },
        "window": {
          "description": "The time window when the asset data and state was observed.",
          "$ref": "TimeWindow"
        }
      },
      "type": "object",
      "id": "TemporalAsset",
      "description": "An asset in Google Cloud and its temporal metadata, including the time window when it was observed and its status during that window."
    },
    "OsInfo": {
      "description": "Operating system information for the VM.",
      "properties": {
        "shortName": {
          "type": "string",
          "description": "The operating system short name. For example, 'windows' or 'debian'."
        },
        "kernelRelease": {
          "type": "string",
          "description": "The kernel release of the operating system."
        },
        "longName": {
          "type": "string",
          "description": "The operating system long name. For example 'Debian GNU/Linux 9' or 'Microsoft Window Server 2019 Datacenter'."
        },
        "architecture": {
          "description": "The system architecture of the operating system.",
          "type": "string"
        },
        "kernelVersion": {
          "type": "string",
          "description": "The kernel version of the operating system."
        },
        "version": {
          "description": "The version of the operating system.",
          "type": "string"
        },
        "hostname": {
          "description": "The VM hostname.",
          "type": "string"
        },
        "osconfigAgentVersion": {
          "description": "The current version of the OS Config agent running on the VM.",
          "type": "string"
        }
      },
      "id": "OsInfo",
      "type": "object"
    },
    "Empty": {
      "type": "object",
      "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); } The JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty"
    },
    "Policy": {
      "type": "object",
      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
      "id": "Policy",
      "properties": {
        "etag": {
          "format": "byte",
          "type": "string",
          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost."
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "Binding"
          },
          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member."
        },
        "version": {
          "type": "integer",
          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "format": "int32"
        },
        "auditConfigs": {
          "type": "array",
          "description": "Specifies cloud audit logging configuration for this policy.",
          "items": {
            "$ref": "AuditConfig"
          }
        }
      }
    },
    "IamPolicyAnalysisResult": {
      "description": "IAM Policy analysis result, consisting of one IAM policy binding and derived access control lists.",
      "id": "IamPolicyAnalysisResult",
      "properties": {
        "attachedResourceFullName": {
          "description": "The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource to which the iam_binding policy attaches.",
          "type": "string"
        },
        "fullyExplored": {
          "description": "Represents whether all analyses on the iam_binding have successfully finished.",
          "type": "boolean"
        },
        "accessControlLists": {
          "type": "array",
          "description": "The access control lists derived from the iam_binding that match or potentially match resource and access selectors specified in the request.",
          "items": {
            "$ref": "GoogleCloudAssetV1AccessControlList"
          }
        },
        "iamBinding": {
          "$ref": "Binding",
          "description": "The Cloud IAM policy binding under analysis."
        },
        "identityList": {
          "description": "The identity list derived from members of the iam_binding that match or potentially match identity selector specified in the request.",
          "$ref": "GoogleCloudAssetV1IdentityList"
        }
      },
      "type": "object"
    },
    "AnalyzeIamPolicyLongrunningRequest": {
      "properties": {
        "analysisQuery": {
          "$ref": "IamPolicyAnalysisQuery",
          "description": "Required. The request query."
        },
        "outputConfig": {
          "$ref": "IamPolicyAnalysisOutputConfig",
          "description": "Required. Output configuration indicating where the results will be output to."
        }
      },
      "description": "A request message for AssetService.AnalyzeIamPolicyLongrunning.",
      "type": "object",
      "id": "AnalyzeIamPolicyLongrunningRequest"
    },
    "ExportAssetsRequest": {
      "type": "object",
      "description": "Export asset request.",
      "properties": {
        "readTime": {
          "format": "google-datetime",
          "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.",
          "type": "string"
        },
        "assetTypes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of asset types to take a snapshot for. For example: \"compute.googleapis.com/Disk\". Regular expressions are also supported. For example: * \"compute.googleapis.com.*\" snapshots resources whose asset type starts with \"compute.googleapis.com\". * \".*Instance\" snapshots resources whose asset type ends with \"Instance\". * \".*Instance.*\" snapshots resources whose asset type contains \"Instance\". See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types."
        },
        "contentType": {
          "type": "string",
          "enum": [
            "CONTENT_TYPE_UNSPECIFIED",
            "RESOURCE",
            "IAM_POLICY",
            "ORG_POLICY",
            "ACCESS_POLICY",
            "OS_INVENTORY"
          ],
          "description": "Asset content type. If not specified, no content but the asset name will be returned.",
          "enumDescriptions": [
            "Unspecified content type.",
            "Resource metadata.",
            "The actual IAM policy set on a resource.",
            "The Cloud Organization Policy set on an asset.",
            "The Cloud Access context manager Policy set on an asset.",
            "The runtime OS Inventory information."
          ]
        },
        "outputConfig": {
          "description": "Required. Output configuration indicating where the results will be output to.",
          "$ref": "OutputConfig"
        }
      },
      "id": "ExportAssetsRequest"
    },
    "GoogleCloudOrgpolicyV1RestoreDefault": {
      "type": "object",
      "properties": {},
      "description": "Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. Suppose that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/serviceuser.services`. Suppose that organization foo.com sets a `Policy` at their Organization resource node that restricts the allowed service activations to deny all service activations. They could then set a `Policy` with the `policy_type` `restore_default` on several experimental projects, restoring the `constraint_default` enforcement of the `Constraint` for only those projects, allowing those projects to have all services activated.",
      "id": "GoogleCloudOrgpolicyV1RestoreDefault"
    },
    "GoogleIdentityAccesscontextmanagerV1AccessLevel": {
      "properties": {
        "title": {
          "description": "Human readable title. Must be unique within the Policy.",
          "type": "string"
        },
        "custom": {
          "description": "A `CustomLevel` written in the Common Expression Language.",
          "$ref": "GoogleIdentityAccesscontextmanagerV1CustomLevel"
        },
        "basic": {
          "$ref": "GoogleIdentityAccesscontextmanagerV1BasicLevel",
          "description": "A `BasicLevel` composed of `Conditions`."
        },
        "name": {
          "type": "string",
          "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters."
        },
        "description": {
          "type": "string",
          "description": "Description of the `AccessLevel` and its use. Does not affect behavior."
        }
      },
      "description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied.",
      "type": "object",
      "id": "GoogleIdentityAccesscontextmanagerV1AccessLevel"
    },
    "GoogleCloudAssetV1GcsDestination": {
      "id": "GoogleCloudAssetV1GcsDestination",
      "properties": {
        "uri": {
          "description": "Required. The uri of the Cloud Storage object. It's the same uri that is used by gsutil. For example: \"gs://bucket_name/object_name\". See [Quickstart: Using the gsutil tool] (https://cloud.google.com/storage/docs/quickstart-gsutil) for examples.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "A Cloud Storage location."
    },
    "Binding": {
      "type": "object",
      "id": "Binding",
      "properties": {
        "members": {
          "items": {
            "type": "string"
          },
          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
          "type": "array"
        },
        "role": {
          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
          "type": "string"
        },
        "condition": {
          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "$ref": "Expr"
        }
      },
      "description": "Associates `members` with a `role`."
    },
    "GoogleIdentityAccesscontextmanagerV1DevicePolicy": {
      "type": "object",
      "properties": {
        "allowedDeviceManagementLevels": {
          "description": "Allowed device management levels, an empty list allows all management levels.",
          "items": {
            "enum": [
              "MANAGEMENT_UNSPECIFIED",
              "NONE",
              "BASIC",
              "COMPLETE"
            ],
            "type": "string",
            "enumDescriptions": [
              "The device's management level is not specified or not known.",
              "The device is not managed.",
              "Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.",
              "Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform."
            ]
          },
          "type": "array"
        },
        "osConstraints": {
          "type": "array",
          "description": "Allowed OS versions, an empty list allows all types and all versions.",
          "items": {
            "$ref": "GoogleIdentityAccesscontextmanagerV1OsConstraint"
          }
        },
        "requireScreenlock": {
          "description": "Whether or not screenlock is required for the DevicePolicy to be true. Defaults to `false`.",
          "type": "boolean"
        },
        "requireCorpOwned": {
          "description": "Whether the device needs to be corp owned.",
          "type": "boolean"
        },
        "allowedEncryptionStatuses": {
          "items": {
            "enumDescriptions": [
              "The encryption status of the device is not specified or not known.",
              "The device does not support encryption.",
              "The device supports encryption, but is currently unencrypted.",
              "The device is encrypted."
            ],
            "type": "string",
            "enum": [
              "ENCRYPTION_UNSPECIFIED",
              "ENCRYPTION_UNSUPPORTED",
              "UNENCRYPTED",
              "ENCRYPTED"
            ]
          },
          "type": "array",
          "description": "Allowed encryptions statuses, an empty list allows all statuses."
        },
        "requireAdminApproval": {
          "description": "Whether the device needs to be approved by the customer admin.",
          "type": "boolean"
        }
      },
      "id": "GoogleIdentityAccesscontextmanagerV1DevicePolicy",
      "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a given access level. A `DevicePolicy` specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. `DevicePolicy` acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops."
    },
    "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices": {
      "properties": {
        "allowedServices": {
          "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "enableRestriction": {
          "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.",
          "type": "boolean"
        }
      },
      "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices",
      "type": "object",
      "description": "Specifies how APIs are allowed to communicate within the Service Perimeter."
    },
    "IamPolicyAnalysisOutputConfig": {
      "description": "Output configuration for export IAM policy analysis destination.",
      "properties": {
        "bigqueryDestination": {
          "$ref": "GoogleCloudAssetV1BigQueryDestination",
          "description": "Destination on BigQuery."
        },
        "gcsDestination": {
          "description": "Destination on Cloud Storage.",
          "$ref": "GoogleCloudAssetV1GcsDestination"
        }
      },
      "type": "object",
      "id": "IamPolicyAnalysisOutputConfig"
    },
    "IamPolicySearchResult": {
      "id": "IamPolicySearchResult",
      "description": "A result of IAM Policy search, containing information of an IAM policy.",
      "type": "object",
      "properties": {
        "explanation": {
          "$ref": "Explanation",
          "description": "Explanation about the IAM policy search result. It contains additional information to explain why the search result matches the query."
        },
        "policy": {
          "description": "The IAM policy directly set on the given resource. Note that the original IAM policy can contain multiple bindings. This only contains the bindings that match the given query. For queries that don't contain a constrain on policies (e.g., an empty query), this contains all the bindings. To search against the `policy` bindings: * use a field query: - query by the policy contained members. Example: `policy:amy@gmail.com` - query by the policy contained roles. Example: `policy:roles/compute.admin` - query by the policy contained roles' included permissions. Example: `policy.role.permissions:compute.instances.create`",
          "$ref": "Policy"
        },
        "resource": {
          "description": "The full resource name of the resource associated with this IAM policy. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Cloud Asset Inventory Resource Name Format](https://cloud.google.com/asset-inventory/docs/resource-name-format) for more information. To search against the `resource`: * use a field query. Example: `resource:organizations/123`",
          "type": "string"
        },
        "project": {
          "description": "The project that the associated GCP resource belongs to, in the form of projects/{PROJECT_NUMBER}. If an IAM policy is set on a resource (like VM instance, Cloud Storage bucket), the project field will indicate the project that contains the resource. If an IAM policy is set on a folder or orgnization, the project field will be empty. To search against the `project`: * specify the `scope` field as this project in your search request.",
          "type": "string"
        }
      }
    },
    "GoogleCloudAssetV1Access": {
      "id": "GoogleCloudAssetV1Access",
      "properties": {
        "analysisState": {
          "$ref": "IamPolicyAnalysisState",
          "description": "The analysis state of this access."
        },
        "permission": {
          "type": "string",
          "description": "The permission."
        },
        "role": {
          "type": "string",
          "description": "The role."
        }
      },
      "description": "An IAM role or permission under analysis.",
      "type": "object"
    },
    "OutputConfig": {
      "properties": {
        "gcsDestination": {
          "$ref": "GcsDestination",
          "description": "Destination on Cloud Storage."
        },
        "bigqueryDestination": {
          "$ref": "BigQueryDestination",
          "description": "Destination on BigQuery. The output table stores the fields in asset proto as columns in BigQuery."
        }
      },
      "id": "OutputConfig",
      "description": "Output configuration for export assets destination.",
      "type": "object"
    },
    "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig": {
      "properties": {
        "vpcAccessibleServices": {
          "description": "Configuration for APIs allowed within Perimeter.",
          "$ref": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices"
        },
        "resources": {
          "description": "A list of Google Cloud resources that are inside of the service perimeter. Currently only projects are allowed. Format: `projects/{project_number}`",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "accessLevels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`. For Service Perimeter Bridge, must be empty."
        },
        "restrictedServices": {
          "description": "Google Cloud services that are subject to the Service Perimeter restrictions. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
      "description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.",
      "type": "object"
    },
    "AuditConfig": {
      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
      "type": "object",
      "properties": {
        "auditLogConfigs": {
          "items": {
            "$ref": "AuditLogConfig"
          },
          "description": "The configuration for logging of each type of permission.",
          "type": "array"
        },
        "service": {
          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
          "type": "string"
        }
      },
      "id": "AuditConfig"
    },
    "Explanation": {
      "description": "Explanation about the IAM policy search result.",
      "id": "Explanation",
      "properties": {
        "matchedPermissions": {
          "type": "object",
          "additionalProperties": {
            "$ref": "Permissions"
          },
          "description": "The map from roles to their included permissions that match the permission query (i.e., a query containing `policy.role.permissions:`). Example: if query `policy.role.permissions:compute.disk.get` matches a policy binding that contains owner role, the matched_permissions will be `{\"roles/owner\": [\"compute.disk.get\"]}`. The roles can also be found in the returned `policy` bindings. Note that the map is populated only for requests with permission queries."
        }
      },
      "type": "object"
    },
    "GoogleCloudOrgpolicyV1ListPolicy": {
      "id": "GoogleCloudOrgpolicyV1ListPolicy",
      "type": "object",
      "properties": {
        "inheritFromParent": {
          "type": "boolean",
          "description": "Determines the inheritance behavior for this `Policy`. By default, a `ListPolicy` set at a resource supersedes any `Policy` set anywhere up the resource hierarchy. However, if `inherit_from_parent` is set to `true`, then the values from the effective `Policy` of the parent resource are inherited, meaning the values set in this `Policy` are added to the values inherited up the hierarchy. Setting `Policy` hierarchies that inherit both allowed values and denied values isn't recommended in most circumstances to keep the configuration simple and understandable. However, it is possible to set a `Policy` with `allowed_values` set that inherits a `Policy` with `denied_values` set. In this case, the values that are allowed must be in `allowed_values` and not present in `denied_values`. For example, suppose you have a `Constraint` `constraints/serviceuser.services`, which has a `constraint_type` of `list_constraint`, and with `constraint_default` set to `ALLOW`. Suppose that at the Organization level, a `Policy` is applied that restricts the allowed API activations to {`E1`, `E2`}. Then, if a `Policy` is applied to a project below the Organization that has `inherit_from_parent` set to `false` and field all_values set to DENY, then an attempt to activate any API will be denied. The following examples demonstrate different possible layerings for `projects/bar` parented by `organizations/foo`: Example 1 (no inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has `inherit_from_parent` `false` and values: {allowed_values: \"E3\" allowed_values: \"E4\"} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`. Example 2 (inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {value: \"E3\" value: \"E4\" inherit_from_parent: true} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example 3 (inheriting both allowed and denied values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {denied_values: \"E1\"} The accepted values at `organizations/foo` are `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4 (RestoreDefault): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {RestoreDefault: {}} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (no policy inherits parent policy): `organizations/foo` has no `Policy` set. `projects/bar` has no `Policy` set. The accepted values at both levels are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6 (ListConstraint allowing all): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values at `organizations/foo` are `E1`, E2`. Any value is accepted at `projects/bar`. Example 7 (ListConstraint allowing none): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: DENY} The accepted values at `organizations/foo` are `E1`, E2`. No value is accepted at `projects/bar`. Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy O1-\u003e{F1, F2}; F1-\u003e{P1}; F2-\u003e{P2, P3}, `organizations/foo` has a `Policy` with values: {allowed_values: \"under:organizations/O1\"} `projects/bar` has a `Policy` with: {allowed_values: \"under:projects/P3\"} {denied_values: \"under:folders/F2\"} The accepted values at `organizations/foo` are `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, `projects/P3`. The accepted values at `projects/bar` are `organizations/O1`, `folders/F1`, `projects/P1`."
        },
        "suggestedValue": {
          "description": "Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this `Policy`. If `suggested_value` is not set, it will inherit the value specified higher in the hierarchy, unless `inherit_from_parent` is `false`.",
          "type": "string"
        },
        "allValues": {
          "type": "string",
          "enumDescriptions": [
            "Indicates that allowed_values or denied_values must be set.",
            "A policy with this set allows all values.",
            "A policy with this set denies all values."
          ],
          "description": "The policy all_values state.",
          "enum": [
            "ALL_VALUES_UNSPECIFIED",
            "ALLOW",
            "DENY"
          ]
        },
        "allowedValues": {
          "type": "array",
          "description": "List of values allowed at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.",
          "items": {
            "type": "string"
          }
        },
        "deniedValues": {
          "description": "List of values denied at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "Used in `policy_type` to specify how `list_policy` behaves at this resource. `ListPolicy` can define specific values and subtrees of Cloud Resource Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or denied by setting the `allowed_values` and `denied_values` fields. This is achieved by using the `under:` and optional `is:` prefixes. The `under:` prefix is used to denote resource subtree values. The `is:` prefix is used to denote specific values, and is required only if the value contains a \":\". Values prefixed with \"is:\" are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats: - \"projects/\", e.g. \"projects/tokyo-rain-123\" - \"folders/\", e.g. \"folders/1234\" - \"organizations/\", e.g. \"organizations/1234\" The `supports_under` field of the associated `Constraint` defines whether ancestry prefixes can be used. You can set `allowed_values` and `denied_values` in the same `Policy` if `all_values` is `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values` and `denied_values` must be unset."
    },
    "ResourceSearchResult": {
      "id": "ResourceSearchResult",
      "properties": {
        "assetType": {
          "description": "The type of this resource. Example: `compute.googleapis.com/Disk`. To search against the `asset_type`: * specify the `asset_type` field in your search request.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "The full resource name of this resource. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Cloud Asset Inventory Resource Name Format](https://cloud.google.com/asset-inventory/docs/resource-name-format) for more information. To search against the `name`: * use a field query. Example: `name:instance1` * use a free text query. Example: `instance1`"
        },
        "labels": {
          "type": "object",
          "description": "Labels associated with this resource. See [Labelling and grouping GCP resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information. To search against the `labels`: * use a field query: - query on any label's key or value. Example: `labels:prod` - query by a given label. Example: `labels.env:prod` - query by a given label's existence. Example: `labels.env:*` * use a free text query. Example: `prod`",
          "additionalProperties": {
            "type": "string"
          }
        },
        "networkTags": {
          "type": "array",
          "description": "Network tags associated with this resource. Like labels, network tags are a type of annotations used to group GCP resources. See [Labelling GCP resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information. To search against the `network_tags`: * use a field query. Example: `networkTags:internal` * use a free text query. Example: `internal`",
          "items": {
            "type": "string"
          }
        },
        "displayName": {
          "type": "string",
          "description": "The display name of this resource. To search against the `display_name`: * use a field query. Example: `displayName:\"My Instance\"` * use a free text query. Example: `\"My Instance\"`"
        },
        "description": {
          "type": "string",
          "description": "One or more paragraphs of text description of this resource. Maximum length could be up to 1M bytes. To search against the `description`: * use a field query. Example: `description:\"*important instance*\"` * use a free text query. Example: `\"*important instance*\"`"
        },
        "location": {
          "type": "string",
          "description": "Location can be `global`, regional like `us-east1`, or zonal like `us-west1-b`. To search against the `location`: * use a field query. Example: `location:us-west*` * use a free text query. Example: `us-west*`"
        },
        "project": {
          "type": "string",
          "description": "The project that this resource belongs to, in the form of projects/{PROJECT_NUMBER}. To search against the `project`: * specify the `scope` field as this project in your search request."
        },
        "additionalAttributes": {
          "description": "The additional searchable attributes of this resource. The attributes may vary from one resource type to another. Examples: `projectId` for Project, `dnsName` for DNS ManagedZone. This field contains a subset of the resource metadata fields that are returned by the List or Get APIs provided by the corresponding GCP service (e.g., Compute Engine). see [API references and supported searchable attributes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types) for more information. You can search values of these fields through free text search. However, you should not consume the field programically as the field names and values may change as the GCP service updates to a new incompatible API version. To search against the `additional_attributes`: * use a free text query to match the attributes values. Example: to search `additional_attributes = { dnsName: \"foobar\" }`, you can issue a query `foobar`.",
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          }
        }
      },
      "type": "object",
      "description": "A result of Resource Search, containing information of a cloud resource."
    },
    "ZypperPatch": {
      "type": "object",
      "description": "Details related to a Zypper Patch.",
      "id": "ZypperPatch",
      "properties": {
        "severity": {
          "description": "The severity specified for this patch",
          "type": "string"
        },
        "patchName": {
          "description": "The name of the patch.",
          "type": "string"
        },
        "summary": {
          "type": "string",
          "description": "Any summary information provided about this patch."
        },
        "category": {
          "description": "The category of the patch.",
          "type": "string"
        }
      }
    },
    "PubsubDestination": {
      "id": "PubsubDestination",
      "properties": {
        "topic": {
          "description": "The name of the Pub/Sub topic to publish to. Example: `projects/PROJECT_ID/topics/TOPIC_ID`.",
          "type": "string"
        }
      },
      "description": "A Pub/Sub destination.",
      "type": "object"
    },
    "ListFeedsResponse": {
      "type": "object",
      "id": "ListFeedsResponse",
      "properties": {
        "feeds": {
          "type": "array",
          "items": {
            "$ref": "Feed"
          },
          "description": "A list of feeds."
        }
      }
    },
    "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).",
      "id": "Status",
      "type": "object",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "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."
        },
        "details": {
          "items": {
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            },
            "type": "object"
          },
          "type": "array",
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use."
        }
      }
    },
    "WindowsUpdatePackage": {
      "type": "object",
      "id": "WindowsUpdatePackage",
      "properties": {
        "categories": {
          "items": {
            "$ref": "WindowsUpdateCategory"
          },
          "description": "The categories that are associated with this update package.",
          "type": "array"
        },
        "moreInfoUrls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A collection of URLs that provide more information about the update package."
        },
        "title": {
          "type": "string",
          "description": "The localized title of the update package."
        },
        "lastDeploymentChangeTime": {
          "description": "The last published date of the update, in (UTC) date and time.",
          "format": "google-datetime",
          "type": "string"
        },
        "supportUrl": {
          "description": "A hyperlink to the language-specific support information for the update.",
          "type": "string"
        },
        "revisionNumber": {
          "description": "The revision number of this update package.",
          "type": "integer",
          "format": "int32"
        },
        "description": {
          "description": "The localized description of the update package.",
          "type": "string"
        },
        "kbArticleIds": {
          "description": "A collection of Microsoft Knowledge Base article IDs that are associated with the update package.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "updateId": {
          "type": "string",
          "description": "Gets the identifier of an update package. Stays the same across revisions."
        }
      },
      "description": "Details related to a Windows Update package. Field data and names are taken from Windows Update API IUpdate Interface: https://docs.microsoft.com/en-us/windows/win32/api/_wua/ Descriptive fields like title, and description are localized based on the locale of the VM being updated."
    },
    "GoogleCloudAssetV1IdentityList": {
      "description": "The identities and group edges.",
      "id": "GoogleCloudAssetV1IdentityList",
      "type": "object",
      "properties": {
        "groupEdges": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudAssetV1Edge"
          },
          "description": "Group identity edges of the graph starting from the binding's group members to any node of the identities. The Edge.source_node contains a group, such as `group:parent@google.com`. The Edge.target_node contains a member of the group, such as `group:child@google.com` or `user:foo@google.com`. This field is present only if the output_group_edges option is enabled in request."
        },
        "identities": {
          "description": "Only the identities that match one of the following conditions will be presented: - The identity_selector, if it is specified in request; - Otherwise, identities reachable from the policy binding's members.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudAssetV1Identity"
          }
        }
      }
    }
  },
  "version_module": true,
  "discoveryVersion": "v1",
  "ownerName": "Google",
  "rootUrl": "https://cloudasset.googleapis.com/",
  "id": "cloudasset:v1",
  "baseUrl": "https://cloudasset.googleapis.com/",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "revision": "20201115",
  "version": "v1",
  "fullyEncodeReservedExpansion": true,
  "documentationLink": "https://cloud.google.com/asset-inventory/docs/quickstart",
  "batchPath": "batch",
  "mtlsRootUrl": "https://cloudasset.mtls.googleapis.com/",
  "basePath": "",
  "parameters": {
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "quotaUser": {
      "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.",
      "type": "string"
    },
    "alt": {
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "type": "string",
      "location": "query",
      "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",
      "description": "Data format for response."
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "default": "true"
    },
    "uploadType": {
      "location": "query",
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string",
      "location": "query"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string"
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "type": "string",
      "location": "query",
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    }
  },
  "protocol": "rest",
  "description": "The cloud asset API manages the history and inventory of cloud resources.",
  "name": "cloudasset",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "servicePath": ""
}
