{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://policytroubleshooter.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Policy Troubleshooter",
  "description": "",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/iam/",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "policytroubleshooter:v1beta",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://policytroubleshooter.mtls.googleapis.com/",
  "name": "policytroubleshooter",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "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.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "iam": {
      "methods": {
        "troubleshoot": {
          "description": "Checks whether a member has a specific permission for a specific resource,\nand explains why the member does or does not have that permission.",
          "flatPath": "v1beta/iam:troubleshoot",
          "httpMethod": "POST",
          "id": "policytroubleshooter.iam.troubleshoot",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1beta/iam:troubleshoot",
          "request": {
            "$ref": "GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyRequest"
          },
          "response": {
            "$ref": "GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    }
  },
  "revision": "20200210",
  "rootUrl": "https://policytroubleshooter.googleapis.com/",
  "schemas": {
    "GoogleCloudPolicytroubleshooterV1betaAccessTuple": {
      "description": "Information about the member, resource, and permission to check.",
      "id": "GoogleCloudPolicytroubleshooterV1betaAccessTuple",
      "properties": {
        "fullResourceName": {
          "description": "Required. The full resource name that identifies the resource. For example,\n`//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`.\n\nFor examples of full resource names for Google Cloud services, see\nhttps://cloud.google.com/iam/help/troubleshooter/full-resource-names.",
          "type": "string"
        },
        "permission": {
          "description": "Required. The IAM permission to check for the specified member and resource.\n\nFor a complete list of IAM permissions, see\nhttps://cloud.google.com/iam/help/permissions/reference.\n\nFor a complete list of predefined IAM roles and the permissions in each\nrole, see https://cloud.google.com/iam/help/roles/reference.",
          "type": "string"
        },
        "principal": {
          "description": "Required. The member, or principal, whose access you want to check, in the form of\nthe email address that represents that member. For example,\n`alice@example.com` or\n`my-service-account@my-project.iam.gserviceaccount.com`.\n\nThe member must be a Google Account or a service account. Other types of\nmembers are not supported.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudPolicytroubleshooterV1betaBindingExplanation": {
      "description": "Details about how a binding in a policy affects a member's ability to use a\npermission.",
      "id": "GoogleCloudPolicytroubleshooterV1betaBindingExplanation",
      "properties": {
        "access": {
          "description": "Indicates whether _this binding_ provides the specified permission to the\nspecified member for the specified resource.\n\nThis field does _not_ indicate whether the member actually has the\npermission for the resource. There might be another binding that overrides\nthis binding. To determine whether the member actually has the permission,\nuse the `access` field in the\nTroubleshootIamPolicyResponse.",
          "enum": [
            "ACCESS_STATE_UNSPECIFIED",
            "GRANTED",
            "NOT_GRANTED",
            "UNKNOWN_CONDITIONAL",
            "UNKNOWN_INFO_DENIED"
          ],
          "enumDescriptions": [
            "Reserved for future use.",
            "The member has the permission.",
            "The member does not have the permission.",
            "The member has the permission only if a condition expression evaluates to\n`true`.",
            "The sender of the request does not have access to all of the policies that\nPolicy Troubleshooter needs to evaluate."
          ],
          "type": "string"
        },
        "condition": {
          "$ref": "GoogleTypeExpr",
          "description": "A condition expression that prevents access unless the expression evaluates\nto `true`.\n\nTo learn about IAM Conditions, see\nhttp://cloud.google.com/iam/help/conditions/overview."
        },
        "memberships": {
          "additionalProperties": {
            "$ref": "GoogleCloudPolicytroubleshooterV1betaBindingExplanationAnnotatedMembership"
          },
          "description": "Indicates whether each member in the binding includes the member specified\nin the request, either directly or indirectly. Each key identifies a member\nin the binding, and each value indicates whether the member in the binding\nincludes the member in the request.\n\nFor example, suppose that a binding includes the following members:\n\n* `user:alice@example.com`\n* `group:product-eng@example.com`\n\nYou want to troubleshoot access for `user:bob@example.com`. This user is a\nmember of the group `group:product-eng@example.com`.\n\nFor the first member in the binding, the key is `user:alice@example.com`,\nand the `membership` field in the value is set to\n`MEMBERSHIP_NOT_INCLUDED`.\n\nFor the second member in the binding, the key is\n`group:product-eng@example.com`, and the `membership` field in the value is\nset to `MEMBERSHIP_INCLUDED`.",
          "type": "object"
        },
        "relevance": {
          "description": "The relevance of this binding to the overall determination for the entire\npolicy.",
          "enum": [
            "HEURISTIC_RELEVANCE_UNSPECIFIED",
            "NORMAL",
            "HIGH"
          ],
          "enumDescriptions": [
            "Reserved for future use.",
            "The data point has a limited effect on the result. Changing the data point\nis unlikely to affect the overall determination.",
            "The data point has a strong effect on the result. Changing the data point\nis likely to affect the overall determination."
          ],
          "type": "string"
        },
        "role": {
          "description": "The role that this binding grants. For example,\n`roles/compute.serviceAgent`.\n\nFor a complete list of predefined IAM roles, as well as the permissions in\neach role, see https://cloud.google.com/iam/help/roles/reference.",
          "type": "string"
        },
        "rolePermission": {
          "description": "Indicates whether the role granted by this binding contains the specified\npermission.",
          "enum": [
            "ROLE_PERMISSION_UNSPECIFIED",
            "ROLE_PERMISSION_INCLUDED",
            "ROLE_PERMISSION_NOT_INCLUDED",
            "ROLE_PERMISSION_UNKNOWN_INFO_DENIED"
          ],
          "enumDescriptions": [
            "Reserved for future use.",
            "The permission is included in the role.",
            "The permission is not included in the role.",
            "The sender of the request is not allowed to access the binding."
          ],
          "type": "string"
        },
        "rolePermissionRelevance": {
          "description": "The relevance of the permission's existence, or nonexistence, in the role\nto the overall determination for the entire policy.",
          "enum": [
            "HEURISTIC_RELEVANCE_UNSPECIFIED",
            "NORMAL",
            "HIGH"
          ],
          "enumDescriptions": [
            "Reserved for future use.",
            "The data point has a limited effect on the result. Changing the data point\nis unlikely to affect the overall determination.",
            "The data point has a strong effect on the result. Changing the data point\nis likely to affect the overall determination."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudPolicytroubleshooterV1betaBindingExplanationAnnotatedMembership": {
      "description": "Details about whether the binding includes the member.",
      "id": "GoogleCloudPolicytroubleshooterV1betaBindingExplanationAnnotatedMembership",
      "properties": {
        "membership": {
          "description": "Indicates whether the binding includes the member.",
          "enum": [
            "MEMBERSHIP_UNSPECIFIED",
            "MEMBERSHIP_INCLUDED",
            "MEMBERSHIP_NOT_INCLUDED",
            "MEMBERSHIP_UNKNOWN_INFO_DENIED",
            "MEMBERSHIP_UNKNOWN_UNSUPPORTED"
          ],
          "enumDescriptions": [
            "Reserved for future use.",
            "The binding includes the member. The member can be included directly\nor indirectly. For example:\n\n* A member is included directly if that member is listed in the binding.\n* A member is included indirectly if that member is in a Google group or\n  G Suite domain that is listed in the binding.",
            "The binding does not include the member.",
            "The sender of the request is not allowed to access the binding.",
            "The member is an unsupported type. Only Google Accounts and service\naccounts are supported."
          ],
          "type": "string"
        },
        "relevance": {
          "description": "The relevance of the member's status to the overall determination for the\nbinding.",
          "enum": [
            "HEURISTIC_RELEVANCE_UNSPECIFIED",
            "NORMAL",
            "HIGH"
          ],
          "enumDescriptions": [
            "Reserved for future use.",
            "The data point has a limited effect on the result. Changing the data point\nis unlikely to affect the overall determination.",
            "The data point has a strong effect on the result. Changing the data point\nis likely to affect the overall determination."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudPolicytroubleshooterV1betaExplainedPolicy": {
      "description": "Details about how a specific IAM Policy contributed\nto the access check.",
      "id": "GoogleCloudPolicytroubleshooterV1betaExplainedPolicy",
      "properties": {
        "access": {
          "description": "Indicates whether _this policy_ provides the specified permission to the\nspecified member for the specified resource.\n\nThis field does _not_ indicate whether the member actually has the\npermission for the resource. There might be another policy that overrides\nthis policy. To determine whether the member actually has the permission,\nuse the `access` field in the\nTroubleshootIamPolicyResponse.",
          "enum": [
            "ACCESS_STATE_UNSPECIFIED",
            "GRANTED",
            "NOT_GRANTED",
            "UNKNOWN_CONDITIONAL",
            "UNKNOWN_INFO_DENIED"
          ],
          "enumDescriptions": [
            "Reserved for future use.",
            "The member has the permission.",
            "The member does not have the permission.",
            "The member has the permission only if a condition expression evaluates to\n`true`.",
            "The sender of the request does not have access to all of the policies that\nPolicy Troubleshooter needs to evaluate."
          ],
          "type": "string"
        },
        "bindingExplanations": {
          "description": "Details about how each binding in the policy affects the member's ability,\nor inability, to use the permission for the resource.\n\nIf the sender of the request does not have access to the policy, this field\nis omitted.",
          "items": {
            "$ref": "GoogleCloudPolicytroubleshooterV1betaBindingExplanation"
          },
          "type": "array"
        },
        "fullResourceName": {
          "description": "The full resource name that identifies the resource. For example,\n`//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`.\n\nIf the sender of the request does not have access to the policy, this field\nis omitted.\n\nFor examples of full resource names for Google Cloud services, see\nhttps://cloud.google.com/iam/help/troubleshooter/full-resource-names.",
          "type": "string"
        },
        "policy": {
          "$ref": "GoogleIamV1Policy",
          "description": "The IAM policy attached to the resource.\n\nIf the sender of the request does not have access to the policy, this field\nis empty."
        },
        "relevance": {
          "description": "The relevance of this policy to the overall determination in the\nTroubleshootIamPolicyResponse.\n\nIf the sender of the request does not have access to the policy, this field\nis omitted.",
          "enum": [
            "HEURISTIC_RELEVANCE_UNSPECIFIED",
            "NORMAL",
            "HIGH"
          ],
          "enumDescriptions": [
            "Reserved for future use.",
            "The data point has a limited effect on the result. Changing the data point\nis unlikely to affect the overall determination.",
            "The data point has a strong effect on the result. Changing the data point\nis likely to affect the overall determination."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyRequest": {
      "description": "Request for TroubleshootIamPolicy.",
      "id": "GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyRequest",
      "properties": {
        "accessTuple": {
          "$ref": "GoogleCloudPolicytroubleshooterV1betaAccessTuple",
          "description": "The information to use for checking whether a member has a permission for a\nresource."
        }
      },
      "type": "object"
    },
    "GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyResponse": {
      "description": "Response for TroubleshootIamPolicy.",
      "id": "GoogleCloudPolicytroubleshooterV1betaTroubleshootIamPolicyResponse",
      "properties": {
        "access": {
          "description": "Indicates whether the member has the specified permission for the specified\nresource, based on evaluating all of the applicable policies.",
          "enum": [
            "ACCESS_STATE_UNSPECIFIED",
            "GRANTED",
            "NOT_GRANTED",
            "UNKNOWN_CONDITIONAL",
            "UNKNOWN_INFO_DENIED"
          ],
          "enumDescriptions": [
            "Reserved for future use.",
            "The member has the permission.",
            "The member does not have the permission.",
            "The member has the permission only if a condition expression evaluates to\n`true`.",
            "The sender of the request does not have access to all of the policies that\nPolicy Troubleshooter needs to evaluate."
          ],
          "type": "string"
        },
        "explainedPolicies": {
          "description": "List of IAM policies that were evaluated to check the member's permissions,\nwith annotations to indicate how each policy contributed to the final\nresult.\n\nThe list of policies can include the policy for the resource itself. It can\nalso include policies that are inherited from higher levels of the resource\nhierarchy, including the organization, the folder, and the project.\n\nTo learn more about the resource hierarchy, see\nhttps://cloud.google.com/iam/help/resource-hierarchy.",
          "items": {
            "$ref": "GoogleCloudPolicytroubleshooterV1betaExplainedPolicy"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleIamV1AuditConfig": {
      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n            },\n            {\n              \"log_type\": \"ADMIN_READ\",\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\"\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
      "id": "GoogleIamV1AuditConfig",
      "properties": {
        "auditLogConfigs": {
          "description": "The configuration for logging of each type of permission.",
          "items": {
            "$ref": "GoogleIamV1AuditLogConfig"
          },
          "type": "array"
        },
        "service": {
          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleIamV1AuditLogConfig": {
      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\",\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
      "id": "GoogleIamV1AuditLogConfig",
      "properties": {
        "exemptedMembers": {
          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "logType": {
          "description": "The log type that this config enables.",
          "enum": [
            "LOG_TYPE_UNSPECIFIED",
            "ADMIN_READ",
            "DATA_WRITE",
            "DATA_READ"
          ],
          "enumDescriptions": [
            "Default case. Should never be this.",
            "Admin reads. Example: CloudIAM getIamPolicy",
            "Data writes. Example: CloudSQL Users create",
            "Data reads. Example: CloudSQL Users list"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleIamV1Binding": {
      "description": "Associates `members` with a `role`.",
      "id": "GoogleIamV1Binding",
      "properties": {
        "condition": {
          "$ref": "GoogleTypeExpr",
          "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently."
        },
        "members": {
          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "role": {
          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleIamV1Policy": {
      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\"user:eve@example.com\"],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
      "id": "GoogleIamV1Policy",
      "properties": {
        "auditConfigs": {
          "description": "Specifies cloud audit logging configuration for this policy.",
          "items": {
            "$ref": "GoogleIamV1AuditConfig"
          },
          "type": "array"
        },
        "bindings": {
          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
          "items": {
            "$ref": "GoogleIamV1Binding"
          },
          "type": "array"
        },
        "etag": {
          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
          "format": "byte",
          "type": "string"
        },
        "version": {
          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "GoogleTypeExpr": {
      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
      "id": "GoogleTypeExpr",
      "properties": {
        "description": {
          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
          "type": "string"
        },
        "expression": {
          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
          "type": "string"
        },
        "location": {
          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
          "type": "string"
        },
        "title": {
          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Policy Troubleshooter API",
  "version": "v1beta",
  "version_module": true
}