{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://iam.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "iam",
  "description": "Manages identity and access control for Google Cloud Platform resources, including the creation of service accounts, which you can use to authenticate to Google and make API calls.",
  "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": "iam:v1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://iam.mtls.googleapis.com/",
  "name": "iam",
  "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": {
    "iamPolicies": {
      "methods": {
        "lintPolicy": {
          "description": "Lints, or validates, an IAM policy. Currently checks the google.iam.v1.Binding.condition field, which contains a condition expression for a role binding. Successful calls to this method always return an HTTP `200 OK` status code, even if the linter detects an issue in the IAM policy.",
          "flatPath": "v1/iamPolicies:lintPolicy",
          "httpMethod": "POST",
          "id": "iam.iamPolicies.lintPolicy",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/iamPolicies:lintPolicy",
          "request": {
            "$ref": "LintPolicyRequest"
          },
          "response": {
            "$ref": "LintPolicyResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "queryAuditableServices": {
          "description": "Returns a list of services that allow you to opt into audit logs that are not generated by default. To learn more about audit logs, see the [Logging documentation](https://cloud.google.com/logging/docs/audit).",
          "flatPath": "v1/iamPolicies:queryAuditableServices",
          "httpMethod": "POST",
          "id": "iam.iamPolicies.queryAuditableServices",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/iamPolicies:queryAuditableServices",
          "request": {
            "$ref": "QueryAuditableServicesRequest"
          },
          "response": {
            "$ref": "QueryAuditableServicesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "organizations": {
      "resources": {
        "roles": {
          "methods": {
            "create": {
              "description": "Creates a new custom Role.",
              "flatPath": "v1/organizations/{organizationsId}/roles",
              "httpMethod": "POST",
              "id": "iam.organizations.roles.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "The `parent` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create): `projects/{PROJECT_ID}`. This method creates project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^organizations/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/roles",
              "request": {
                "$ref": "CreateRoleRequest"
              },
              "response": {
                "$ref": "Role"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "delete": {
              "description": "Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a member to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed.",
              "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}",
              "httpMethod": "DELETE",
              "id": "iam.organizations.roles.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "etag": {
                  "description": "Used to perform a consistent read-modify-write.",
                  "format": "byte",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^organizations/[^/]+/roles/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Role"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "description": "Gets the definition of a Role.",
              "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}",
              "httpMethod": "GET",
              "id": "iam.organizations.roles.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^organizations/[^/]+/roles/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Role"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "description": "Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project.",
              "flatPath": "v1/organizations/{organizationsId}/roles",
              "httpMethod": "GET",
              "id": "iam.organizations.roles.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "Optional pagination token returned in an earlier ListRolesResponse.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^organizations/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "showDeleted": {
                  "description": "Include Roles that have been deleted.",
                  "location": "query",
                  "type": "boolean"
                },
                "view": {
                  "description": "Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.",
                  "enum": [
                    "BASIC",
                    "FULL"
                  ],
                  "enumDescriptions": [
                    "Omits the `included_permissions` field. This is the default value.",
                    "Returns all fields."
                  ],
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/roles",
              "response": {
                "$ref": "ListRolesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "patch": {
              "description": "Updates the definition of a custom Role.",
              "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}",
              "httpMethod": "PATCH",
              "id": "iam.organizations.roles.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^organizations/[^/]+/roles/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "description": "A mask describing which fields in the Role have changed.",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "Role"
              },
              "response": {
                "$ref": "Role"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "undelete": {
              "description": "Undeletes a custom Role.",
              "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}:undelete",
              "httpMethod": "POST",
              "id": "iam.organizations.roles.undelete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^organizations/[^/]+/roles/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:undelete",
              "request": {
                "$ref": "UndeleteRoleRequest"
              },
              "response": {
                "$ref": "Role"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          }
        }
      }
    },
    "permissions": {
      "methods": {
        "queryTestablePermissions": {
          "description": "Lists every permission that you can test on a resource. A permission is testable if you can check whether a member has that permission on the resource.",
          "flatPath": "v1/permissions:queryTestablePermissions",
          "httpMethod": "POST",
          "id": "iam.permissions.queryTestablePermissions",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/permissions:queryTestablePermissions",
          "request": {
            "$ref": "QueryTestablePermissionsRequest"
          },
          "response": {
            "$ref": "QueryTestablePermissionsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "projects": {
      "resources": {
        "roles": {
          "methods": {
            "create": {
              "description": "Creates a new custom Role.",
              "flatPath": "v1/projects/{projectsId}/roles",
              "httpMethod": "POST",
              "id": "iam.projects.roles.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "The `parent` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create): `projects/{PROJECT_ID}`. This method creates project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/roles",
              "request": {
                "$ref": "CreateRoleRequest"
              },
              "response": {
                "$ref": "Role"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "delete": {
              "description": "Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a member to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed.",
              "flatPath": "v1/projects/{projectsId}/roles/{rolesId}",
              "httpMethod": "DELETE",
              "id": "iam.projects.roles.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "etag": {
                  "description": "Used to perform a consistent read-modify-write.",
                  "format": "byte",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/roles/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Role"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "description": "Gets the definition of a Role.",
              "flatPath": "v1/projects/{projectsId}/roles/{rolesId}",
              "httpMethod": "GET",
              "id": "iam.projects.roles.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/roles/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Role"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "description": "Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project.",
              "flatPath": "v1/projects/{projectsId}/roles",
              "httpMethod": "GET",
              "id": "iam.projects.roles.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "Optional pagination token returned in an earlier ListRolesResponse.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "showDeleted": {
                  "description": "Include Roles that have been deleted.",
                  "location": "query",
                  "type": "boolean"
                },
                "view": {
                  "description": "Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.",
                  "enum": [
                    "BASIC",
                    "FULL"
                  ],
                  "enumDescriptions": [
                    "Omits the `included_permissions` field. This is the default value.",
                    "Returns all fields."
                  ],
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/{+parent}/roles",
              "response": {
                "$ref": "ListRolesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "patch": {
              "description": "Updates the definition of a custom Role.",
              "flatPath": "v1/projects/{projectsId}/roles/{rolesId}",
              "httpMethod": "PATCH",
              "id": "iam.projects.roles.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/roles/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "updateMask": {
                  "description": "A mask describing which fields in the Role have changed.",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "Role"
              },
              "response": {
                "$ref": "Role"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "undelete": {
              "description": "Undeletes a custom Role.",
              "flatPath": "v1/projects/{projectsId}/roles/{rolesId}:undelete",
              "httpMethod": "POST",
              "id": "iam.projects.roles.undelete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/roles/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:undelete",
              "request": {
                "$ref": "UndeleteRoleRequest"
              },
              "response": {
                "$ref": "Role"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          }
        },
        "serviceAccounts": {
          "methods": {
            "create": {
              "description": "Creates a ServiceAccount.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts",
              "httpMethod": "POST",
              "id": "iam.projects.serviceAccounts.create",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the project associated with the service accounts, such as `projects/my-project-123`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}/serviceAccounts",
              "request": {
                "$ref": "CreateServiceAccountRequest"
              },
              "response": {
                "$ref": "ServiceAccount"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "delete": {
              "description": "Deletes a ServiceAccount. **Warning:** After you delete a service account, you might not be able to undelete it. If you know that you need to re-enable the service account in the future, use DisableServiceAccount instead. If you delete a service account, IAM permanently removes the service account 30 days later. Google Cloud cannot recover the service account after it is permanently removed, even if you file a support request. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use DisableServiceAccount to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}",
              "httpMethod": "DELETE",
              "id": "iam.projects.serviceAccounts.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "disable": {
              "description": "Disables a ServiceAccount immediately. If an application uses the service account to authenticate, that application can no longer call Google APIs or access Google Cloud resources. Existing access tokens for the service account are rejected, and requests for new access tokens will fail. To re-enable the service account, use EnableServiceAccount. After you re-enable the service account, its existing access tokens will be accepted, and you can request new access tokens. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use this method to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account with DeleteServiceAccount.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:disable",
              "httpMethod": "POST",
              "id": "iam.projects.serviceAccounts.disable",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:disable",
              "request": {
                "$ref": "DisableServiceAccountRequest"
              },
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "enable": {
              "description": "Enables a ServiceAccount that was disabled by DisableServiceAccount. If the service account is already enabled, then this method has no effect. If the service account was disabled by other means—for example, if Google disabled the service account because it was compromised—you cannot use this method to enable the service account.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:enable",
              "httpMethod": "POST",
              "id": "iam.projects.serviceAccounts.enable",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:enable",
              "request": {
                "$ref": "EnableServiceAccountRequest"
              },
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "description": "Gets a ServiceAccount.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}",
              "httpMethod": "GET",
              "id": "iam.projects.serviceAccounts.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "ServiceAccount"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "getIamPolicy": {
              "description": "Gets the IAM policy that is attached to a ServiceAccount. This IAM policy specifies which members have access to the service account. This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:getIamPolicy",
              "httpMethod": "POST",
              "id": "iam.projects.serviceAccounts.getIamPolicy",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "options.requestedPolicyVersion": {
                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value 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",
                  "location": "query",
                  "type": "integer"
                },
                "resource": {
                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:getIamPolicy",
              "response": {
                "$ref": "Policy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "description": "Lists every ServiceAccount that belongs to a specific project.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts",
              "httpMethod": "GET",
              "id": "iam.projects.serviceAccounts.list",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the project associated with the service accounts, such as `projects/my-project-123`.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "description": "Optional limit on the number of service accounts to include in the response. Further accounts can subsequently be obtained by including the ListServiceAccountsResponse.next_page_token in a subsequent request. The default is 20, and the maximum is 100.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "Optional pagination token returned in an earlier ListServiceAccountsResponse.next_page_token.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "v1/{+name}/serviceAccounts",
              "response": {
                "$ref": "ListServiceAccountsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "patch": {
              "description": "Patches a ServiceAccount.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}",
              "httpMethod": "PATCH",
              "id": "iam.projects.serviceAccounts.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The resource name of the service account. Use one of the following formats: * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` As an alternative, you can use the `-` wildcard character instead of the project ID: * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` * `projects/-/serviceAccounts/{UNIQUE_ID}` When possible, avoid using the `-` wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to get the service account `projects/-/serviceAccounts/fake@example.com`, which does not exist, the response contains an HTTP `403 Forbidden` error instead of a `404 Not Found` error.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "PatchServiceAccountRequest"
              },
              "response": {
                "$ref": "ServiceAccount"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "setIamPolicy": {
              "description": "Sets the IAM policy that is attached to a ServiceAccount. Use this method to grant or revoke access to the service account. For example, you could grant a member the ability to impersonate the service account. This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps: 1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy. For detailed instructions, see [Granting roles to a service account for specific resources](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts).",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:setIamPolicy",
              "httpMethod": "POST",
              "id": "iam.projects.serviceAccounts.setIamPolicy",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "resource": {
                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:setIamPolicy",
              "request": {
                "$ref": "SetIamPolicyRequest"
              },
              "response": {
                "$ref": "Policy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "signBlob": {
              "description": "**Note:** This method is deprecated and will stop working on July 1, 2021. Use the [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob) method in the IAM Service Account Credentials API instead. If you currently use this method, see the [migration guide](https://cloud.google.com/iam/help/credentials/migrate-api) for instructions. Signs a blob using the system-managed private key for a ServiceAccount.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob",
              "httpMethod": "POST",
              "id": "iam.projects.serviceAccounts.signBlob",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:signBlob",
              "request": {
                "$ref": "SignBlobRequest"
              },
              "response": {
                "$ref": "SignBlobResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "signJwt": {
              "description": "**Note:** This method is deprecated and will stop working on July 1, 2021. Use the [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt) method in the IAM Service Account Credentials API instead. If you currently use this method, see the [migration guide](https://cloud.google.com/iam/help/credentials/migrate-api) for instructions. Signs a JSON Web Token (JWT) using the system-managed private key for a ServiceAccount.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt",
              "httpMethod": "POST",
              "id": "iam.projects.serviceAccounts.signJwt",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:signJwt",
              "request": {
                "$ref": "SignJwtRequest"
              },
              "response": {
                "$ref": "SignJwtResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "testIamPermissions": {
              "description": "Tests whether the caller has the specified permissions on a ServiceAccount.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:testIamPermissions",
              "httpMethod": "POST",
              "id": "iam.projects.serviceAccounts.testIamPermissions",
              "parameterOrder": [
                "resource"
              ],
              "parameters": {
                "resource": {
                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+resource}:testIamPermissions",
              "request": {
                "$ref": "TestIamPermissionsRequest"
              },
              "response": {
                "$ref": "TestIamPermissionsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "undelete": {
              "description": "Restores a deleted ServiceAccount. **Important:** It is not always possible to restore a deleted service account. Use this method only as a last resort. After you delete a service account, IAM permanently removes the service account 30 days later. There is no way to restore a deleted service account that has been permanently removed.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:undelete",
              "httpMethod": "POST",
              "id": "iam.projects.serviceAccounts.undelete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_UNIQUE_ID}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}:undelete",
              "request": {
                "$ref": "UndeleteServiceAccountRequest"
              },
              "response": {
                "$ref": "UndeleteServiceAccountResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "update": {
              "description": "**Note:** We are in the process of deprecating this method. Use PatchServiceAccount instead. Updates a ServiceAccount. You can update only the `display_name` and `description` fields.",
              "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}",
              "httpMethod": "PUT",
              "id": "iam.projects.serviceAccounts.update",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The resource name of the service account. Use one of the following formats: * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` As an alternative, you can use the `-` wildcard character instead of the project ID: * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` * `projects/-/serviceAccounts/{UNIQUE_ID}` When possible, avoid using the `-` wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to get the service account `projects/-/serviceAccounts/fake@example.com`, which does not exist, the response contains an HTTP `403 Forbidden` error instead of a `404 Not Found` error.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}",
              "request": {
                "$ref": "ServiceAccount"
              },
              "response": {
                "$ref": "ServiceAccount"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          },
          "resources": {
            "keys": {
              "methods": {
                "create": {
                  "description": "Creates a ServiceAccountKey.",
                  "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys",
                  "httpMethod": "POST",
                  "id": "iam.projects.serviceAccounts.keys.create",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}/keys",
                  "request": {
                    "$ref": "CreateServiceAccountKeyRequest"
                  },
                  "response": {
                    "$ref": "ServiceAccountKey"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "description": "Deletes a ServiceAccountKey.",
                  "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}",
                  "httpMethod": "DELETE",
                  "id": "iam.projects.serviceAccounts.keys.delete",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the service account key in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "get": {
                  "description": "Gets a ServiceAccountKey.",
                  "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys/{keysId}",
                  "httpMethod": "GET",
                  "id": "iam.projects.serviceAccounts.keys.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. The resource name of the service account key in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$",
                      "required": true,
                      "type": "string"
                    },
                    "publicKeyType": {
                      "description": "The output format of the public key requested. X509_PEM is the default output format.",
                      "enum": [
                        "TYPE_NONE",
                        "TYPE_X509_PEM_FILE",
                        "TYPE_RAW_PUBLIC_KEY"
                      ],
                      "enumDescriptions": [
                        "Unspecified. Returns nothing here.",
                        "X509 PEM format.",
                        "Raw public key."
                      ],
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}",
                  "response": {
                    "$ref": "ServiceAccountKey"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "list": {
                  "description": "Lists every ServiceAccountKey for a service account.",
                  "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys",
                  "httpMethod": "GET",
                  "id": "iam.projects.serviceAccounts.keys.list",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "keyTypes": {
                      "description": "Filters the types of keys the user wants to include in the list response. Duplicate key types are not allowed. If no key type is provided, all keys are returned.",
                      "enum": [
                        "KEY_TYPE_UNSPECIFIED",
                        "USER_MANAGED",
                        "SYSTEM_MANAGED"
                      ],
                      "enumDescriptions": [
                        "Unspecified key type. The presence of this in the message will immediately result in an error.",
                        "User-managed keys (managed and rotated by the user).",
                        "System-managed keys (managed and rotated by Google)."
                      ],
                      "location": "query",
                      "repeated": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}/keys",
                  "response": {
                    "$ref": "ListServiceAccountKeysResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "upload": {
                  "description": "Creates a ServiceAccountKey, using a public key that you provide.",
                  "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/keys:upload",
                  "httpMethod": "POST",
                  "id": "iam.projects.serviceAccounts.keys.upload",
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "v1/{+name}/keys:upload",
                  "request": {
                    "$ref": "UploadServiceAccountKeyRequest"
                  },
                  "response": {
                    "$ref": "ServiceAccountKey"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "roles": {
      "methods": {
        "get": {
          "description": "Gets the definition of a Role.",
          "flatPath": "v1/roles/{rolesId}",
          "httpMethod": "GET",
          "id": "iam.roles.get",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
              "location": "path",
              "pattern": "^roles/[^/]+$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "response": {
            "$ref": "Role"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project.",
          "flatPath": "v1/roles",
          "httpMethod": "GET",
          "id": "iam.roles.list",
          "parameterOrder": [],
          "parameters": {
            "pageSize": {
              "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "Optional pagination token returned in an earlier ListRolesResponse.",
              "location": "query",
              "type": "string"
            },
            "parent": {
              "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
              "location": "query",
              "type": "string"
            },
            "showDeleted": {
              "description": "Include Roles that have been deleted.",
              "location": "query",
              "type": "boolean"
            },
            "view": {
              "description": "Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.",
              "enum": [
                "BASIC",
                "FULL"
              ],
              "enumDescriptions": [
                "Omits the `included_permissions` field. This is the default value.",
                "Returns all fields."
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/roles",
          "response": {
            "$ref": "ListRolesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "queryGrantableRoles": {
          "description": "Lists roles that can be granted on a Google Cloud resource. A role is grantable if the IAM policy for the resource can contain bindings to the role.",
          "flatPath": "v1/roles:queryGrantableRoles",
          "httpMethod": "POST",
          "id": "iam.roles.queryGrantableRoles",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/roles:queryGrantableRoles",
          "request": {
            "$ref": "QueryGrantableRolesRequest"
          },
          "response": {
            "$ref": "QueryGrantableRolesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    }
  },
  "revision": "20200806",
  "rootUrl": "https://iam.googleapis.com/",
  "schemas": {
    "AdminAuditData": {
      "description": "Audit log information specific to Cloud IAM admin APIs. This message is serialized as an `Any` type in the `ServiceData` message of an `AuditLog` message.",
      "id": "AdminAuditData",
      "properties": {
        "permissionDelta": {
          "$ref": "PermissionDelta",
          "description": "The permission_delta when when creating or updating a Role."
        }
      },
      "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.",
      "id": "AuditConfig",
      "properties": {
        "auditLogConfigs": {
          "description": "The configuration for logging of each type of permission.",
          "items": {
            "$ref": "AuditLogConfig"
          },
          "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"
        }
      },
      "type": "object"
    },
    "AuditData": {
      "description": "Audit log information specific to Cloud IAM. This message is serialized as an `Any` type in the `ServiceData` message of an `AuditLog` message.",
      "id": "AuditData",
      "properties": {
        "policyDelta": {
          "$ref": "PolicyDelta",
          "description": "Policy delta between the original policy and the newly set policy."
        }
      },
      "type": "object"
    },
    "AuditLogConfig": {
      "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",
      "properties": {
        "exemptedMembers": {
          "description": "Specifies the identities that do not cause logging for this type of permission. Follows 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"
    },
    "AuditableService": {
      "description": "Contains information about an auditable service.",
      "id": "AuditableService",
      "properties": {
        "name": {
          "description": "Public name of the service. For example, the service name for Cloud IAM is 'iam.googleapis.com'.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Binding": {
      "description": "Associates `members` with a `role`.",
      "id": "Binding",
      "properties": {
        "condition": {
          "$ref": "Expr",
          "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)."
        },
        "members": {
          "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`. ",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "role": {
          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "BindingDelta": {
      "description": "One delta entry for Binding. Each individual change (only one member in each entry) to a binding will be a separate entry.",
      "id": "BindingDelta",
      "properties": {
        "action": {
          "description": "The action that was performed on a Binding. Required",
          "enum": [
            "ACTION_UNSPECIFIED",
            "ADD",
            "REMOVE"
          ],
          "enumDescriptions": [
            "Unspecified.",
            "Addition of a Binding.",
            "Removal of a Binding."
          ],
          "type": "string"
        },
        "condition": {
          "$ref": "Expr",
          "description": "The condition that is associated with this binding."
        },
        "member": {
          "description": "A single identity requesting access for a Cloud Platform resource. Follows the same format of Binding.members. Required",
          "type": "string"
        },
        "role": {
          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateRoleRequest": {
      "description": "The request to create a new role.",
      "id": "CreateRoleRequest",
      "properties": {
        "role": {
          "$ref": "Role",
          "description": "The Role resource to create."
        },
        "roleId": {
          "description": "The role ID to use for this role. A role ID may contain alphanumeric characters, underscores (`_`), and periods (`.`). It must contain a minimum of 3 characters and a maximum of 64 characters.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateServiceAccountKeyRequest": {
      "description": "The service account key create request.",
      "id": "CreateServiceAccountKeyRequest",
      "properties": {
        "keyAlgorithm": {
          "description": "Which type of key and algorithm to use for the key. The default is currently a 2K RSA key. However this may change in the future.",
          "enum": [
            "KEY_ALG_UNSPECIFIED",
            "KEY_ALG_RSA_1024",
            "KEY_ALG_RSA_2048"
          ],
          "enumDescriptions": [
            "An unspecified key algorithm.",
            "1k RSA Key.",
            "2k RSA Key."
          ],
          "type": "string"
        },
        "privateKeyType": {
          "description": "The output format of the private key. The default value is `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File format.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "TYPE_PKCS12_FILE",
            "TYPE_GOOGLE_CREDENTIALS_FILE"
          ],
          "enumDescriptions": [
            "Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.",
            "PKCS12 format. The password for the PKCS12 file is `notasecret`. For more information, see https://tools.ietf.org/html/rfc7292.",
            "Google Credentials File format."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateServiceAccountRequest": {
      "description": "The service account create request.",
      "id": "CreateServiceAccountRequest",
      "properties": {
        "accountId": {
          "description": "Required. The account id that is used to generate the service account email address and a stable unique id. It is unique within a project, must be 6-30 characters long, and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.",
          "type": "string"
        },
        "serviceAccount": {
          "$ref": "ServiceAccount",
          "description": "The ServiceAccount resource to create. Currently, only the following values are user assignable: `display_name` and `description`."
        }
      },
      "type": "object"
    },
    "DisableServiceAccountRequest": {
      "description": "The service account disable request.",
      "id": "DisableServiceAccountRequest",
      "properties": {},
      "type": "object"
    },
    "Empty": {
      "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",
      "properties": {},
      "type": "object"
    },
    "EnableServiceAccountRequest": {
      "description": "The service account enable request.",
      "id": "EnableServiceAccountRequest",
      "properties": {},
      "type": "object"
    },
    "Expr": {
      "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' \u0026\u0026 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.",
      "id": "Expr",
      "properties": {
        "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"
        },
        "expression": {
          "description": "Textual representation of an expression in Common Expression Language syntax.",
          "type": "string"
        },
        "location": {
          "description": "Optional. String indicating the location of the expression for error reporting, 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 its purpose. This can be used e.g. in UIs which allow to enter the expression.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LintPolicyRequest": {
      "description": "The request to lint a Cloud IAM policy object.",
      "id": "LintPolicyRequest",
      "properties": {
        "condition": {
          "$ref": "Expr",
          "description": "google.iam.v1.Binding.condition object to be linted."
        },
        "fullResourceName": {
          "description": "The full resource name of the policy this lint request is about. The name follows the Google Cloud Platform (GCP) resource format. For example, a GCP project with ID `my-project` will be named `//cloudresourcemanager.googleapis.com/projects/my-project`. The resource name is not used to read the policy instance from the Cloud IAM database. The candidate policy for lint has to be provided in the same request object.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LintPolicyResponse": {
      "description": "The response of a lint operation. An empty response indicates the operation was able to fully execute and no lint issue was found.",
      "id": "LintPolicyResponse",
      "properties": {
        "lintResults": {
          "description": "List of lint results sorted by `severity` in descending order.",
          "items": {
            "$ref": "LintResult"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LintResult": {
      "description": "Structured response of a single validation unit.",
      "id": "LintResult",
      "properties": {
        "debugMessage": {
          "description": "Human readable debug message associated with the issue.",
          "type": "string"
        },
        "fieldName": {
          "description": "The name of the field for which this lint result is about. For nested messages `field_name` consists of names of the embedded fields separated by period character. The top-level qualifier is the input object to lint in the request. For example, the `field_name` value `condition.expression` identifies a lint result for the `expression` field of the provided condition.",
          "type": "string"
        },
        "level": {
          "description": "The validation unit level.",
          "enum": [
            "LEVEL_UNSPECIFIED",
            "CONDITION"
          ],
          "enumDescriptions": [
            "Level is unspecified.",
            "A validation unit which operates on an individual condition within a binding."
          ],
          "type": "string"
        },
        "locationOffset": {
          "description": "0-based character position of problematic construct within the object identified by `field_name`. Currently, this is populated only for condition expression.",
          "format": "int32",
          "type": "integer"
        },
        "severity": {
          "description": "The validation unit severity.",
          "enum": [
            "SEVERITY_UNSPECIFIED",
            "ERROR",
            "WARNING",
            "NOTICE",
            "INFO",
            "DEPRECATED"
          ],
          "enumDescriptions": [
            "Severity is unspecified.",
            "A validation unit returns an error only for critical issues. If an attempt is made to set the problematic policy without rectifying the critical issue, it causes the `setPolicy` operation to fail.",
            "Any issue which is severe enough but does not cause an error. For example, suspicious constructs in the input object will not necessarily fail `setPolicy`, but there is a high likelihood that they won't behave as expected during policy evaluation in `checkPolicy`. This includes the following common scenarios: - Unsatisfiable condition: Expired timestamp in date/time condition. - Ineffective condition: Condition on a pair which is granted unconditionally in another binding of the same policy.",
            "Reserved for the issues that are not severe as `ERROR`/`WARNING`, but need special handling. For instance, messages about skipped validation units are issued as `NOTICE`.",
            "Any informative statement which is not severe enough to raise `ERROR`/`WARNING`/`NOTICE`, like auto-correction recommendations on the input content. Note that current version of the linter does not utilize `INFO`.",
            "Deprecated severity level."
          ],
          "type": "string"
        },
        "validationUnitName": {
          "description": "The validation unit name, for instance \"lintValidationUnits/ConditionComplexityCheck\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListRolesResponse": {
      "description": "The response containing the roles defined under a resource.",
      "id": "ListRolesResponse",
      "properties": {
        "nextPageToken": {
          "description": "To retrieve the next page of results, set `ListRolesRequest.page_token` to this value.",
          "type": "string"
        },
        "roles": {
          "description": "The Roles defined on this resource.",
          "items": {
            "$ref": "Role"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListServiceAccountKeysResponse": {
      "description": "The service account keys list response.",
      "id": "ListServiceAccountKeysResponse",
      "properties": {
        "keys": {
          "description": "The public keys for the service account.",
          "items": {
            "$ref": "ServiceAccountKey"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListServiceAccountsResponse": {
      "description": "The service account list response.",
      "id": "ListServiceAccountsResponse",
      "properties": {
        "accounts": {
          "description": "The list of matching service accounts.",
          "items": {
            "$ref": "ServiceAccount"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "To retrieve the next page of results, set ListServiceAccountsRequest.page_token to this value.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PatchServiceAccountRequest": {
      "description": "The request for PatchServiceAccount. You can patch only the `display_name` and `description` fields. You must use the `update_mask` field to specify which of these fields you want to patch. Only the fields specified in the request are guaranteed to be returned in the response. Other fields may be empty in the response.",
      "id": "PatchServiceAccountRequest",
      "properties": {
        "serviceAccount": {
          "$ref": "ServiceAccount"
        },
        "updateMask": {
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Permission": {
      "description": "A permission which can be included by a role.",
      "id": "Permission",
      "properties": {
        "apiDisabled": {
          "description": "The service API associated with the permission is not enabled.",
          "type": "boolean"
        },
        "customRolesSupportLevel": {
          "description": "The current custom role support level.",
          "enum": [
            "SUPPORTED",
            "TESTING",
            "NOT_SUPPORTED"
          ],
          "enumDescriptions": [
            "Permission is fully supported for custom role use.",
            "Permission is being tested to check custom role compatibility.",
            "Permission is not supported for custom role use."
          ],
          "type": "string"
        },
        "description": {
          "description": "A brief description of what this Permission is used for. This permission can ONLY be used in predefined roles.",
          "type": "string"
        },
        "name": {
          "description": "The name of this Permission.",
          "type": "string"
        },
        "onlyInPredefinedRoles": {
          "type": "boolean"
        },
        "primaryPermission": {
          "description": "The preferred name for this permission. If present, then this permission is an alias of, and equivalent to, the listed primary_permission.",
          "type": "string"
        },
        "stage": {
          "description": "The current launch stage of the permission.",
          "enum": [
            "ALPHA",
            "BETA",
            "GA",
            "DEPRECATED"
          ],
          "enumDescriptions": [
            "The permission is currently in an alpha phase.",
            "The permission is currently in a beta phase.",
            "The permission is generally available.",
            "The permission is being deprecated."
          ],
          "type": "string"
        },
        "title": {
          "description": "The title of this Permission.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PermissionDelta": {
      "description": "A PermissionDelta message to record the added_permissions and removed_permissions inside a role.",
      "id": "PermissionDelta",
      "properties": {
        "addedPermissions": {
          "description": "Added permissions.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "removedPermissions": {
          "description": "Removed permissions.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Policy": {
      "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": {
        "auditConfigs": {
          "description": "Specifies cloud audit logging configuration for this policy.",
          "items": {
            "$ref": "AuditConfig"
          },
          "type": "array"
        },
        "bindings": {
          "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.",
          "items": {
            "$ref": "Binding"
          },
          "type": "array"
        },
        "etag": {
          "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.",
          "format": "byte",
          "type": "string"
        },
        "version": {
          "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",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "PolicyDelta": {
      "description": "The difference delta between two policies.",
      "id": "PolicyDelta",
      "properties": {
        "bindingDeltas": {
          "description": "The delta for Bindings between two policies.",
          "items": {
            "$ref": "BindingDelta"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "QueryAuditableServicesRequest": {
      "description": "A request to get the list of auditable services for a resource.",
      "id": "QueryAuditableServicesRequest",
      "properties": {
        "fullResourceName": {
          "description": "Required. The full resource name to query from the list of auditable services. The name follows the Google Cloud Platform resource format. For example, a Cloud Platform project with id `my-project` will be named `//cloudresourcemanager.googleapis.com/projects/my-project`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "QueryAuditableServicesResponse": {
      "description": "A response containing a list of auditable services for a resource.",
      "id": "QueryAuditableServicesResponse",
      "properties": {
        "services": {
          "description": "The auditable services for a resource.",
          "items": {
            "$ref": "AuditableService"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "QueryGrantableRolesRequest": {
      "description": "The grantable role query request.",
      "id": "QueryGrantableRolesRequest",
      "properties": {
        "fullResourceName": {
          "description": "Required. The full resource name to query from the list of grantable roles. The name follows the Google Cloud Platform resource format. For example, a Cloud Platform project with id `my-project` will be named `//cloudresourcemanager.googleapis.com/projects/my-project`.",
          "type": "string"
        },
        "pageSize": {
          "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
          "format": "int32",
          "type": "integer"
        },
        "pageToken": {
          "description": "Optional pagination token returned in an earlier QueryGrantableRolesResponse.",
          "type": "string"
        },
        "view": {
          "enum": [
            "BASIC",
            "FULL"
          ],
          "enumDescriptions": [
            "Omits the `included_permissions` field. This is the default value.",
            "Returns all fields."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "QueryGrantableRolesResponse": {
      "description": "The grantable role query response.",
      "id": "QueryGrantableRolesResponse",
      "properties": {
        "nextPageToken": {
          "description": "To retrieve the next page of results, set `QueryGrantableRolesRequest.page_token` to this value.",
          "type": "string"
        },
        "roles": {
          "description": "The list of matching roles.",
          "items": {
            "$ref": "Role"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "QueryTestablePermissionsRequest": {
      "description": "A request to get permissions which can be tested on a resource.",
      "id": "QueryTestablePermissionsRequest",
      "properties": {
        "fullResourceName": {
          "description": "Required. The full resource name to query from the list of testable permissions. The name follows the Google Cloud Platform resource format. For example, a Cloud Platform project with id `my-project` will be named `//cloudresourcemanager.googleapis.com/projects/my-project`.",
          "type": "string"
        },
        "pageSize": {
          "description": "Optional limit on the number of permissions to include in the response. The default is 100, and the maximum is 1,000.",
          "format": "int32",
          "type": "integer"
        },
        "pageToken": {
          "description": "Optional pagination token returned in an earlier QueryTestablePermissionsRequest.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "QueryTestablePermissionsResponse": {
      "description": "The response containing permissions which can be tested on a resource.",
      "id": "QueryTestablePermissionsResponse",
      "properties": {
        "nextPageToken": {
          "description": "To retrieve the next page of results, set `QueryTestableRolesRequest.page_token` to this value.",
          "type": "string"
        },
        "permissions": {
          "description": "The Permissions testable on the requested resource.",
          "items": {
            "$ref": "Permission"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Role": {
      "description": "A role in the Identity and Access Management API.",
      "id": "Role",
      "properties": {
        "deleted": {
          "description": "The current deleted state of the role. This field is read only. It will be ignored in calls to CreateRole and UpdateRole.",
          "type": "boolean"
        },
        "description": {
          "description": "Optional. A human-readable description for the role.",
          "type": "string"
        },
        "etag": {
          "description": "Used to perform a consistent read-modify-write.",
          "format": "byte",
          "type": "string"
        },
        "includedPermissions": {
          "description": "The names of the permissions this role grants when bound in an IAM policy.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "The name of the role. When Role is used in CreateRole, the role name must not be set. When Role is used in output and other input such as UpdateRole, the role name is the complete path, e.g., roles/logging.viewer for predefined roles and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles.",
          "type": "string"
        },
        "stage": {
          "description": "The current launch stage of the role. If the `ALPHA` launch stage has been selected for a role, the `stage` field will not be included in the returned definition for the role.",
          "enum": [
            "ALPHA",
            "BETA",
            "GA",
            "DEPRECATED",
            "DISABLED",
            "EAP"
          ],
          "enumDescriptions": [
            "The user has indicated this role is currently in an Alpha phase. If this launch stage is selected, the `stage` field will not be included when requesting the definition for a given role.",
            "The user has indicated this role is currently in a Beta phase.",
            "The user has indicated this role is generally available.",
            "The user has indicated this role is being deprecated.",
            "This role is disabled and will not contribute permissions to any members it is granted to in policies.",
            "The user has indicated this role is currently in an EAP phase."
          ],
          "type": "string"
        },
        "title": {
          "description": "Optional. A human-readable title for the role. Typically this is limited to 100 UTF-8 bytes.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ServiceAccount": {
      "description": "An IAM service account. A service account is an account for an application or a virtual machine (VM) instance, not a person. You can use a service account to call Google APIs. To learn more, read the [overview of service accounts](https://cloud.google.com/iam/help/service-accounts/overview). When you create a service account, you specify the project ID that owns the service account, as well as a name that must be unique within the project. IAM uses these values to create an email address that identifies the service account.",
      "id": "ServiceAccount",
      "properties": {
        "description": {
          "description": "Optional. A user-specified, human-readable description of the service account. The maximum length is 256 UTF-8 bytes.",
          "type": "string"
        },
        "disabled": {
          "description": "Output only. Whether the service account is disabled.",
          "readOnly": true,
          "type": "boolean"
        },
        "displayName": {
          "description": "Optional. A user-specified, human-readable name for the service account. The maximum length is 100 UTF-8 bytes.",
          "type": "string"
        },
        "email": {
          "description": "Output only. The email address of the service account.",
          "readOnly": true,
          "type": "string"
        },
        "etag": {
          "description": "Deprecated. Do not use.",
          "format": "byte",
          "type": "string"
        },
        "name": {
          "description": "The resource name of the service account. Use one of the following formats: * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` As an alternative, you can use the `-` wildcard character instead of the project ID: * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` * `projects/-/serviceAccounts/{UNIQUE_ID}` When possible, avoid using the `-` wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to get the service account `projects/-/serviceAccounts/fake@example.com`, which does not exist, the response contains an HTTP `403 Forbidden` error instead of a `404 Not Found` error.",
          "type": "string"
        },
        "oauth2ClientId": {
          "description": "Output only. The OAuth 2.0 client ID for the service account.",
          "readOnly": true,
          "type": "string"
        },
        "projectId": {
          "description": "Output only. The ID of the project that owns the service account.",
          "readOnly": true,
          "type": "string"
        },
        "uniqueId": {
          "description": "Output only. The unique, stable numeric ID for the service account. Each service account retains its unique ID even if you delete the service account. For example, if you delete a service account, then create a new service account with the same name, the new service account has a different unique ID than the deleted service account.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "ServiceAccountKey": {
      "description": "Represents a service account key. A service account has two sets of key-pairs: user-managed, and system-managed. User-managed key-pairs can be created and deleted by users. Users are responsible for rotating these keys periodically to ensure security of their service accounts. Users retain the private key of these key-pairs, and Google retains ONLY the public key. System-managed keys are automatically rotated by Google, and are used for signing for a maximum of two weeks. The rotation process is probabilistic, and usage of the new key will gradually ramp up and down over the key's lifetime. We recommend caching the public key set for a service account for no more than 24 hours to ensure you have access to the latest keys. Public keys for all service accounts are also published at the OAuth2 Service Account API.",
      "id": "ServiceAccountKey",
      "properties": {
        "keyAlgorithm": {
          "description": "Specifies the algorithm (and possibly key size) for the key.",
          "enum": [
            "KEY_ALG_UNSPECIFIED",
            "KEY_ALG_RSA_1024",
            "KEY_ALG_RSA_2048"
          ],
          "enumDescriptions": [
            "An unspecified key algorithm.",
            "1k RSA Key.",
            "2k RSA Key."
          ],
          "type": "string"
        },
        "keyOrigin": {
          "description": "The key origin.",
          "enum": [
            "ORIGIN_UNSPECIFIED",
            "USER_PROVIDED",
            "GOOGLE_PROVIDED"
          ],
          "enumDescriptions": [
            "Unspecified key origin.",
            "Key is provided by user.",
            "Key is provided by Google."
          ],
          "type": "string"
        },
        "keyType": {
          "description": "The key type.",
          "enum": [
            "KEY_TYPE_UNSPECIFIED",
            "USER_MANAGED",
            "SYSTEM_MANAGED"
          ],
          "enumDescriptions": [
            "Unspecified key type. The presence of this in the message will immediately result in an error.",
            "User-managed keys (managed and rotated by the user).",
            "System-managed keys (managed and rotated by Google)."
          ],
          "type": "string"
        },
        "name": {
          "description": "The resource name of the service account key in the following format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.",
          "type": "string"
        },
        "privateKeyData": {
          "description": "The private key data. Only provided in `CreateServiceAccountKey` responses. Make sure to keep the private key data secure because it allows for the assertion of the service account identity. When base64 decoded, the private key data can be used to authenticate with Google API client libraries and with gcloud auth activate-service-account.",
          "format": "byte",
          "type": "string"
        },
        "privateKeyType": {
          "description": "The output format for the private key. Only provided in `CreateServiceAccountKey` responses, not in `GetServiceAccountKey` or `ListServiceAccountKey` responses. Google never exposes system-managed private keys, and never retains user-managed private keys.",
          "enum": [
            "TYPE_UNSPECIFIED",
            "TYPE_PKCS12_FILE",
            "TYPE_GOOGLE_CREDENTIALS_FILE"
          ],
          "enumDescriptions": [
            "Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.",
            "PKCS12 format. The password for the PKCS12 file is `notasecret`. For more information, see https://tools.ietf.org/html/rfc7292.",
            "Google Credentials File format."
          ],
          "type": "string"
        },
        "publicKeyData": {
          "description": "The public key data. Only provided in `GetServiceAccountKey` responses.",
          "format": "byte",
          "type": "string"
        },
        "validAfterTime": {
          "description": "The key can be used after this timestamp.",
          "format": "google-datetime",
          "type": "string"
        },
        "validBeforeTime": {
          "description": "The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SetIamPolicyRequest": {
      "description": "Request message for `SetIamPolicy` method.",
      "id": "SetIamPolicyRequest",
      "properties": {
        "policy": {
          "$ref": "Policy",
          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
        },
        "updateMask": {
          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SignBlobRequest": {
      "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The service account sign blob request.",
      "id": "SignBlobRequest",
      "properties": {
        "bytesToSign": {
          "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The bytes to sign.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SignBlobResponse": {
      "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The service account sign blob response.",
      "id": "SignBlobResponse",
      "properties": {
        "keyId": {
          "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The id of the key used to sign the blob.",
          "type": "string"
        },
        "signature": {
          "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The signed blob.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SignJwtRequest": {
      "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The service account sign JWT request.",
      "id": "SignJwtRequest",
      "properties": {
        "payload": {
          "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}` If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 1 hour in the future. If the JWT Claims Set does not contain an expiration time (`exp`) claim, this claim is added automatically, with a timestamp that is 1 hour in the future.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SignJwtResponse": {
      "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The service account sign JWT response.",
      "id": "SignJwtResponse",
      "properties": {
        "keyId": {
          "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The id of the key used to sign the JWT.",
          "type": "string"
        },
        "signedJwt": {
          "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The signed JWT.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestIamPermissionsRequest": {
      "description": "Request message for `TestIamPermissions` method.",
      "id": "TestIamPermissionsRequest",
      "properties": {
        "permissions": {
          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TestIamPermissionsResponse": {
      "description": "Response message for `TestIamPermissions` method.",
      "id": "TestIamPermissionsResponse",
      "properties": {
        "permissions": {
          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "UndeleteRoleRequest": {
      "description": "The request to undelete an existing role.",
      "id": "UndeleteRoleRequest",
      "properties": {
        "etag": {
          "description": "Used to perform a consistent read-modify-write.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UndeleteServiceAccountRequest": {
      "description": "The service account undelete request.",
      "id": "UndeleteServiceAccountRequest",
      "properties": {},
      "type": "object"
    },
    "UndeleteServiceAccountResponse": {
      "id": "UndeleteServiceAccountResponse",
      "properties": {
        "restoredAccount": {
          "$ref": "ServiceAccount",
          "description": "Metadata for the restored service account."
        }
      },
      "type": "object"
    },
    "UploadServiceAccountKeyRequest": {
      "description": "The service account key upload request.",
      "id": "UploadServiceAccountKeyRequest",
      "properties": {
        "publicKeyData": {
          "description": "A field that allows clients to upload their own public key. If set, use this public key data to create a service account key for given service account. Please note, the expected format for this field is X509_PEM.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Identity and Access Management (IAM) API",
  "version": "v1",
  "version_module": true
}