{
  "resources": {
    "folders": {
      "methods": {
        "updateAccessApprovalSettings": {
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The resource name of the settings. Format is one of: * \"projects/{project}/accessApprovalSettings\" * \"folders/{folder}/accessApprovalSettings\" * \"organizations/{organization}/accessApprovalSettings\"",
              "type": "string",
              "location": "path",
              "pattern": "^folders/[^/]+/accessApprovalSettings$",
              "required": true
            },
            "updateMask": {
              "type": "string",
              "description": "The update mask applies to the settings. Only the top level fields of AccessApprovalSettings (notification_emails & enrolled_services) are supported. For each field, if it is included, the currently stored value will be entirely overwritten with the value of the field passed in this request. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be updated.",
              "format": "google-fieldmask",
              "location": "query"
            }
          },
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "id": "accessapproval.folders.updateAccessApprovalSettings",
          "request": {
            "$ref": "AccessApprovalSettings"
          },
          "flatPath": "v1/folders/{foldersId}/accessApprovalSettings",
          "description": "Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.",
          "httpMethod": "PATCH",
          "path": "v1/{+name}"
        },
        "getAccessApprovalSettings": {
          "path": "v1/{+name}",
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to retrieve.",
              "type": "string",
              "required": true,
              "location": "path",
              "pattern": "^folders/[^/]+/accessApprovalSettings$"
            }
          },
          "httpMethod": "GET",
          "id": "accessapproval.folders.getAccessApprovalSettings",
          "description": "Gets the settings associated with a project, folder, or organization.",
          "flatPath": "v1/folders/{foldersId}/accessApprovalSettings",
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [
            "name"
          ]
        },
        "deleteAccessApprovalSettings": {
          "parameterOrder": [
            "name"
          ],
          "flatPath": "v1/folders/{foldersId}/accessApprovalSettings",
          "path": "v1/{+name}",
          "description": "Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.",
          "httpMethod": "DELETE",
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to delete.",
              "type": "string",
              "pattern": "^folders/[^/]+/accessApprovalSettings$",
              "location": "path",
              "required": true
            }
          },
          "id": "accessapproval.folders.deleteAccessApprovalSettings",
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      },
      "resources": {
        "approvalRequests": {
          "methods": {
            "list": {
              "path": "v1/{+parent}/approvalRequests",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "pageSize": {
                  "description": "Requested page size.",
                  "type": "integer",
                  "format": "int32",
                  "location": "query"
                },
                "filter": {
                  "type": "string",
                  "location": "query",
                  "description": "A filter on the type of approval requests to retrieve. Must be one of the following values: * [not set]: Requests that are pending or have active approvals. * ALL: All requests. * PENDING: Only pending requests. * ACTIVE: Only active (i.e. currently approved) requests. * DISMISSED: Only requests that have been dismissed, or requests that . are not approved and past expiration. * EXPIRED: Only requests that have been approved, and the approval has expired. * HISTORY: Active, dismissed and expired requests."
                },
                "parent": {
                  "location": "path",
                  "type": "string",
                  "description": "The parent resource. This may be \"projects/{project}\", \"folders/{folder}\", or \"organizations/{organization}\".",
                  "pattern": "^folders/[^/]+$",
                  "required": true
                },
                "pageToken": {
                  "description": "A token identifying the page of results to return.",
                  "location": "query",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "ListApprovalRequestsResponse"
              },
              "httpMethod": "GET",
              "parameterOrder": [
                "parent"
              ],
              "id": "accessapproval.folders.approvalRequests.list",
              "flatPath": "v1/folders/{foldersId}/approvalRequests",
              "description": "Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological."
            },
            "dismiss": {
              "id": "accessapproval.folders.approvalRequests.dismiss",
              "parameterOrder": [
                "name"
              ],
              "description": "Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
              "httpMethod": "POST",
              "path": "v1/{+name}:dismiss",
              "flatPath": "v1/folders/{foldersId}/approvalRequests/{approvalRequestsId}:dismiss",
              "response": {
                "$ref": "ApprovalRequest"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "request": {
                "$ref": "DismissApprovalRequestMessage"
              },
              "parameters": {
                "name": {
                  "description": "Name of the ApprovalRequest to dismiss.",
                  "pattern": "^folders/[^/]+/approvalRequests/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "required": true
                }
              }
            },
            "approve": {
              "request": {
                "$ref": "ApproveApprovalRequestMessage"
              },
              "response": {
                "$ref": "ApprovalRequest"
              },
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "accessapproval.folders.approvalRequests.approve",
              "path": "v1/{+name}:approve",
              "description": "Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
              "httpMethod": "POST",
              "parameters": {
                "name": {
                  "description": "Name of the approval request to approve.",
                  "pattern": "^folders/[^/]+/approvalRequests/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "required": true
                }
              },
              "flatPath": "v1/folders/{foldersId}/approvalRequests/{approvalRequestsId}:approve"
            },
            "get": {
              "id": "accessapproval.folders.approvalRequests.get",
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Gets an approval request. Returns NOT_FOUND if the request does not exist.",
              "httpMethod": "GET",
              "flatPath": "v1/folders/{foldersId}/approvalRequests/{approvalRequestsId}",
              "response": {
                "$ref": "ApprovalRequest"
              },
              "parameters": {
                "name": {
                  "pattern": "^folders/[^/]+/approvalRequests/[^/]+$",
                  "location": "path",
                  "description": "Name of the approval request to retrieve.",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v1/{+name}"
            }
          }
        }
      }
    },
    "organizations": {
      "resources": {
        "approvalRequests": {
          "methods": {
            "approve": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}:approve",
              "httpMethod": "POST",
              "response": {
                "$ref": "ApprovalRequest"
              },
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}:approve",
              "parameters": {
                "name": {
                  "description": "Name of the approval request to approve.",
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "pattern": "^organizations/[^/]+/approvalRequests/[^/]+$"
                }
              },
              "id": "accessapproval.organizations.approvalRequests.approve",
              "request": {
                "$ref": "ApproveApprovalRequestMessage"
              },
              "description": "Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state."
            },
            "dismiss": {
              "response": {
                "$ref": "ApprovalRequest"
              },
              "id": "accessapproval.organizations.approvalRequests.dismiss",
              "path": "v1/{+name}:dismiss",
              "request": {
                "$ref": "DismissApprovalRequestMessage"
              },
              "description": "Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "type": "string",
                  "location": "path",
                  "pattern": "^organizations/[^/]+/approvalRequests/[^/]+$",
                  "required": true,
                  "description": "Name of the ApprovalRequest to dismiss."
                }
              },
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}:dismiss"
            },
            "list": {
              "parameterOrder": [
                "parent"
              ],
              "path": "v1/{+parent}/approvalRequests",
              "description": "Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.",
              "id": "accessapproval.organizations.approvalRequests.list",
              "response": {
                "$ref": "ListApprovalRequestsResponse"
              },
              "httpMethod": "GET",
              "parameters": {
                "pageSize": {
                  "type": "integer",
                  "location": "query",
                  "format": "int32",
                  "description": "Requested page size."
                },
                "filter": {
                  "type": "string",
                  "location": "query",
                  "description": "A filter on the type of approval requests to retrieve. Must be one of the following values: * [not set]: Requests that are pending or have active approvals. * ALL: All requests. * PENDING: Only pending requests. * ACTIVE: Only active (i.e. currently approved) requests. * DISMISSED: Only requests that have been dismissed, or requests that . are not approved and past expiration. * EXPIRED: Only requests that have been approved, and the approval has expired. * HISTORY: Active, dismissed and expired requests."
                },
                "parent": {
                  "required": true,
                  "description": "The parent resource. This may be \"projects/{project}\", \"folders/{folder}\", or \"organizations/{organization}\".",
                  "pattern": "^organizations/[^/]+$",
                  "location": "path",
                  "type": "string"
                },
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "A token identifying the page of results to return."
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1/organizations/{organizationsId}/approvalRequests"
            },
            "get": {
              "path": "v1/{+name}",
              "flatPath": "v1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}",
              "description": "Gets an approval request. Returns NOT_FOUND if the request does not exist.",
              "httpMethod": "GET",
              "parameterOrder": [
                "name"
              ],
              "id": "accessapproval.organizations.approvalRequests.get",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "ApprovalRequest"
              },
              "parameters": {
                "name": {
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "pattern": "^organizations/[^/]+/approvalRequests/[^/]+$",
                  "description": "Name of the approval request to retrieve."
                }
              }
            }
          }
        }
      },
      "methods": {
        "updateAccessApprovalSettings": {
          "description": "Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.",
          "request": {
            "$ref": "AccessApprovalSettings"
          },
          "httpMethod": "PATCH",
          "id": "accessapproval.organizations.updateAccessApprovalSettings",
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "path": "v1/{+name}",
          "parameters": {
            "updateMask": {
              "type": "string",
              "format": "google-fieldmask",
              "location": "query",
              "description": "The update mask applies to the settings. Only the top level fields of AccessApprovalSettings (notification_emails & enrolled_services) are supported. For each field, if it is included, the currently stored value will be entirely overwritten with the value of the field passed in this request. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be updated."
            },
            "name": {
              "location": "path",
              "pattern": "^organizations/[^/]+/accessApprovalSettings$",
              "required": true,
              "description": "The resource name of the settings. Format is one of: * \"projects/{project}/accessApprovalSettings\" * \"folders/{folder}/accessApprovalSettings\" * \"organizations/{organization}/accessApprovalSettings\"",
              "type": "string"
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "flatPath": "v1/organizations/{organizationsId}/accessApprovalSettings",
          "parameterOrder": [
            "name"
          ]
        },
        "deleteAccessApprovalSettings": {
          "path": "v1/{+name}",
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to delete.",
              "type": "string",
              "location": "path",
              "required": true,
              "pattern": "^organizations/[^/]+/accessApprovalSettings$"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "DELETE",
          "response": {
            "$ref": "Empty"
          },
          "id": "accessapproval.organizations.deleteAccessApprovalSettings",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.",
          "flatPath": "v1/organizations/{organizationsId}/accessApprovalSettings"
        },
        "getAccessApprovalSettings": {
          "description": "Gets the settings associated with a project, folder, or organization.",
          "path": "v1/{+name}",
          "parameters": {
            "name": {
              "location": "path",
              "pattern": "^organizations/[^/]+/accessApprovalSettings$",
              "type": "string",
              "required": true,
              "description": "Name of the AccessApprovalSettings to retrieve."
            }
          },
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [
            "name"
          ],
          "id": "accessapproval.organizations.getAccessApprovalSettings",
          "httpMethod": "GET",
          "flatPath": "v1/organizations/{organizationsId}/accessApprovalSettings"
        }
      }
    },
    "projects": {
      "methods": {
        "updateAccessApprovalSettings": {
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "PATCH",
          "path": "v1/{+name}",
          "request": {
            "$ref": "AccessApprovalSettings"
          },
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "id": "accessapproval.projects.updateAccessApprovalSettings",
          "flatPath": "v1/projects/{projectsId}/accessApprovalSettings",
          "parameters": {
            "name": {
              "pattern": "^projects/[^/]+/accessApprovalSettings$",
              "description": "The resource name of the settings. Format is one of: * \"projects/{project}/accessApprovalSettings\" * \"folders/{folder}/accessApprovalSettings\" * \"organizations/{organization}/accessApprovalSettings\"",
              "type": "string",
              "required": true,
              "location": "path"
            },
            "updateMask": {
              "location": "query",
              "description": "The update mask applies to the settings. Only the top level fields of AccessApprovalSettings (notification_emails & enrolled_services) are supported. For each field, if it is included, the currently stored value will be entirely overwritten with the value of the field passed in this request. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be updated.",
              "type": "string",
              "format": "google-fieldmask"
            }
          },
          "description": "Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask."
        },
        "getAccessApprovalSettings": {
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "path": "v1/{+name}",
          "httpMethod": "GET",
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to retrieve.",
              "required": true,
              "pattern": "^projects/[^/]+/accessApprovalSettings$",
              "type": "string",
              "location": "path"
            }
          },
          "flatPath": "v1/projects/{projectsId}/accessApprovalSettings",
          "response": {
            "$ref": "AccessApprovalSettings"
          },
          "description": "Gets the settings associated with a project, folder, or organization.",
          "parameterOrder": [
            "name"
          ],
          "id": "accessapproval.projects.getAccessApprovalSettings"
        },
        "deleteAccessApprovalSettings": {
          "id": "accessapproval.projects.deleteAccessApprovalSettings",
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.",
          "flatPath": "v1/projects/{projectsId}/accessApprovalSettings",
          "httpMethod": "DELETE",
          "path": "v1/{+name}",
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Empty"
          },
          "parameters": {
            "name": {
              "description": "Name of the AccessApprovalSettings to delete.",
              "required": true,
              "location": "path",
              "type": "string",
              "pattern": "^projects/[^/]+/accessApprovalSettings$"
            }
          }
        }
      },
      "resources": {
        "approvalRequests": {
          "methods": {
            "approve": {
              "parameters": {
                "name": {
                  "location": "path",
                  "type": "string",
                  "pattern": "^projects/[^/]+/approvalRequests/[^/]+$",
                  "description": "Name of the approval request to approve.",
                  "required": true
                }
              },
              "path": "v1/{+name}:approve",
              "id": "accessapproval.projects.approvalRequests.approve",
              "request": {
                "$ref": "ApproveApprovalRequestMessage"
              },
              "flatPath": "v1/projects/{projectsId}/approvalRequests/{approvalRequestsId}:approve",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "POST",
              "description": "Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
              "response": {
                "$ref": "ApprovalRequest"
              }
            },
            "dismiss": {
              "response": {
                "$ref": "ApprovalRequest"
              },
              "id": "accessapproval.projects.approvalRequests.dismiss",
              "parameters": {
                "name": {
                  "required": true,
                  "type": "string",
                  "description": "Name of the ApprovalRequest to dismiss.",
                  "pattern": "^projects/[^/]+/approvalRequests/[^/]+$",
                  "location": "path"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}:dismiss",
              "flatPath": "v1/projects/{projectsId}/approvalRequests/{approvalRequestsId}:dismiss",
              "request": {
                "$ref": "DismissApprovalRequestMessage"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
              "httpMethod": "POST"
            },
            "list": {
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "ListApprovalRequestsResponse"
              },
              "path": "v1/{+parent}/approvalRequests",
              "description": "Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "accessapproval.projects.approvalRequests.list",
              "parameters": {
                "filter": {
                  "type": "string",
                  "description": "A filter on the type of approval requests to retrieve. Must be one of the following values: * [not set]: Requests that are pending or have active approvals. * ALL: All requests. * PENDING: Only pending requests. * ACTIVE: Only active (i.e. currently approved) requests. * DISMISSED: Only requests that have been dismissed, or requests that . are not approved and past expiration. * EXPIRED: Only requests that have been approved, and the approval has expired. * HISTORY: Active, dismissed and expired requests.",
                  "location": "query"
                },
                "pageSize": {
                  "type": "integer",
                  "location": "query",
                  "format": "int32",
                  "description": "Requested page size."
                },
                "pageToken": {
                  "description": "A token identifying the page of results to return.",
                  "type": "string",
                  "location": "query"
                },
                "parent": {
                  "type": "string",
                  "pattern": "^projects/[^/]+$",
                  "location": "path",
                  "required": true,
                  "description": "The parent resource. This may be \"projects/{project}\", \"folders/{folder}\", or \"organizations/{organization}\"."
                }
              },
              "httpMethod": "GET",
              "flatPath": "v1/projects/{projectsId}/approvalRequests"
            },
            "get": {
              "httpMethod": "GET",
              "description": "Gets an approval request. Returns NOT_FOUND if the request does not exist.",
              "path": "v1/{+name}",
              "response": {
                "$ref": "ApprovalRequest"
              },
              "parameterOrder": [
                "name"
              ],
              "id": "accessapproval.projects.approvalRequests.get",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "name": {
                  "required": true,
                  "description": "Name of the approval request to retrieve.",
                  "location": "path",
                  "type": "string",
                  "pattern": "^projects/[^/]+/approvalRequests/[^/]+$"
                }
              },
              "flatPath": "v1/projects/{projectsId}/approvalRequests/{approvalRequestsId}"
            }
          }
        }
      }
    }
  },
  "documentationLink": "https://cloud.google.com/access-approval/docs",
  "parameters": {
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "type": "string"
    },
    "key": {
      "type": "string",
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    },
    "alt": {
      "location": "query",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "type": "string",
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "fields": {
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string"
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "prettyPrint": {
      "location": "query",
      "default": "true",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks."
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "quotaUser": {
      "location": "query",
      "type": "string",
      "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."
    }
  },
  "rootUrl": "https://accessapproval.googleapis.com/",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "batchPath": "batch",
  "discoveryVersion": "v1",
  "version_module": true,
  "servicePath": "",
  "title": "Access Approval API",
  "fullyEncodeReservedExpansion": true,
  "baseUrl": "https://accessapproval.googleapis.com/",
  "description": "An API for controlling access to data by Google personnel.",
  "mtlsRootUrl": "https://accessapproval.mtls.googleapis.com/",
  "basePath": "",
  "kind": "discovery#restDescription",
  "version": "v1",
  "ownerDomain": "google.com",
  "protocol": "rest",
  "revision": "20201030",
  "id": "accessapproval:v1",
  "canonicalName": "Access Approval",
  "schemas": {
    "DismissApprovalRequestMessage": {
      "id": "DismissApprovalRequestMessage",
      "type": "object",
      "description": "Request to dismiss an approval request.",
      "properties": {}
    },
    "AccessApprovalSettings": {
      "id": "AccessApprovalSettings",
      "description": "Settings on a Project/Folder/Organization related to Access Approval.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The resource name of the settings. Format is one of: * \"projects/{project}/accessApprovalSettings\" * \"folders/{folder}/accessApprovalSettings\" * \"organizations/{organization}/accessApprovalSettings\""
        },
        "enrolledAncestor": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors)."
        },
        "enrolledServices": {
          "items": {
            "$ref": "EnrolledService"
          },
          "description": "A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.",
          "type": "array"
        },
        "notificationEmails": {
          "description": "A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "ApproveApprovalRequestMessage": {
      "type": "object",
      "id": "ApproveApprovalRequestMessage",
      "properties": {
        "expireTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "The expiration time of this approval."
        }
      },
      "description": "Request to approve an ApprovalRequest."
    },
    "ListApprovalRequestsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "Token to retrieve the next page of results, or empty if there are no more.",
          "type": "string"
        },
        "approvalRequests": {
          "type": "array",
          "description": "Approval request details.",
          "items": {
            "$ref": "ApprovalRequest"
          }
        }
      },
      "id": "ListApprovalRequestsResponse",
      "description": "Response to listing of ApprovalRequest objects.",
      "type": "object"
    },
    "DismissDecision": {
      "type": "object",
      "description": "A decision that has been made to dismiss an approval request.",
      "id": "DismissDecision",
      "properties": {
        "dismissTime": {
          "format": "google-datetime",
          "description": "The time at which the approval request was dismissed.",
          "type": "string"
        },
        "implicit": {
          "description": "This field will be true if the ApprovalRequest was implcitly dismissed due to inaction by the access approval approvers (the request is not acted on by the approvers before the exiration time).",
          "type": "boolean"
        }
      }
    },
    "Empty": {
      "properties": {},
      "id": "Empty",
      "type": "object",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`."
    },
    "AccessReason": {
      "type": "object",
      "id": "AccessReason",
      "properties": {
        "detail": {
          "description": "More detail about certain reason types. See comments for each type above.",
          "type": "string"
        },
        "type": {
          "description": "Type of access justification.",
          "type": "string",
          "enum": [
            "TYPE_UNSPECIFIED",
            "CUSTOMER_INITIATED_SUPPORT",
            "GOOGLE_INITIATED_SERVICE",
            "GOOGLE_INITIATED_REVIEW"
          ],
          "enumDescriptions": [
            "Default value for proto, shouldn't be used.",
            "Customer made a request or raised an issue that required the principal to access customer data. `detail` is of the form (\"#####\" is the issue ID): * \"Feedback Report: #####\" * \"Case Number: #####\" * \"Case ID: #####\" * \"E-PIN Reference: #####\" * \"Google-#####\" * \"T-#####\"",
            "The principal accessed customer data in order to diagnose or resolve a suspected issue in services or a known outage. Often this access is used to confirm that customers are not affected by a suspected service issue or to remediate a reversible system issue.",
            "Google initiated service for security, fraud, abuse, or compliance purposes."
          ]
        }
      }
    },
    "EnrolledService": {
      "id": "EnrolledService",
      "type": "object",
      "description": "Represents the enrollment of a cloud resource into a specific service.",
      "properties": {
        "cloudProduct": {
          "type": "string",
          "description": "The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): * all * App Engine * BigQuery * Cloud Bigtable * Cloud Key Management Service * Compute Engine * Cloud Dataflow * Cloud Identity and Access Management * Cloud Pub/Sub * Cloud Storage * Persistent Disk Note: These values are supported as input for legacy purposes, but will not be returned from the API. * all * appengine.googleapis.com * bigquery.googleapis.com * bigtable.googleapis.com * cloudkms.googleapis.com * compute.googleapis.com * dataflow.googleapis.com * iam.googleapis.com * pubsub.googleapis.com * storage.googleapis.com Calls to UpdateAccessApprovalSettings using 'all' or any of the XXX.googleapis.com will be translated to the associated product name ('all', 'App Engine', etc.). Note: 'all' will enroll the resource in all products supported at both 'GA' and 'Preview' levels. More information about levels of support is available at https://cloud.google.com/access-approval/docs/supported-services"
        },
        "enrollmentLevel": {
          "enumDescriptions": [
            "Default value for proto, shouldn't be used.",
            "Service is enrolled in Access Approval for all requests"
          ],
          "enum": [
            "ENROLLMENT_LEVEL_UNSPECIFIED",
            "BLOCK_ALL"
          ],
          "type": "string",
          "description": "The enrollment level of the service."
        }
      }
    },
    "ResourceProperties": {
      "type": "object",
      "id": "ResourceProperties",
      "properties": {
        "excludesDescendants": {
          "description": "Whether an approval will exclude the descendants of the resource being requested.",
          "type": "boolean"
        }
      },
      "description": "The properties associated with the resource of the request."
    },
    "ApprovalRequest": {
      "type": "object",
      "id": "ApprovalRequest",
      "description": "A request for the customer to approve access to a resource.",
      "properties": {
        "requestedResourceProperties": {
          "description": "Properties related to the resource represented by requested_resource_name.",
          "$ref": "ResourceProperties"
        },
        "requestTime": {
          "description": "The time at which approval was requested.",
          "format": "google-datetime",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "The resource name of the request. Format is \"{projects|folders|organizations}/{id}/approvalRequests/{approval_request}\"."
        },
        "requestedResourceName": {
          "type": "string",
          "description": "The resource for which approval is being requested. The format of the resource name is defined at https://cloud.google.com/apis/design/resource_names. The resource name here may either be a \"full\" resource name (e.g. \"//library.googleapis.com/shelves/shelf1/books/book2\") or a \"relative\" resource name (e.g. \"shelves/shelf1/books/book2\") as described in the resource name specification."
        },
        "approve": {
          "$ref": "ApproveDecision",
          "description": "Access was approved."
        },
        "requestedLocations": {
          "description": "The locations for which approval is being requested.",
          "$ref": "AccessLocations"
        },
        "dismiss": {
          "$ref": "DismissDecision",
          "description": "The request was dismissed."
        },
        "requestedExpiration": {
          "type": "string",
          "description": "The requested expiration for the approval. If the request is approved, access will be granted from the time of approval until the expiration time.",
          "format": "google-datetime"
        },
        "requestedReason": {
          "$ref": "AccessReason",
          "description": "The justification for which approval is being requested."
        }
      }
    },
    "ApproveDecision": {
      "description": "A decision that has been made to approve access to a resource.",
      "id": "ApproveDecision",
      "type": "object",
      "properties": {
        "approveTime": {
          "type": "string",
          "description": "The time at which approval was granted.",
          "format": "google-datetime"
        },
        "expireTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The time at which the approval expires."
        }
      }
    },
    "AccessLocations": {
      "properties": {
        "principalPhysicalLocationCountry": {
          "type": "string",
          "description": "Physical location of the principal at the time of the access. A two-letter country code (ISO 3166-1 alpha-2), such as \"US\", \"DE\" or \"GB\" or a region code. In some limited situations Google systems may refer refer to a region code instead of a country code. Possible Region Codes: * ASI: Asia * EUR: Europe * OCE: Oceania * AFR: Africa * NAM: North America * SAM: South America * ANT: Antarctica * ANY: Any location"
        },
        "principalOfficeCountry": {
          "type": "string",
          "description": "The \"home office\" location of the principal. A two-letter country code (ISO 3166-1 alpha-2), such as \"US\", \"DE\" or \"GB\" or a region code. In some limited situations Google systems may refer refer to a region code instead of a country code. Possible Region Codes: * ASI: Asia * EUR: Europe * OCE: Oceania * AFR: Africa * NAM: North America * SAM: South America * ANT: Antarctica * ANY: Any location"
        }
      },
      "type": "object",
      "description": "Home office and physical location of the principal.",
      "id": "AccessLocations"
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "name": "accessapproval",
  "ownerName": "Google"
}
