{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/cloud-auditmanager": {
"description": "See, edit, configure, and delete your Google Cloud Auditmanager data and see the email address for your Google Account"
},
"https://www.googleapis.com/auth/cloud-platform": {
"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
}
}
}
},
"basePath": "",
"baseUrl": "https://auditmanager.googleapis.com/",
"batchPath": "batch",
"canonicalName": "Cloud Audit Manager",
"description": "The Audit Manager API allows customers to manage compliance audits.",
"discoveryVersion": "v1",
"documentationLink": "https://cloud.google.com/assured-workloads/docs/audit-manager",
"endpoints": [
{
"description": "Regional Endpoint",
"endpointUrl": "https://auditmanager.us-central1.rep.googleapis.com/",
"location": "us-central1"
},
{
"description": "Regional Endpoint",
"endpointUrl": "https://auditmanager.europe-west1.rep.googleapis.com/",
"location": "europe-west1"
},
{
"description": "Regional Endpoint",
"endpointUrl": "https://auditmanager.asia-south1.rep.googleapis.com/",
"location": "asia-south1"
}
],
"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": "auditmanager:v1",
"kind": "discovery#restDescription",
"mtlsRootUrl": "https://auditmanager.mtls.googleapis.com/",
"name": "auditmanager",
"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": {
"folders": {
"resources": {
"locations": {
"methods": {
"enrollResource": {
"description": "Adds your project, folder, or organization to Audit Manager. This method creates the Audit Manager service agent in your workload and grants required permissions to the service agent. If you make this request on a workload that's already enrolled, then this method overrides the existing set of destinations.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}:enrollResource",
"httpMethod": "POST",
"id": "auditmanager.folders.locations.enrollResource",
"parameterOrder": [
"scope"
],
"parameters": {
"scope": {
"description": "Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+scope}:enrollResource",
"request": {
"$ref": "EnrollResourceRequest"
},
"response": {
"$ref": "Enrollment"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"auditReports": {
"methods": {
"generate": {
"description": "Registers audit report generation requests. This method returns the operation identifier that you can use to track the report generation progress.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditReports:generate",
"httpMethod": "POST",
"id": "auditmanager.folders.locations.auditReports.generate",
"parameterOrder": [
"scope"
],
"parameters": {
"scope": {
"description": "Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+scope}/auditReports:generate",
"request": {
"$ref": "GenerateAuditReportRequest"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets the full metadata and findings for an audit report.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditReports/{auditReportsId}",
"httpMethod": "GET",
"id": "auditmanager.folders.locations.auditReports.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the audit report, in one of the following formats: * `projects/{project}/locations/{location}/auditReports/{audit_report}` * `folders/{folder}/locations/{location}/auditReports/{audit_report}` * `organizations/{organization}/locations/{location}/auditReports/{audit_report}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+/auditReports/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "AuditReport"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists the audit reports for the organization, folder, or project that you specify as the parent scope.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditReports",
"httpMethod": "GET",
"id": "auditmanager.folders.locations.auditReports.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/auditReports",
"response": {
"$ref": "ListAuditReportsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"auditSchedules": {
"methods": {
"create": {
"description": "Creates a new audit schedule in a given project and location.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditSchedules",
"httpMethod": "POST",
"id": "auditmanager.folders.locations.auditSchedules.create",
"parameterOrder": [
"parent"
],
"parameters": {
"auditScheduleId": {
"description": "Required. ID to use for the audit schedule, which becomes the final component of the audit schedule's resource name.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Project or folder that this audit schedule is for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
},
"validateOnly": {
"description": "Optional. If `true`, only validates the request and does not create the audit schedule. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas.",
"location": "query",
"type": "boolean"
}
},
"path": "v1/{+parent}/auditSchedules",
"request": {
"$ref": "AuditSchedule"
},
"response": {
"$ref": "AuditSchedule"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets details of a single audit schedule.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditSchedules/{auditSchedulesId}",
"httpMethod": "GET",
"id": "auditmanager.folders.locations.auditSchedules.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the audit schedule to retrieve, in one of the following formats: * `projects/{project}/locations/{location}/auditSchedules/{audit_schedule}` * `folders/{folder}/locations/{location}/auditSchedules/{audit_schedule}` * `organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+/auditSchedules/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "AuditSchedule"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists audit schedules in a given project and location.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditSchedules",
"httpMethod": "GET",
"id": "auditmanager.folders.locations.auditSchedules.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Parent for the audit schedule, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/auditSchedules",
"response": {
"$ref": "ListAuditSchedulesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"patch": {
"description": "Updates an existing audit schedule.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditSchedules/{auditSchedulesId}",
"httpMethod": "PATCH",
"id": "auditmanager.folders.locations.auditSchedules.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule}",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+/auditSchedules/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Optional. List of fields to update.",
"format": "google-fieldmask",
"location": "query",
"type": "string"
},
"validateOnly": {
"description": "Optional. If `true`, only validates the request and does not update the audit schedule. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas.",
"location": "query",
"type": "boolean"
}
},
"path": "v1/{+name}",
"request": {
"$ref": "AuditSchedule"
},
"response": {
"$ref": "AuditSchedule"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"auditScopeReports": {
"methods": {
"generate": {
"description": "Generates an audit scope report for the given standard. The report includes the following: * The technical attributes and constraints that Audit Manager uses to verify your compliance with a framework. * A list of Google Cloud services and resources that are within the scope of the framework.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/auditScopeReports:generate",
"httpMethod": "POST",
"id": "auditmanager.folders.locations.auditScopeReports.generate",
"parameterOrder": [
"scope"
],
"parameters": {
"scope": {
"description": "Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+scope}/auditScopeReports:generate",
"request": {
"$ref": "GenerateAuditScopeReportRequest"
},
"response": {
"$ref": "AuditScopeReport"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"operationDetails": {
"methods": {
"get": {
"description": "Gets details about the long-running operation to generate audit reports.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/operationDetails/{operationDetailsId}",
"httpMethod": "GET",
"id": "auditmanager.folders.locations.operationDetails.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+/operationDetails/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"operationIds": {
"methods": {
"get": {
"description": "Gets details about the long-running operation to generate audit reports.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/operationIds/{operationIdsId}",
"httpMethod": "GET",
"id": "auditmanager.folders.locations.operationIds.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+/operationIds/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"resourceEnrollmentStatuses": {
"methods": {
"get": {
"description": "Gets a resource and its enrollment status.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/resourceEnrollmentStatuses/{resourceEnrollmentStatusesId}",
"httpMethod": "GET",
"id": "auditmanager.folders.locations.resourceEnrollmentStatuses.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `projects/{project}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `organizations/{organization}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+/resourceEnrollmentStatuses/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "ResourceEnrollmentStatus"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists all the folders and projects in an organization or folder, along with their enrollments.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/resourceEnrollmentStatuses",
"httpMethod": "GET",
"id": "auditmanager.folders.locations.resourceEnrollmentStatuses.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Parent organization or folder to list enrollment statuses for, in one of the following formats: * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/resourceEnrollmentStatuses",
"response": {
"$ref": "ListResourceEnrollmentStatusesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"standards": {
"resources": {
"controls": {
"methods": {
"list": {
"description": "Lists the controls that you must implement to become compliant to a regulatory standard.",
"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/standards/{standardsId}/controls",
"httpMethod": "GET",
"id": "auditmanager.folders.locations.standards.controls.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Standard to list controls for, in one of the following formats: * `projects/{project}/locations/{location}/standards/{standard}` * `folders/{folder}/locations/{location}/standards/{standard}` * `organizations/{organization}/locations/{location}/standards/{standard}`",
"location": "path",
"pattern": "^folders/[^/]+/locations/[^/]+/standards/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/controls",
"response": {
"$ref": "ListControlsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
}
}
}
}
},
"organizations": {
"resources": {
"locations": {
"methods": {
"enrollResource": {
"description": "Adds your project, folder, or organization to Audit Manager. This method creates the Audit Manager service agent in your workload and grants required permissions to the service agent. If you make this request on a workload that's already enrolled, then this method overrides the existing set of destinations.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}:enrollResource",
"httpMethod": "POST",
"id": "auditmanager.organizations.locations.enrollResource",
"parameterOrder": [
"scope"
],
"parameters": {
"scope": {
"description": "Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+scope}:enrollResource",
"request": {
"$ref": "EnrollResourceRequest"
},
"response": {
"$ref": "Enrollment"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"auditReports": {
"methods": {
"generate": {
"description": "Registers audit report generation requests. This method returns the operation identifier that you can use to track the report generation progress.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditReports:generate",
"httpMethod": "POST",
"id": "auditmanager.organizations.locations.auditReports.generate",
"parameterOrder": [
"scope"
],
"parameters": {
"scope": {
"description": "Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+scope}/auditReports:generate",
"request": {
"$ref": "GenerateAuditReportRequest"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets the full metadata and findings for an audit report.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditReports/{auditReportsId}",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.auditReports.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the audit report, in one of the following formats: * `projects/{project}/locations/{location}/auditReports/{audit_report}` * `folders/{folder}/locations/{location}/auditReports/{audit_report}` * `organizations/{organization}/locations/{location}/auditReports/{audit_report}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+/auditReports/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "AuditReport"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists the audit reports for the organization, folder, or project that you specify as the parent scope.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditReports",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.auditReports.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/auditReports",
"response": {
"$ref": "ListAuditReportsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"auditSchedules": {
"methods": {
"create": {
"description": "Creates a new audit schedule in a given project and location.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditSchedules",
"httpMethod": "POST",
"id": "auditmanager.organizations.locations.auditSchedules.create",
"parameterOrder": [
"parent"
],
"parameters": {
"auditScheduleId": {
"description": "Required. ID to use for the audit schedule, which becomes the final component of the audit schedule's resource name.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Project or folder that this audit schedule is for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
},
"validateOnly": {
"description": "Optional. If `true`, only validates the request and does not create the audit schedule. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas.",
"location": "query",
"type": "boolean"
}
},
"path": "v1/{+parent}/auditSchedules",
"request": {
"$ref": "AuditSchedule"
},
"response": {
"$ref": "AuditSchedule"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets details of a single audit schedule.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditSchedules/{auditSchedulesId}",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.auditSchedules.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the audit schedule to retrieve, in one of the following formats: * `projects/{project}/locations/{location}/auditSchedules/{audit_schedule}` * `folders/{folder}/locations/{location}/auditSchedules/{audit_schedule}` * `organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+/auditSchedules/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "AuditSchedule"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists audit schedules in a given project and location.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditSchedules",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.auditSchedules.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Parent for the audit schedule, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/auditSchedules",
"response": {
"$ref": "ListAuditSchedulesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"patch": {
"description": "Updates an existing audit schedule.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditSchedules/{auditSchedulesId}",
"httpMethod": "PATCH",
"id": "auditmanager.organizations.locations.auditSchedules.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule}",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+/auditSchedules/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Optional. List of fields to update.",
"format": "google-fieldmask",
"location": "query",
"type": "string"
},
"validateOnly": {
"description": "Optional. If `true`, only validates the request and does not update the audit schedule. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas.",
"location": "query",
"type": "boolean"
}
},
"path": "v1/{+name}",
"request": {
"$ref": "AuditSchedule"
},
"response": {
"$ref": "AuditSchedule"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"auditScopeReports": {
"methods": {
"generate": {
"description": "Generates an audit scope report for the given standard. The report includes the following: * The technical attributes and constraints that Audit Manager uses to verify your compliance with a framework. * A list of Google Cloud services and resources that are within the scope of the framework.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/auditScopeReports:generate",
"httpMethod": "POST",
"id": "auditmanager.organizations.locations.auditScopeReports.generate",
"parameterOrder": [
"scope"
],
"parameters": {
"scope": {
"description": "Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+scope}/auditScopeReports:generate",
"request": {
"$ref": "GenerateAuditScopeReportRequest"
},
"response": {
"$ref": "AuditScopeReport"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"operationDetails": {
"methods": {
"get": {
"description": "Gets details about the long-running operation to generate audit reports.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operationDetails/{operationDetailsId}",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.operationDetails.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+/operationDetails/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"operationIds": {
"methods": {
"get": {
"description": "Gets details about the long-running operation to generate audit reports.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operationIds/{operationIdsId}",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.operationIds.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+/operationIds/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"operations": {
"methods": {
"cancel": {
"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel",
"httpMethod": "POST",
"id": "auditmanager.organizations.locations.operations.cancel",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be cancelled.",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}:cancel",
"request": {
"$ref": "CancelOperationRequest"
},
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}",
"httpMethod": "DELETE",
"id": "auditmanager.organizations.locations.operations.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be deleted.",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.operations.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.operations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "The standard list filter.",
"location": "query",
"type": "string"
},
"name": {
"description": "The name of the operation's parent resource.",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The standard list page size.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The standard list page token.",
"location": "query",
"type": "string"
},
"returnPartialSuccess": {
"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
"location": "query",
"type": "boolean"
}
},
"path": "v1/{+name}/operations",
"response": {
"$ref": "ListOperationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"resourceEnrollmentStatuses": {
"methods": {
"get": {
"description": "Gets a resource and its enrollment status.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/resourceEnrollmentStatuses/{resourceEnrollmentStatusesId}",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.resourceEnrollmentStatuses.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `projects/{project}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `organizations/{organization}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+/resourceEnrollmentStatuses/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "ResourceEnrollmentStatus"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists all the folders and projects in an organization or folder, along with their enrollments.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/resourceEnrollmentStatuses",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.resourceEnrollmentStatuses.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Parent organization or folder to list enrollment statuses for, in one of the following formats: * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/resourceEnrollmentStatuses",
"response": {
"$ref": "ListResourceEnrollmentStatusesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"standards": {
"resources": {
"controls": {
"methods": {
"list": {
"description": "Lists the controls that you must implement to become compliant to a regulatory standard.",
"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/standards/{standardsId}/controls",
"httpMethod": "GET",
"id": "auditmanager.organizations.locations.standards.controls.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Standard to list controls for, in one of the following formats: * `projects/{project}/locations/{location}/standards/{standard}` * `folders/{folder}/locations/{location}/standards/{standard}` * `organizations/{organization}/locations/{location}/standards/{standard}`",
"location": "path",
"pattern": "^organizations/[^/]+/locations/[^/]+/standards/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/controls",
"response": {
"$ref": "ListControlsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
}
}
}
}
},
"projects": {
"resources": {
"locations": {
"methods": {
"enrollResource": {
"description": "Adds your project, folder, or organization to Audit Manager. This method creates the Audit Manager service agent in your workload and grants required permissions to the service agent. If you make this request on a workload that's already enrolled, then this method overrides the existing set of destinations.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}:enrollResource",
"httpMethod": "POST",
"id": "auditmanager.projects.locations.enrollResource",
"parameterOrder": [
"scope"
],
"parameters": {
"scope": {
"description": "Required. Organization, folder, or project to enroll in Audit Manager, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+scope}:enrollResource",
"request": {
"$ref": "EnrollResourceRequest"
},
"response": {
"$ref": "Enrollment"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets information about a location.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Resource name for the location.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Location"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.",
"flatPath": "v1/projects/{projectsId}/locations",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.list",
"parameterOrder": [
"name"
],
"parameters": {
"extraLocationTypes": {
"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
"location": "query",
"repeated": true,
"type": "string"
},
"filter": {
"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
"location": "query",
"type": "string"
},
"name": {
"description": "The resource that owns the locations collection, if applicable.",
"location": "path",
"pattern": "^projects/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The maximum number of results to return. If not set, the service selects a default.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
"location": "query",
"type": "string"
}
},
"path": "v1/{+name}/locations",
"response": {
"$ref": "ListLocationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"auditReports": {
"methods": {
"generate": {
"description": "Registers audit report generation requests. This method returns the operation identifier that you can use to track the report generation progress.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditReports:generate",
"httpMethod": "POST",
"id": "auditmanager.projects.locations.auditReports.generate",
"parameterOrder": [
"scope"
],
"parameters": {
"scope": {
"description": "Required. Organization, folder, or project that the audit applies to, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+scope}/auditReports:generate",
"request": {
"$ref": "GenerateAuditReportRequest"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets the full metadata and findings for an audit report.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditReports/{auditReportsId}",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.auditReports.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the audit report, in one of the following formats: * `projects/{project}/locations/{location}/auditReports/{audit_report}` * `folders/{folder}/locations/{location}/auditReports/{audit_report}` * `organizations/{organization}/locations/{location}/auditReports/{audit_report}`",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/auditReports/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "AuditReport"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists the audit reports for the organization, folder, or project that you specify as the parent scope.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditReports",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.auditReports.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Parent organization, folder, or project to list reports for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/auditReports",
"response": {
"$ref": "ListAuditReportsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"auditSchedules": {
"methods": {
"create": {
"description": "Creates a new audit schedule in a given project and location.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditSchedules",
"httpMethod": "POST",
"id": "auditmanager.projects.locations.auditSchedules.create",
"parameterOrder": [
"parent"
],
"parameters": {
"auditScheduleId": {
"description": "Required. ID to use for the audit schedule, which becomes the final component of the audit schedule's resource name.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Project or folder that this audit schedule is for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}`",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
},
"validateOnly": {
"description": "Optional. If `true`, only validates the request and does not create the audit schedule. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas.",
"location": "query",
"type": "boolean"
}
},
"path": "v1/{+parent}/auditSchedules",
"request": {
"$ref": "AuditSchedule"
},
"response": {
"$ref": "AuditSchedule"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets details of a single audit schedule.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditSchedules/{auditSchedulesId}",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.auditSchedules.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the audit schedule to retrieve, in one of the following formats: * `projects/{project}/locations/{location}/auditSchedules/{audit_schedule}` * `folders/{folder}/locations/{location}/auditSchedules/{audit_schedule}` * `organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule}`",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/auditSchedules/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "AuditSchedule"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists audit schedules in a given project and location.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditSchedules",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.auditSchedules.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Parent for the audit schedule, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/auditSchedules",
"response": {
"$ref": "ListAuditSchedulesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"patch": {
"description": "Updates an existing audit schedule.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditSchedules/{auditSchedulesId}",
"httpMethod": "PATCH",
"id": "auditmanager.projects.locations.auditSchedules.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule}",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/auditSchedules/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Optional. List of fields to update.",
"format": "google-fieldmask",
"location": "query",
"type": "string"
},
"validateOnly": {
"description": "Optional. If `true`, only validates the request and does not update the audit schedule. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas.",
"location": "query",
"type": "boolean"
}
},
"path": "v1/{+name}",
"request": {
"$ref": "AuditSchedule"
},
"response": {
"$ref": "AuditSchedule"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"auditScopeReports": {
"methods": {
"generate": {
"description": "Generates an audit scope report for the given standard. The report includes the following: * The technical attributes and constraints that Audit Manager uses to verify your compliance with a framework. * A list of Google Cloud services and resources that are within the scope of the framework.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/auditScopeReports:generate",
"httpMethod": "POST",
"id": "auditmanager.projects.locations.auditScopeReports.generate",
"parameterOrder": [
"scope"
],
"parameters": {
"scope": {
"description": "Required. Project or folder that the audit scope report is generated for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+scope}/auditScopeReports:generate",
"request": {
"$ref": "GenerateAuditScopeReportRequest"
},
"response": {
"$ref": "AuditScopeReport"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"operationDetails": {
"methods": {
"get": {
"description": "Gets details about the long-running operation to generate audit reports.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operationDetails/{operationDetailsId}",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.operationDetails.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/operationDetails/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"operationIds": {
"methods": {
"get": {
"description": "Gets details about the long-running operation to generate audit reports.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operationIds/{operationIdsId}",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.operationIds.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/operationIds/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"operations": {
"methods": {
"cancel": {
"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
"httpMethod": "POST",
"id": "auditmanager.projects.locations.operations.cancel",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be cancelled.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}:cancel",
"request": {
"$ref": "CancelOperationRequest"
},
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
"httpMethod": "DELETE",
"id": "auditmanager.projects.locations.operations.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be deleted.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.operations.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.operations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "The standard list filter.",
"location": "query",
"type": "string"
},
"name": {
"description": "The name of the operation's parent resource.",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The standard list page size.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The standard list page token.",
"location": "query",
"type": "string"
},
"returnPartialSuccess": {
"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
"location": "query",
"type": "boolean"
}
},
"path": "v1/{+name}/operations",
"response": {
"$ref": "ListOperationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"resourceEnrollmentStatuses": {
"methods": {
"get": {
"description": "Gets a resource and its enrollment status.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/resourceEnrollmentStatuses/{resourceEnrollmentStatusesId}",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.resourceEnrollmentStatuses.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the resource enrollment status, in one of the following formats: * `folders/{folder}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `projects/{project}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `organizations/{organization}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/resourceEnrollmentStatuses/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "ResourceEnrollmentStatus"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
},
"standards": {
"resources": {
"controls": {
"methods": {
"list": {
"description": "Lists the controls that you must implement to become compliant to a regulatory standard.",
"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/standards/{standardsId}/controls",
"httpMethod": "GET",
"id": "auditmanager.projects.locations.standards.controls.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "Optional. Maximum number of items to return in a single page. The service might return fewer items than this value. If unspecified, the service picks an appropriate default. The maximum value is 100; values above 100 are reduced to 100.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Optional. A page token, received from a previous call, to retrieve the next page of results.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Standard to list controls for, in one of the following formats: * `projects/{project}/locations/{location}/standards/{standard}` * `folders/{folder}/locations/{location}/standards/{standard}` * `organizations/{organization}/locations/{location}/standards/{standard}`",
"location": "path",
"pattern": "^projects/[^/]+/locations/[^/]+/standards/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/controls",
"response": {
"$ref": "ListControlsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-auditmanager",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
}
}
}
}
}
},
"revision": "20260908",
"rootUrl": "https://auditmanager.googleapis.com/",
"schemas": {
"AuditReport": {
"description": "An audit report.",
"id": "AuditReport",
"properties": {
"complianceFramework": {
"description": "Output only. Compliance framework to use for the audit report. For example, `CIS_GCP_FOUNDATIONS_V1_2_0`.",
"readOnly": true,
"type": "string"
},
"complianceStandard": {
"deprecated": true,
"description": "Output only. Deprecated. Compliance standard to be audited against. Use the `compliance_framework` field instead.",
"readOnly": true,
"type": "string"
},
"controlDetails": {
"description": "Output only. Overall status of the controls.",
"items": {
"$ref": "ControlDetails"
},
"readOnly": true,
"type": "array"
},
"createTime": {
"description": "Output only. Creation time of the audit report.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"destinationDetails": {
"$ref": "DestinationDetails",
"description": "Output only. Cloud Storage bucket where the audit report is uploaded to.",
"readOnly": true
},
"name": {
"description": "Identifier. Name of the audit report, in one of the following formats: * `projects/{project}/locations/{location}/auditReports/{audit_report}` * `folders/{folder}/locations/{location}/auditReports/{audit_report}` * `organizations/{organization}/locations/{location}/auditReports/{audit_report}`",
"type": "string"
},
"operationId": {
"description": "Output only. Client operation ID for the audit report.",
"readOnly": true,
"type": "string"
},
"reportGenerationState": {
"description": "Output only. State of audit report generation.",
"enum": [
"REPORT_GENERATION_STATE_UNSPECIFIED",
"IN_PROGRESS",
"COMPLETED",
"FAILED",
"SUMMARY_UNKNOWN"
],
"enumDescriptions": [
"Default value. This value is unused.",
"The process is in progress. The operation can have any state except for `OPERATION_STATE_DONE` or `OPERATION_STATE_FAILED`.",
"The process is completed. The operation state is `OPERATION_STATE_DONE`.",
"The process has failed. The operation state is `OPERATION_STATE_FAILED`.",
"The process completed, but the report summary's status is unknown. This state isn't used for new reports."
],
"readOnly": true,
"type": "string"
},
"reportSummary": {
"$ref": "ReportSummary",
"description": "Output only. Report summary that includes information about compliance and violation counts.",
"readOnly": true
},
"scope": {
"description": "Output only. Organization, folder, or project that the report is generated for, in one of the following formats: * `projects/{project}/locations/{location}` * `folders/{folder}/locations/{location}` * `organizations/{organization}/locations/{location}`",
"readOnly": true,
"type": "string"
},
"scopeId": {
"description": "Output only. Project number, folder ID, or organization ID that the audit report was generated for.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"AuditSchedule": {
"description": "An audit schedule, in one of the following formats: * `projects/{project}/locations/{location}/auditSchedules/{audit_schedule}` * `folders/{folder}/locations/{location}/auditSchedules/{audit_schedule}`",
"id": "AuditSchedule",
"properties": {
"complianceFramework": {
"description": "Required. Framework (set of controls) that the audit scope report is generated against. For example, `NIST_800_53`.",
"type": "string"
},
"createTime": {
"description": "Output only. Timestamp when the schedule was created.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"displayName": {
"description": "Optional. Display name for the audit schedule.",
"type": "string"
},
"errorMessage": {
"description": "Output only. Describes the error if the schedule is in an error state.",
"readOnly": true,
"type": "string"
},
"gcsUri": {
"description": "Required. Cloud Storage bucket where Audit Manager can upload the audit report and evidence. The format is `gs://{bucket_name}`.",
"type": "string"
},
"lastTriggerTime": {
"description": "Output only. Timestamp when the audit run was last triggered.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"name": {
"description": "Identifier. Unique identifier for the audit schedule. Format: projects/{project}/locations/{location}/auditSchedules/{audit_schedule} folders/{folder}/locations/{location}/auditSchedules/{audit_schedule} organizations/{organization}/locations/{location}/auditSchedules/{audit_schedule}",
"type": "string"
},
"nextRunTime": {
"description": "Output only. Calculated timestamp for the next scheduled run.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"reportFormat": {
"description": "Required. Format for the audit report.",
"enum": [
"AUDIT_REPORT_FORMAT_UNSPECIFIED",
"AUDIT_REPORT_FORMAT_ODF"
],
"enumDescriptions": [
"Default value. This value is unused.",
"Open Document Format (ODF)."
],
"type": "string"
},
"scheduleConfig": {
"$ref": "ScheduleConfig",
"description": "Required. Configuration that defines when and how often audit runs are automatically triggered for this schedule."
},
"state": {
"description": "Optional. State of the audit schedule. While most states are managed by the system, you can use UpdateAuditSchedule to start, pause, or delete the schedule.",
"enum": [
"SCHEDULE_STATE_UNSPECIFIED",
"SCHEDULE_STATE_ACTIVE",
"SCHEDULE_STATE_PAUSED",
"SCHEDULE_STATE_COMPLETED",
"SCHEDULE_STATE_FAILED_SETUP",
"SCHEDULE_STATE_ERROR",
"SCHEDULE_STATE_DELETED"
],
"enumDescriptions": [
"Default value. This value is unused.",
"Schedule is active and will trigger runs.",
"Schedule is paused and will not trigger runs.",
"Schedule end time has passed.",
"Schedule setup failed during creation or update.",
"Schedule is in an error state due to persistent failure to trigger an audit. Manual intervention is required.",
"Schedule has been marked for deletion by the user."
],
"type": "string"
},
"updateTime": {
"description": "Output only. Timestamp when the schedule was last updated.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"AuditScopeReport": {
"description": "Audit scope report.",
"id": "AuditScopeReport",
"properties": {
"name": {
"description": "Identifier. Name for the audit scope report, in one of the following formats: * `projects/{project}/locations/{location}/auditScopeReports/{audit_scope_report}` * `folders/{folder}/locations/{location}/auditScopeReports/{audit_scope_report}` * `organizations/{organization}/locations/{location}/auditScopeReports/{audit_scope_report}`",
"type": "string"
},
"scopeReportContents": {
"description": "Audit scope report content in byte format.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
"CancelOperationRequest": {
"description": "The request message for Operations.CancelOperation.",
"id": "CancelOperationRequest",
"properties": {},
"type": "object"
},
"Control": {
"description": "A control.",
"id": "Control",
"properties": {
"controlFamily": {
"$ref": "ControlFamily",
"description": "Output only. Regulatory family of the control.",
"readOnly": true
},
"customerResponsibilityDescription": {
"description": "Output only. A description of your responsibility for this control.",
"readOnly": true,
"type": "string"
},
"customerResponsibilityImplementation": {
"description": "Output only. A description of how you can implement your responsibility for this control.",
"readOnly": true,
"type": "string"
},
"description": {
"description": "Output only. Description of the control.",
"readOnly": true,
"type": "string"
},
"displayName": {
"description": "Output only. Display name of the control.",
"readOnly": true,
"type": "string"
},
"family": {
"description": "Output only. Category that the control belongs to.",
"enum": [
"FAMILY_UNSPECIFIED",
"AC",
"AT",
"AU",
"CA",
"CM",
"CP",
"IA",
"IR",
"MA",
"MP",
"PE",
"PL",
"PS",
"RA",
"SA",
"SC",
"SI",
"SR"
],
"enumDescriptions": [
"Default value. This value is unused.",
"Access control.",
"Awareness and training.",
"Audit and accountability.",
"Certification, accreditation and security assessments.",
"Configuration management and change control.",
"Contingency planning and disaster recovery.",
"Identification and authentication.",
"Incident response.",
"Maintenance.",
"Media protection.",
"Physical and environmental protection.",
"Security planning.",
"Personnel security.",
"Risk assessment.",
"System services and acquisition.",
"System and communications protection.",
"System and information integrity.",
"Supply chain risk management."
],
"readOnly": true,
"type": "string"
},
"googleResponsibilityDescription": {
"description": "Output only. A description of Google's responsibility for this control.",
"readOnly": true,
"type": "string"
},
"googleResponsibilityImplementation": {
"description": "Output only. A description of how Google implements its responsibility for this control.",
"readOnly": true,
"type": "string"
},
"id": {
"description": "Output only. Control identifier that's used to fetch the findings. The identifier is the same as the control report name.",
"readOnly": true,
"type": "string"
},
"responsibilityType": {
"description": "Output only. Who is responsible for implementing this control. Set to one of the following values: `GOOGLE`, `CUSTOMER`, or `SHARED`.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"ControlDetails": {
"description": "Evaluation details for a control.",
"id": "ControlDetails",
"properties": {
"complianceState": {
"description": "Output only. Overall status of the findings for the control.",
"enum": [
"COMPLIANCE_STATE_UNSPECIFIED",
"COMPLIANT",
"VIOLATION",
"MANUAL_REVIEW_NEEDED",
"ERROR",
"AUDIT_NOT_SUPPORTED"
],
"enumDescriptions": [
"Default value. This value is unused.",
"The resource is compliant.",
"The resource isn't compliant.",
"You must complete a manual review.",
"An error was encountered during the evaluation or evidence gathering process.",
"The resource can't be audited."
],
"readOnly": true,
"type": "string"
},
"control": {
"$ref": "Control",
"description": "Control that the findings are being reported for."
},
"controlReportSummary": {
"$ref": "ReportSummary",
"description": "A control report summary that provides a high-level overview of the compliance controls and the assessment status."
}
},
"type": "object"
},
"ControlFamily": {
"description": "Regulatory family of the control.",
"id": "ControlFamily",
"properties": {
"displayName": {
"description": "Display name of the regulatory control family.",
"type": "string"
},
"familyId": {
"description": "ID of the regulatory control family. To find the list of supported control families, use the ListControls method and review the `control_family` field in the response.",
"type": "string"
}
},
"type": "object"
},
"DestinationDetails": {
"description": "Cloud Storage bucket where the audit report is uploaded to.",
"id": "DestinationDetails",
"properties": {
"gcsBucketUri": {
"description": "URI for the Cloud Storage bucket, in the format `gs://{bucket_name}`.",
"type": "string"
}
},
"type": "object"
},
"EligibleDestination": {
"description": "Details about the bucket where you want to upload the audit report.",
"id": "EligibleDestination",
"properties": {
"eligibleGcsBucket": {
"description": "The location of the Cloud Storage bucket where you want to upload the audit report and evidence during the GenerateAuditReport API call.",
"type": "string"
}
},
"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); }",
"id": "Empty",
"properties": {},
"type": "object"
},
"EnrollResourceRequest": {
"description": "Request message for EnrollResource.",
"id": "EnrollResourceRequest",
"properties": {
"destinations": {
"description": "Required. Cloud Storage buckets that you can upload your audit reports to during the audit process. When you enroll an organization or folder, you can choose a Cloud Storage bucket from any project in the organization or folder. If you run an audit at the project level using the service agent at the organization or folder level, all the buckets that are associated with the service agent are available.",
"items": {
"$ref": "EligibleDestination"
},
"type": "array"
},
"validateOnly": {
"description": "Optional. If `true`, only validates the request and does not enroll the resource. This executes standard request validation (such as schema, IAM, and destination checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas.",
"type": "boolean"
}
},
"type": "object"
},
"Enrollment": {
"description": "Organization, folder, or project to enroll for audit reports.",
"id": "Enrollment",
"properties": {
"destinationDetails": {
"description": "Output only. Cloud Storage buckets where you want to upload the audit reports.",
"items": {
"$ref": "DestinationDetails"
},
"readOnly": true,
"type": "array"
},
"name": {
"description": "Identifier. Name of the enrollment, in one of the following formats: * `projects/{project}/locations/{location}/enrollments/{enrollment}` * `folders/{folder}/locations/{location}/enrollments/{enrollment}` * `organizations/{organization}/locations/{location}/enrollments/{enrollment}`",
"type": "string"
}
},
"type": "object"
},
"GenerateAuditReportRequest": {
"description": "Request message for GenerateAuditReport.",
"id": "GenerateAuditReportRequest",
"properties": {
"complianceFramework": {
"description": "Required. The framework that's used for the audit report. For example, `NIST_800_53`.",
"type": "string"
},
"complianceStandard": {
"deprecated": true,
"description": "Optional. Deprecated. Compliance standard for the audit report. Use the `compliance_framework` field instead.",
"type": "string"
},
"gcsUri": {
"description": "URL for the Cloud Storage bucket where the report and evidence is uploaded. You must select a bucket that was provided during the enrollment process.",
"type": "string"
},
"reportFormat": {
"description": "Required. Format for the audit report.",
"enum": [
"AUDIT_REPORT_FORMAT_UNSPECIFIED",
"AUDIT_REPORT_FORMAT_ODF"
],
"enumDescriptions": [
"Default value. This value is unused.",
"Open Document format."
],
"type": "string"
},
"validateOnly": {
"description": "Optional. If `true`, only validates the request and does not generate the audit report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without triggering expensive Long-Running Operations (LROs) or consuming resource quotas.",
"type": "boolean"
}
},
"type": "object"
},
"GenerateAuditScopeReportRequest": {
"description": "Request message for GenerateAuditScopeReport.",
"id": "GenerateAuditScopeReportRequest",
"properties": {
"complianceFramework": {
"description": "Required. Framework (set of controls) that the audit scope report is generated against. For example, `NIST_800_53`.",
"type": "string"
},
"complianceStandard": {
"deprecated": true,
"description": "Optional. Deprecated. The standard (industry or regulatory requirements) that the audit scope report is run against. Use the `compliance_framework` field instead.",
"type": "string"
},
"reportFormat": {
"description": "Required. Format for the audit scope report.",
"enum": [
"AUDIT_SCOPE_REPORT_FORMAT_UNSPECIFIED",
"AUDIT_SCOPE_REPORT_FORMAT_ODF"
],
"enumDescriptions": [
"Default value. This value is unused.",
"Open Document format."
],
"type": "string"
},
"validateOnly": {
"description": "Optional. If `true`, only validates the request and does not generate the audit scope report. This executes standard request validation (such as schema, framework existence, scope, and IAM checks) and skips the apply phase. Use this field for the following purposes: * **Infrastructure as Code (IaC)**: Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`) without creating real resources or incurring costs. * **User Interface Validation**: Enable real-time form and permission validation in custom UIs before submitting requests. * **CI/CD & Automation**: Test your scripts, permissions, and parameters safely without consuming resource quotas.",
"type": "boolean"
}
},
"type": "object"
},
"ListAuditReportsResponse": {
"description": "Response message for ListAuditReports.",
"id": "ListAuditReportsResponse",
"properties": {
"auditReports": {
"description": "Output only. Audit reports.",
"items": {
"$ref": "AuditReport"
},
"readOnly": true,
"type": "array"
},
"nextPageToken": {
"description": "Output only. A token that you can send as the `page_token` in a subsequent request to retrieve the next page of results. If this field is empty, there are no subsequent pages.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"ListAuditSchedulesResponse": {
"description": "Response message for ListAuditSchedules.",
"id": "ListAuditSchedulesResponse",
"properties": {
"auditSchedules": {
"description": "List of audit schedules.",
"items": {
"$ref": "AuditSchedule"
},
"type": "array"
},
"nextPageToken": {
"description": "A token that you can send as the `page_token` in a subsequent request to retrieve the next page of results. If this field is empty, there are no subsequent pages.",
"type": "string"
},
"unreachable": {
"description": "Locations that can't be reached.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"ListControlsResponse": {
"description": "Response message for ListControls.",
"id": "ListControlsResponse",
"properties": {
"controls": {
"description": "Output only. Controls for a given regulatory standard.",
"items": {
"$ref": "Control"
},
"readOnly": true,
"type": "array"
},
"nextPageToken": {
"description": "Output only. A token that you can send as the `page_token` in a subsequent request to retrieve the next page of results. If this field is empty, there are no subsequent pages.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"ListLocationsResponse": {
"description": "The response message for Locations.ListLocations.",
"id": "ListLocationsResponse",
"properties": {
"locations": {
"description": "A list of locations that matches the specified filter in the request.",
"items": {
"$ref": "Location"
},
"type": "array"
},
"nextPageToken": {
"description": "The standard List next-page token.",
"type": "string"
}
},
"type": "object"
},
"ListOperationsResponse": {
"description": "The response message for Operations.ListOperations.",
"id": "ListOperationsResponse",
"properties": {
"nextPageToken": {
"description": "The standard List next-page token.",
"type": "string"
},
"operations": {
"description": "A list of operations that matches the specified filter in the request.",
"items": {
"$ref": "Operation"
},
"type": "array"
},
"unreachable": {
"description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"ListResourceEnrollmentStatusesResponse": {
"description": "Response message for ListResourceEnrollmentStatuses.",
"id": "ListResourceEnrollmentStatusesResponse",
"properties": {
"nextPageToken": {
"description": "Output only. A token that you can send as the `page_token` in a subsequent request to retrieve the next page of results. If this field is empty, there are no subsequent pages.",
"readOnly": true,
"type": "string"
},
"resourceEnrollmentStatuses": {
"description": "Resources with their enrollment status.",
"items": {
"$ref": "ResourceEnrollmentStatus"
},
"type": "array"
}
},
"type": "object"
},
"Location": {
"description": "A resource that represents a Google Cloud location.",
"id": "Location",
"properties": {
"displayName": {
"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
"type": "string"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
"type": "object"
},
"locationId": {
"description": "The canonical id for this location. For example: `\"us-east1\"`.",
"type": "string"
},
"metadata": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "Service-specific metadata. For example the available capacity at the given location.",
"type": "object"
},
"name": {
"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
"type": "string"
}
},
"type": "object"
},
"Operation": {
"description": "This resource represents a long-running operation that is the result of a network API call.",
"id": "Operation",
"properties": {
"done": {
"description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
"type": "boolean"
},
"error": {
"$ref": "Status",
"description": "The error result of the operation in case of failure or cancellation."
},
"metadata": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
"type": "object"
},
"name": {
"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
"type": "string"
},
"response": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
"type": "object"
}
},
"type": "object"
},
"OperationMetadata": {
"description": "Metadata for the long-running operation.",
"id": "OperationMetadata",
"properties": {
"apiVersion": {
"description": "Output only. The API version used to start the operation. For example, `v1`.",
"readOnly": true,
"type": "string"
},
"createTime": {
"description": "Output only. Time that the operation was created.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"endTime": {
"description": "Output only. Time that the operation finished running.",
"format": "google-datetime",
"readOnly": true,
"type": "string"
},
"requestedCancellation": {
"description": "Output only. Whether you requested that the operation be cancelled. Operations that were cancelled successfully have an Operation.error value with a status code Code.CANCELLED.",
"readOnly": true,
"type": "boolean"
},
"statusMessage": {
"description": "Output only. A human-readable status of the operation, if any.",
"readOnly": true,
"type": "string"
},
"target": {
"description": "Output only. A server-defined resource path for the target of the operation.",
"readOnly": true,
"type": "string"
},
"verb": {
"description": "Output only. The name of the verb that was executed by the operation.",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"ReportGenerationProgress": {
"description": "Details about the current status of the report-generation process.",
"id": "ReportGenerationProgress",
"properties": {
"auditReport": {
"description": "Output only. Name of the audit report.",
"readOnly": true,
"type": "string"
},
"destinationGcsBucket": {
"description": "Output only. Cloud Storage bucket where the audit report is uploaded to after the evaluation process is completed.",
"readOnly": true,
"type": "string"
},
"evaluationPercentComplete": {
"description": "Progress of the evaluation process. The progress is defined in terms of percentage complete.",
"format": "double",
"type": "number"
},
"failureReason": {
"description": "Output only. Reason for failure during the audit report generation process. This field is set only if the `OperationState` attribute is `OPERATION_STATE_FAILED`.",
"readOnly": true,
"type": "string"
},
"reportGenerationPercentComplete": {
"description": "Report generation progress, defined in terms of percentage complete. Until evaluation is complete, this value is always `0`.",
"format": "double",
"type": "number"
},
"reportUploadingPercentComplete": {
"description": "Report uploading progress, defined in terms of percentage complete. Until evaluation and report generation are complete, this value is always `0`.",
"format": "double",
"type": "number"
},
"state": {
"description": "Output only. Current state of execution for report generation.",
"enum": [
"OPERATION_STATE_UNSPECIFIED",
"OPERATION_STATE_NOT_STARTED",
"OPERATION_STATE_EVALUATION_IN_PROGRESS",
"OPERATION_STATE_EVALUATION_DONE",
"OPERATION_STATE_EVIDENCE_REPORT_GENERATION_IN_PROGRESS",
"OPERATION_STATE_EVIDENCE_REPORT_GENERATION_DONE",
"OPERATION_STATE_EVIDENCE_UPLOAD_IN_PROGRESS",
"OPERATION_STATE_DONE",
"OPERATION_STATE_FAILED"
],
"enumDescriptions": [
"Default value. This value is unused.",
"Audit generation process hasn't started.",
"Evaluation process is in progress.",
"Evaluation process is completed.",
"Report generation process is in progress.",
"Report generation process is completed.",
"The audit report and evidence are being uploaded to your bucket.",
"The audit report and evidence are uploaded to your bucket.",
"Audit report generation process failed."
],
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"ReportSummary": {
"description": "Additional information about the number of checks that were made during an audit operation.",
"id": "ReportSummary",
"properties": {
"compliantCount": {
"description": "Number of compliant checks.",
"format": "int32",
"type": "integer"
},
"errorCount": {
"description": "Number of checks that can't be performed due to errors.",
"format": "int32",
"type": "integer"
},
"manualReviewNeededCount": {
"description": "Number of checks that require a manual review.",
"format": "int32",
"type": "integer"
},
"totalCount": {
"description": "Total number of evaluated checks.",
"format": "int32",
"type": "integer"
},
"violationCount": {
"description": "Number of checks with violations.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"ResourceEnrollmentStatus": {
"description": "An organization, folder, or project with its enrollment status.",
"id": "ResourceEnrollmentStatus",
"properties": {
"displayName": {
"description": "Output only. Display name for the organization, folder, or project.",
"readOnly": true,
"type": "string"
},
"enrolled": {
"deprecated": true,
"description": "Output only. Deprecated. Whether the organization, folder, or project is enrolled. Use `enrollment_state` instead.",
"readOnly": true,
"type": "boolean"
},
"enrollment": {
"$ref": "Enrollment",
"description": "Output only. Enrolled destination details for the organization, folder, or project.",
"readOnly": true
},
"enrollmentState": {
"description": "Output only. Enrollment state of the organization, folder, or project.",
"enum": [
"RESOURCE_ENROLLMENT_STATE_UNSPECIFIED",
"NOT_ENROLLED",
"INHERITED",
"ENROLLED"
],
"enumDescriptions": [
"Default value. This value is unused.",
"The resource isn't enrolled.",
"The resource isn't enrolled but the parent is enrolled.",
"The resource is enrolled."
],
"readOnly": true,
"type": "string"
},
"name": {
"description": "Identifier. Name of the resource enrollment status, in one of the following formats: * `folders/{folder}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `projects/{project}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}` * `organizations/{organization}/locations/{location}/resourceEnrollmentStatuses/{resource_enrollment_status}`",
"type": "string"
}
},
"type": "object"
},
"ScheduleConfig": {
"description": "Timing and frequency parameters for recurring audit runs.",
"id": "ScheduleConfig",
"properties": {
"endTime": {
"description": "Optional. Date that the schedule stops. If not specified, the schedule runs indefinitely.",
"format": "google-datetime",
"type": "string"
},
"frequency": {
"description": "Required. Frequency of audit runs.",
"enum": [
"FREQUENCY_UNSPECIFIED",
"DAILY",
"WEEKLY",
"MONTHLY",
"QUARTERLY",
"ANNUALLY"
],
"enumDescriptions": [
"Default value. This value is unused.",
"The audit runs every day.",
"The audit runs weekly on the same day of the week as `start_time`.",
"The audit runs monthly on the same day of the month as `start_time`.",
"The audit runs quarterly (every 3 months) on the same day of the month as `start_time`.",
"The audit runs annually on the same month and day as `start_time`."
],
"type": "string"
},
"startTime": {
"description": "Required. Date and time when the first audit run is triggered. Subsequent runs are based on this time and the chosen frequency.",
"format": "google-datetime",
"type": "string"
},
"timeZone": {
"description": "Optional. Time zone for the audit schedule in IANA format (for example, `America/New_York`). The time zone is used to interpret the `start_time` and the `end_time`, and to calculate subsequent run dates. If not specified, the time zone default is UTC.",
"type": "string"
}
},
"type": "object"
},
"Status": {
"description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
"id": "Status",
"properties": {
"code": {
"description": "The status code, which should be an enum value of google.rpc.Code.",
"format": "int32",
"type": "integer"
},
"details": {
"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
"items": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object"
},
"type": "array"
},
"message": {
"description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Audit Manager API",
"version": "v1",
"version_module": true
}