{
  "basePath": "",
  "revision": "20201123",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/androidmanagement": {
          "description": "Manage Android devices and apps for your customers"
        }
      }
    }
  },
  "fullyEncodeReservedExpansion": true,
  "kind": "discovery#restDescription",
  "batchPath": "batch",
  "name": "androidmanagement",
  "parameters": {
    "key": {
      "location": "query",
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "oauth_token": {
      "location": "query",
      "description": "OAuth 2.0 token for the current user.",
      "type": "string"
    },
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "location": "query",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    },
    "prettyPrint": {
      "location": "query",
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true"
    },
    "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"
    },
    "alt": {
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "description": "Data format for response.",
      "type": "string",
      "location": "query",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    }
  },
  "description": "The Android Management API provides remote enterprise management of Android devices and apps.",
  "version": "v1",
  "ownerDomain": "google.com",
  "protocol": "rest",
  "resources": {
    "signupUrls": {
      "methods": {
        "create": {
          "path": "v1/signupUrls",
          "id": "androidmanagement.signupUrls.create",
          "flatPath": "v1/signupUrls",
          "httpMethod": "POST",
          "parameters": {
            "callbackUrl": {
              "location": "query",
              "type": "string",
              "description": "The callback URL that the admin will be redirected to after successfully creating an enterprise. Before redirecting there the system will add a query parameter to this URL named enterpriseToken which will contain an opaque token to be used for the create enterprise request. The URL will be parsed then reformatted in order to add the enterpriseToken parameter, so there may be some minor formatting changes."
            },
            "projectId": {
              "type": "string",
              "description": "The ID of the Google Cloud Platform project which will own the enterprise.",
              "location": "query"
            }
          },
          "description": "Creates an enterprise signup URL.",
          "response": {
            "$ref": "SignupUrl"
          },
          "parameterOrder": [],
          "scopes": [
            "https://www.googleapis.com/auth/androidmanagement"
          ]
        }
      }
    },
    "enterprises": {
      "resources": {
        "webApps": {
          "methods": {
            "create": {
              "description": "Creates a web app.",
              "path": "v1/{+parent}/webApps",
              "httpMethod": "POST",
              "parameterOrder": [
                "parent"
              ],
              "flatPath": "v1/enterprises/{enterprisesId}/webApps",
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "parameters": {
                "parent": {
                  "location": "path",
                  "required": true,
                  "type": "string",
                  "pattern": "^enterprises/[^/]+$",
                  "description": "The name of the enterprise in the form enterprises/{enterpriseId}."
                }
              },
              "id": "androidmanagement.enterprises.webApps.create",
              "response": {
                "$ref": "WebApp"
              },
              "request": {
                "$ref": "WebApp"
              }
            },
            "delete": {
              "description": "Deletes a web app.",
              "path": "v1/{+name}",
              "httpMethod": "DELETE",
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "parameters": {
                "name": {
                  "required": true,
                  "type": "string",
                  "description": "The name of the web app in the form enterprises/{enterpriseId}/webApps/{packageName}.",
                  "location": "path",
                  "pattern": "^enterprises/[^/]+/webApps/[^/]+$"
                }
              },
              "id": "androidmanagement.enterprises.webApps.delete",
              "response": {
                "$ref": "Empty"
              },
              "flatPath": "v1/enterprises/{enterprisesId}/webApps/{webAppsId}"
            },
            "patch": {
              "flatPath": "v1/enterprises/{enterprisesId}/webApps/{webAppsId}",
              "id": "androidmanagement.enterprises.webApps.patch",
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "parameters": {
                "name": {
                  "location": "path",
                  "description": "The name of the web app in the form enterprises/{enterpriseId}/webApps/{packageName}.",
                  "pattern": "^enterprises/[^/]+/webApps/[^/]+$",
                  "type": "string",
                  "required": true
                },
                "updateMask": {
                  "description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.",
                  "type": "string",
                  "format": "google-fieldmask",
                  "location": "query"
                }
              },
              "path": "v1/{+name}",
              "response": {
                "$ref": "WebApp"
              },
              "httpMethod": "PATCH",
              "description": "Updates a web app.",
              "request": {
                "$ref": "WebApp"
              }
            },
            "list": {
              "path": "v1/{+parent}/webApps",
              "flatPath": "v1/enterprises/{enterprisesId}/webApps",
              "httpMethod": "GET",
              "description": "Lists web apps for a given enterprise.",
              "parameterOrder": [
                "parent"
              ],
              "id": "androidmanagement.enterprises.webApps.list",
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "response": {
                "$ref": "ListWebAppsResponse"
              },
              "parameters": {
                "parent": {
                  "pattern": "^enterprises/[^/]+$",
                  "location": "path",
                  "description": "The name of the enterprise in the form enterprises/{enterpriseId}.",
                  "required": true,
                  "type": "string"
                },
                "pageToken": {
                  "type": "string",
                  "location": "query",
                  "description": "A token identifying a page of results returned by the server."
                },
                "pageSize": {
                  "location": "query",
                  "format": "int32",
                  "type": "integer",
                  "description": "The requested page size. The actual page size may be fixed to a min or max value."
                }
              }
            },
            "get": {
              "response": {
                "$ref": "WebApp"
              },
              "httpMethod": "GET",
              "path": "v1/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "parameterOrder": [
                "name"
              ],
              "id": "androidmanagement.enterprises.webApps.get",
              "description": "Gets a web app.",
              "flatPath": "v1/enterprises/{enterprisesId}/webApps/{webAppsId}",
              "parameters": {
                "name": {
                  "type": "string",
                  "pattern": "^enterprises/[^/]+/webApps/[^/]+$",
                  "description": "The name of the web app in the form enterprises/{enterpriseId}/webApp/{packageName}.",
                  "location": "path",
                  "required": true
                }
              }
            }
          }
        },
        "enrollmentTokens": {
          "methods": {
            "delete": {
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v1/enterprises/{enterprisesId}/enrollmentTokens/{enrollmentTokensId}",
              "path": "v1/{+name}",
              "response": {
                "$ref": "Empty"
              },
              "parameters": {
                "name": {
                  "pattern": "^enterprises/[^/]+/enrollmentTokens/[^/]+$",
                  "description": "The name of the enrollment token in the form enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}.",
                  "type": "string",
                  "location": "path",
                  "required": true
                }
              },
              "description": "Deletes an enrollment token. This operation invalidates the token, preventing its future use.",
              "httpMethod": "DELETE",
              "id": "androidmanagement.enterprises.enrollmentTokens.delete"
            },
            "create": {
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "POST",
              "parameters": {
                "parent": {
                  "pattern": "^enterprises/[^/]+$",
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "description": "The name of the enterprise in the form enterprises/{enterpriseId}."
                }
              },
              "response": {
                "$ref": "EnrollmentToken"
              },
              "flatPath": "v1/enterprises/{enterprisesId}/enrollmentTokens",
              "path": "v1/{+parent}/enrollmentTokens",
              "description": "Creates an enrollment token for a given enterprise.",
              "request": {
                "$ref": "EnrollmentToken"
              },
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "id": "androidmanagement.enterprises.enrollmentTokens.create"
            }
          }
        },
        "applications": {
          "methods": {
            "get": {
              "httpMethod": "GET",
              "flatPath": "v1/enterprises/{enterprisesId}/applications/{applicationsId}",
              "response": {
                "$ref": "Application"
              },
              "id": "androidmanagement.enterprises.applications.get",
              "parameters": {
                "name": {
                  "location": "path",
                  "description": "The name of the application in the form enterprises/{enterpriseId}/applications/{package_name}.",
                  "pattern": "^enterprises/[^/]+/applications/[^/]+$",
                  "type": "string",
                  "required": true
                },
                "languageCode": {
                  "location": "query",
                  "description": "The preferred language for localized application info, as a BCP47 tag (e.g. \"en-US\", \"de\"). If not specified the default language of the application will be used.",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}",
              "description": "Gets info about an application.",
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ]
            }
          }
        },
        "webTokens": {
          "methods": {
            "create": {
              "id": "androidmanagement.enterprises.webTokens.create",
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "request": {
                "$ref": "WebToken"
              },
              "response": {
                "$ref": "WebToken"
              },
              "httpMethod": "POST",
              "path": "v1/{+parent}/webTokens",
              "flatPath": "v1/enterprises/{enterprisesId}/webTokens",
              "parameters": {
                "parent": {
                  "location": "path",
                  "type": "string",
                  "required": true,
                  "pattern": "^enterprises/[^/]+$",
                  "description": "The name of the enterprise in the form enterprises/{enterpriseId}."
                }
              },
              "description": "Creates a web token to access an embeddable managed Google Play web UI for a given enterprise."
            }
          }
        },
        "policies": {
          "methods": {
            "get": {
              "path": "v1/{+name}",
              "id": "androidmanagement.enterprises.policies.get",
              "parameters": {
                "name": {
                  "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}.",
                  "pattern": "^enterprises/[^/]+/policies/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "required": true
                }
              },
              "flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}",
              "description": "Gets a policy.",
              "response": {
                "$ref": "Policy"
              },
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "parameterOrder": [
                "name"
              ],
              "httpMethod": "GET"
            },
            "list": {
              "parameters": {
                "pageToken": {
                  "description": "A token identifying a page of results returned by the server.",
                  "type": "string",
                  "location": "query"
                },
                "pageSize": {
                  "description": "The requested page size. The actual page size may be fixed to a min or max value.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "parent": {
                  "required": true,
                  "description": "The name of the enterprise in the form enterprises/{enterpriseId}.",
                  "location": "path",
                  "pattern": "^enterprises/[^/]+$",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "ListPoliciesResponse"
              },
              "id": "androidmanagement.enterprises.policies.list",
              "parameterOrder": [
                "parent"
              ],
              "description": "Lists policies for a given enterprise.",
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "path": "v1/{+parent}/policies",
              "httpMethod": "GET",
              "flatPath": "v1/enterprises/{enterprisesId}/policies"
            },
            "patch": {
              "path": "v1/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "parameters": {
                "updateMask": {
                  "format": "google-fieldmask",
                  "description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}.",
                  "pattern": "^enterprises/[^/]+/policies/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "description": "Updates or creates a policy.",
              "response": {
                "$ref": "Policy"
              },
              "request": {
                "$ref": "Policy"
              },
              "flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}",
              "httpMethod": "PATCH",
              "id": "androidmanagement.enterprises.policies.patch"
            },
            "delete": {
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "httpMethod": "DELETE",
              "response": {
                "$ref": "Empty"
              },
              "path": "v1/{+name}",
              "parameterOrder": [
                "name"
              ],
              "id": "androidmanagement.enterprises.policies.delete",
              "flatPath": "v1/enterprises/{enterprisesId}/policies/{policiesId}",
              "parameters": {
                "name": {
                  "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}.",
                  "pattern": "^enterprises/[^/]+/policies/[^/]+$",
                  "required": true,
                  "location": "path",
                  "type": "string"
                }
              },
              "description": "Deletes a policy. This operation is only permitted if no devices are currently referencing the policy."
            }
          }
        },
        "devices": {
          "methods": {
            "delete": {
              "parameters": {
                "wipeDataFlags": {
                  "enum": [
                    "WIPE_DATA_FLAG_UNSPECIFIED",
                    "PRESERVE_RESET_PROTECTION_DATA",
                    "WIPE_EXTERNAL_STORAGE"
                  ],
                  "description": "Optional flags that control the device wiping behavior.",
                  "type": "string",
                  "repeated": true,
                  "location": "query",
                  "enumDescriptions": [
                    "This value is ignored.",
                    "Preserve the factory reset protection data on the device.",
                    "Additionally wipe the device's external storage (such as SD cards)."
                  ]
                },
                "name": {
                  "location": "path",
                  "pattern": "^enterprises/[^/]+/devices/[^/]+$",
                  "required": true,
                  "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.",
                  "type": "string"
                },
                "wipeReasonMessage": {
                  "location": "query",
                  "description": "Optional. A short message displayed to the user before wiping the work profile on personal devices. This has no effect on company owned devices. The maximum message length is 200 characters.",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "id": "androidmanagement.enterprises.devices.delete",
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}",
              "httpMethod": "DELETE",
              "response": {
                "$ref": "Empty"
              },
              "path": "v1/{+name}",
              "description": "Deletes a device. This operation wipes the device."
            },
            "get": {
              "parameterOrder": [
                "name"
              ],
              "path": "v1/{+name}",
              "response": {
                "$ref": "Device"
              },
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.",
                  "type": "string",
                  "pattern": "^enterprises/[^/]+/devices/[^/]+$",
                  "required": true,
                  "location": "path"
                }
              },
              "id": "androidmanagement.enterprises.devices.get",
              "description": "Gets a device.",
              "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}",
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ]
            },
            "patch": {
              "httpMethod": "PATCH",
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "parameterOrder": [
                "name"
              ],
              "id": "androidmanagement.enterprises.devices.patch",
              "request": {
                "$ref": "Device"
              },
              "parameters": {
                "name": {
                  "location": "path",
                  "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.",
                  "required": true,
                  "type": "string",
                  "pattern": "^enterprises/[^/]+/devices/[^/]+$"
                },
                "updateMask": {
                  "description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.",
                  "format": "google-fieldmask",
                  "location": "query",
                  "type": "string"
                }
              },
              "description": "Updates a device.",
              "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}",
              "response": {
                "$ref": "Device"
              },
              "path": "v1/{+name}"
            },
            "issueCommand": {
              "request": {
                "$ref": "Command"
              },
              "response": {
                "$ref": "Operation"
              },
              "parameters": {
                "name": {
                  "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.",
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "pattern": "^enterprises/[^/]+/devices/[^/]+$"
                }
              },
              "httpMethod": "POST",
              "id": "androidmanagement.enterprises.devices.issueCommand",
              "path": "v1/{+name}:issueCommand",
              "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}:issueCommand",
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "description": "Issues a command to a device. The Operation resource returned contains a Command in its metadata field. Use the get operation method to get the status of the command.",
              "parameterOrder": [
                "name"
              ]
            },
            "list": {
              "parameters": {
                "parent": {
                  "pattern": "^enterprises/[^/]+$",
                  "required": true,
                  "description": "The name of the enterprise in the form enterprises/{enterpriseId}.",
                  "location": "path",
                  "type": "string"
                },
                "pageSize": {
                  "format": "int32",
                  "location": "query",
                  "type": "integer",
                  "description": "The requested page size. The actual page size may be fixed to a min or max value."
                },
                "pageToken": {
                  "type": "string",
                  "description": "A token identifying a page of results returned by the server.",
                  "location": "query"
                }
              },
              "parameterOrder": [
                "parent"
              ],
              "description": "Lists devices for a given enterprise.",
              "response": {
                "$ref": "ListDevicesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/androidmanagement"
              ],
              "id": "androidmanagement.enterprises.devices.list",
              "path": "v1/{+parent}/devices",
              "httpMethod": "GET",
              "flatPath": "v1/enterprises/{enterprisesId}/devices"
            }
          },
          "resources": {
            "operations": {
              "methods": {
                "get": {
                  "path": "v1/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "androidmanagement.enterprises.devices.operations.get",
                  "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}",
                  "httpMethod": "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.",
                  "parameters": {
                    "name": {
                      "pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "The name of the operation resource.",
                      "location": "path"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/androidmanagement"
                  ],
                  "response": {
                    "$ref": "Operation"
                  }
                },
                "list": {
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns UNIMPLEMENTED.NOTE: the name binding allows API services to override the binding to use different resource name schemes, such as users/*/operations. To override the binding, API services can add a binding such as \"/v1/{name=users/*}/operations\" to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
                  "path": "v1/{+name}",
                  "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations",
                  "response": {
                    "$ref": "ListOperationsResponse"
                  },
                  "id": "androidmanagement.enterprises.devices.operations.list",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation's parent resource.",
                      "pattern": "^enterprises/[^/]+/devices/[^/]+/operations$",
                      "type": "string",
                      "location": "path",
                      "required": true
                    },
                    "pageSize": {
                      "location": "query",
                      "description": "The standard list page size.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "filter": {
                      "location": "query",
                      "description": "The standard list filter.",
                      "type": "string"
                    },
                    "pageToken": {
                      "description": "The standard list page token.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/androidmanagement"
                  ],
                  "httpMethod": "GET"
                },
                "cancel": {
                  "flatPath": "v1/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}:cancel",
                  "path": "v1/{+name}:cancel",
                  "parameterOrder": [
                    "name"
                  ],
                  "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.",
                  "response": {
                    "$ref": "Empty"
                  },
                  "id": "androidmanagement.enterprises.devices.operations.cancel",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$",
                      "location": "path",
                      "description": "The name of the operation resource to be cancelled.",
                      "required": true
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/androidmanagement"
                  ],
                  "httpMethod": "POST"
                },
                "delete": {
                  "scopes": [
                    "https://www.googleapis.com/auth/androidmanagement"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "Empty"
                  },
                  "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/enterprises/{enterprisesId}/devices/{devicesId}/operations/{operationsId}",
                  "parameters": {
                    "name": {
                      "type": "string",
                      "pattern": "^enterprises/[^/]+/devices/[^/]+/operations/[^/]+$",
                      "required": true,
                      "description": "The name of the operation resource to be deleted.",
                      "location": "path"
                    }
                  },
                  "httpMethod": "DELETE",
                  "id": "androidmanagement.enterprises.devices.operations.delete",
                  "path": "v1/{+name}"
                }
              }
            }
          }
        }
      },
      "methods": {
        "create": {
          "description": "Creates an enterprise. This is the last step in the enterprise signup flow.",
          "httpMethod": "POST",
          "response": {
            "$ref": "Enterprise"
          },
          "parameterOrder": [],
          "path": "v1/enterprises",
          "scopes": [
            "https://www.googleapis.com/auth/androidmanagement"
          ],
          "parameters": {
            "enterpriseToken": {
              "description": "The enterprise token appended to the callback URL.",
              "location": "query",
              "type": "string"
            },
            "signupUrlName": {
              "description": "The name of the SignupUrl used to sign up for the enterprise.",
              "location": "query",
              "type": "string"
            },
            "projectId": {
              "type": "string",
              "description": "The ID of the Google Cloud Platform project which will own the enterprise.",
              "location": "query"
            }
          },
          "flatPath": "v1/enterprises",
          "request": {
            "$ref": "Enterprise"
          },
          "id": "androidmanagement.enterprises.create"
        },
        "get": {
          "httpMethod": "GET",
          "response": {
            "$ref": "Enterprise"
          },
          "id": "androidmanagement.enterprises.get",
          "scopes": [
            "https://www.googleapis.com/auth/androidmanagement"
          ],
          "description": "Gets an enterprise.",
          "flatPath": "v1/enterprises/{enterprisesId}",
          "parameterOrder": [
            "name"
          ],
          "path": "v1/{+name}",
          "parameters": {
            "name": {
              "pattern": "^enterprises/[^/]+$",
              "description": "The name of the enterprise in the form enterprises/{enterpriseId}.",
              "required": true,
              "type": "string",
              "location": "path"
            }
          }
        },
        "patch": {
          "id": "androidmanagement.enterprises.patch",
          "parameterOrder": [
            "name"
          ],
          "path": "v1/{+name}",
          "description": "Updates an enterprise.",
          "httpMethod": "PATCH",
          "scopes": [
            "https://www.googleapis.com/auth/androidmanagement"
          ],
          "response": {
            "$ref": "Enterprise"
          },
          "flatPath": "v1/enterprises/{enterprisesId}",
          "parameters": {
            "updateMask": {
              "format": "google-fieldmask",
              "description": "The field mask indicating the fields to update. If not set, all modifiable fields will be modified.",
              "location": "query",
              "type": "string"
            },
            "name": {
              "pattern": "^enterprises/[^/]+$",
              "type": "string",
              "required": true,
              "location": "path",
              "description": "The name of the enterprise in the form enterprises/{enterpriseId}."
            }
          },
          "request": {
            "$ref": "Enterprise"
          }
        }
      }
    }
  },
  "schemas": {
    "WebAppIcon": {
      "id": "WebAppIcon",
      "type": "object",
      "properties": {
        "imageData": {
          "type": "string",
          "description": "The actual bytes of the image in a base64url encoded string (c.f. RFC4648, section 5 \"Base 64 Encoding with URL and Filename Safe Alphabet\"). - The image type can be png or jpg. - The image should ideally be square. - The image should ideally have a size of 512x512. "
        }
      },
      "description": "An icon for a web app. Supported formats are: png, jpg and webp."
    },
    "BlockAction": {
      "description": "An action to block access to apps and data on a fully managed device or in a work profile. This action also triggers a device or work profile to displays a user-facing notification with information (where possible) on how to correct the compliance issue. Note: wipeAction must also be specified.",
      "properties": {
        "blockAfterDays": {
          "format": "int32",
          "type": "integer",
          "description": "Number of days the policy is non-compliant before the device or work profile is blocked. To block access immediately, set to 0. blockAfterDays must be less than wipeAfterDays."
        },
        "blockScope": {
          "enumDescriptions": [
            "Unspecified. Defaults to BLOCK_SCOPE_WORK_PROFILE.",
            "Block action is only applied to apps in the work profile. Apps in the personal profile are unaffected.",
            "Block action is applied to the entire device, including apps in the personal profile."
          ],
          "enum": [
            "BLOCK_SCOPE_UNSPECIFIED",
            "BLOCK_SCOPE_WORK_PROFILE",
            "BLOCK_SCOPE_DEVICE"
          ],
          "type": "string",
          "description": "Specifies the scope of this BlockAction. Only applicable to devices that are company-owned."
        }
      },
      "id": "BlockAction",
      "type": "object"
    },
    "ApplicationPermission": {
      "description": "A permission required by the app.",
      "id": "ApplicationPermission",
      "properties": {
        "permissionId": {
          "type": "string",
          "description": "An opaque string uniquely identifying the permission. Not localized."
        },
        "description": {
          "type": "string",
          "description": "A longer description of the permission, providing more detail on what it affects. Localized."
        },
        "name": {
          "description": "The name of the permission. Localized.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ExternalData": {
      "properties": {
        "sha256Hash": {
          "type": "string",
          "description": "The base-64 encoded SHA-256 hash of the content hosted at url. If the content doesn't match this hash, Android Device Policy won't use the data."
        },
        "url": {
          "type": "string",
          "description": "The absolute URL to the data, which must use either the http or https scheme. Android Device Policy doesn't provide any credentials in the GET request, so the URL must be publicly accessible. Including a long, random component in the URL may be used to prevent attackers from discovering the URL."
        }
      },
      "id": "ExternalData",
      "type": "object",
      "description": "Data hosted at an external location. The data is to be downloaded by Android Device Policy and verified against the hash."
    },
    "SystemUpdate": {
      "properties": {
        "endMinutes": {
          "description": "If the type is WINDOWED, the end of the maintenance window, measured as the number of minutes after midnight in device's local time. This value must be between 0 and 1439, inclusive. If this value is less than start_minutes, then the maintenance window spans midnight. If the maintenance window specified is smaller than 30 minutes, the actual window is extended to 30 minutes beyond the start time.",
          "format": "int32",
          "type": "integer"
        },
        "startMinutes": {
          "format": "int32",
          "description": "If the type is WINDOWED, the start of the maintenance window, measured as the number of minutes after midnight in the device's local time. This value must be between 0 and 1439, inclusive.",
          "type": "integer"
        },
        "freezePeriods": {
          "items": {
            "$ref": "FreezePeriod"
          },
          "type": "array",
          "description": "An annually repeating time period in which over-the-air (OTA) system updates are postponed to freeze the OS version running on a device. To prevent freezing the device indefinitely, each freeze period must be separated by at least 60 days."
        },
        "type": {
          "type": "string",
          "enum": [
            "SYSTEM_UPDATE_TYPE_UNSPECIFIED",
            "AUTOMATIC",
            "WINDOWED",
            "POSTPONE"
          ],
          "enumDescriptions": [
            "Follow the default update behavior for the device, which typically requires the user to accept system updates.",
            "Install automatically as soon as an update is available.",
            "Install automatically within a daily maintenance window. This also configures Play apps to be updated within the window. This is strongly recommended for kiosk devices because this is the only way apps persistently pinned to the foreground can be updated by Play.",
            "Postpone automatic install up to a maximum of 30 days."
          ],
          "description": "The type of system update to configure."
        }
      },
      "description": "Configuration for managing system updates",
      "type": "object",
      "id": "SystemUpdate"
    },
    "SignupUrl": {
      "properties": {
        "url": {
          "type": "string",
          "description": "A URL where an enterprise admin can register their enterprise. The page can't be rendered in an iframe."
        },
        "name": {
          "type": "string",
          "description": "The name of the resource. Use this value in the signupUrl field when calling enterprises.create to complete the enterprise signup flow."
        }
      },
      "description": "An enterprise signup URL.",
      "type": "object",
      "id": "SignupUrl"
    },
    "SystemUpdateInfo": {
      "description": "Information about a potential pending system update.",
      "id": "SystemUpdateInfo",
      "properties": {
        "updateStatus": {
          "enum": [
            "UPDATE_STATUS_UNKNOWN",
            "UP_TO_DATE",
            "UNKNOWN_UPDATE_AVAILABLE",
            "SECURITY_UPDATE_AVAILABLE",
            "OS_UPDATE_AVAILABLE"
          ],
          "enumDescriptions": [
            "It is unknown whether there is a pending system update. This happens when, for example, the device API level is less than 26, or if the version of Android Device Policy is outdated.",
            "There is no pending system update available on the device.",
            "There is a pending system update available, but its type is not known.",
            "There is a pending security update available.",
            "There is a pending OS update available."
          ],
          "description": "The status of an update: whether an update exists and what type it is.",
          "type": "string"
        },
        "updateReceivedTime": {
          "description": "The time when the update was first available. A zero value indicates that this field is not set. This field is set only if an update is available (that is, updateStatus is neither UPDATE_STATUS_UNKNOWN nor UP_TO_DATE).",
          "type": "string",
          "format": "google-datetime"
        }
      },
      "type": "object"
    },
    "WebToken": {
      "properties": {
        "value": {
          "type": "string",
          "description": "The token value which is used in the hosting page to generate the iframe with the embedded UI. This is a read-only field generated by the server."
        },
        "permissions": {
          "description": "Permissions available to an admin in the embedded UI. An admin must have all of these permissions in order to view the UI. This field is deprecated.",
          "items": {
            "type": "string",
            "enumDescriptions": [
              "This value is ignored.",
              "The permission to approve apps for the enterprise."
            ],
            "enum": [
              "WEB_TOKEN_PERMISSION_UNSPECIFIED",
              "APPROVE_APPS"
            ]
          },
          "type": "array"
        },
        "enabledFeatures": {
          "items": {
            "enum": [
              "FEATURE_UNSPECIFIED",
              "PLAY_SEARCH",
              "PRIVATE_APPS",
              "WEB_APPS",
              "STORE_BUILDER",
              "MANAGED_CONFIGURATIONS"
            ],
            "type": "string",
            "enumDescriptions": [
              "Unspecified feature.",
              "The Managed Play search apps page (https://developers.google.com/android/management/apps#search-apps).",
              "The private apps page (https://developers.google.com/android/management/apps#private-apps).",
              "The Web Apps page (https://developers.google.com/android/management/apps#web-apps).",
              "The organize apps page (https://developers.google.com/android/management/apps#organize-apps).",
              "The managed configurations page (https://developers.google.com/android/management/managed-configurations-iframe)."
            ]
          },
          "type": "array",
          "description": "The features to enable. Use this if you want to control exactly which feature(s) will be activated; leave empty to allow all features.Restrictions / things to note: - If no features are listed here, all features are enabled — this is the default behavior where you give access to all features to your admins. - This must not contain any FEATURE_UNSPECIFIED values. - Repeated values are ignored "
        },
        "parentFrameUrl": {
          "description": "The URL of the parent frame hosting the iframe with the embedded UI. To prevent XSS, the iframe may not be hosted at other URLs. The URL must use the https scheme.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "The name of the web token, which is generated by the server during creation in the form enterprises/{enterpriseId}/webTokens/{webTokenId}."
        }
      },
      "description": "A web token used to access the managed Google Play iframe.",
      "id": "WebToken",
      "type": "object"
    },
    "ApplicationPolicy": {
      "id": "ApplicationPolicy",
      "type": "object",
      "properties": {
        "delegatedScopes": {
          "type": "array",
          "items": {
            "enumDescriptions": [
              "No delegation scope specified.",
              "Grants access to certificate installation and management.",
              "Grants access to managed configurations management.",
              "Grants access to blocking uninstallation.",
              "Grants access to permission policy and permission grant state.",
              "Grants access to package access state.",
              "Grants access for enabling system apps."
            ],
            "enum": [
              "DELEGATED_SCOPE_UNSPECIFIED",
              "CERT_INSTALL",
              "MANAGED_CONFIGURATIONS",
              "BLOCK_UNINSTALL",
              "PERMISSION_GRANT",
              "PACKAGE_ACCESS",
              "ENABLE_SYSTEM_APP"
            ],
            "type": "string"
          },
          "description": "The scopes delegated to the app from Android Device Policy."
        },
        "managedConfigurationTemplate": {
          "description": "The managed configurations template for the app, saved from the managed configurations iframe. This field is ignored if managed_configuration is set.",
          "$ref": "ManagedConfigurationTemplate"
        },
        "accessibleTrackIds": {
          "description": "List of the app’s track IDs that a device belonging to the enterprise can access. If the list contains multiple track IDs, devices receive the latest version among all accessible tracks. If the list contains no track IDs, devices only have access to the app’s production track. More details about each track are available in AppTrackInfo.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "connectedWorkAndPersonalApp": {
          "enum": [
            "CONNECTED_WORK_AND_PERSONAL_APP_UNSPECIFIED",
            "CONNECTED_WORK_AND_PERSONAL_APP_DISALLOWED",
            "CONNECTED_WORK_AND_PERSONAL_APP_ALLOWED"
          ],
          "description": "Controls whether the app can communicate with itself across a device’s work and personal profiles, subject to user consent.",
          "enumDescriptions": [
            "Unspecified. Defaults to CONNECTED_WORK_AND_PERSONAL_APPS_DISALLOWED.",
            "Default. Prevents the app from communicating cross-profile.",
            "Allows the app to communicate across profiles after receiving user consent."
          ],
          "type": "string"
        },
        "disabled": {
          "type": "boolean",
          "description": "Whether the app is disabled. When disabled, the app data is still preserved."
        },
        "installType": {
          "enum": [
            "INSTALL_TYPE_UNSPECIFIED",
            "PREINSTALLED",
            "FORCE_INSTALLED",
            "BLOCKED",
            "AVAILABLE",
            "REQUIRED_FOR_SETUP",
            "KIOSK"
          ],
          "enumDescriptions": [
            "Unspecified. Defaults to AVAILABLE.",
            "The app is automatically installed and can be removed by the user.",
            "The app is automatically installed and can't be removed by the user.",
            "The app is blocked and can't be installed. If the app was installed under a previous policy, it will be uninstalled.",
            "The app is available to install.",
            "The app is automatically installed and can't be removed by the user and will prevent setup from completion until installation is complete.",
            "The app is automatically installed in kiosk mode: it's set as the preferred home intent and whitelisted for lock task mode. Device setup won't complete until the app is installed. After installation, users won't be able to remove the app. You can only set this installType for one app per policy. When this is present in the policy, status bar will be automatically disabled."
          ],
          "description": "The type of installation to perform.",
          "type": "string"
        },
        "managedConfiguration": {
          "type": "object",
          "description": "Managed configuration applied to the app. The format for the configuration is dictated by the ManagedProperty values supported by the app. Each field name in the managed configuration must match the key field of the ManagedProperty. The field value must be compatible with the type of the ManagedProperty: *type* *JSON value* BOOL true or false STRING string INTEGER number CHOICE string MULTISELECT array of strings HIDDEN string BUNDLE_ARRAY array of objects ",
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          }
        },
        "packageName": {
          "type": "string",
          "description": "The package name of the app. For example, com.google.android.youtube for the YouTube app."
        },
        "permissionGrants": {
          "type": "array",
          "items": {
            "$ref": "PermissionGrant"
          },
          "description": "Explicit permission grants or denials for the app. These values override the default_permission_policy and permission_grants which apply to all apps."
        },
        "autoUpdateMode": {
          "enum": [
            "AUTO_UPDATE_MODE_UNSPECIFIED",
            "AUTO_UPDATE_DEFAULT",
            "AUTO_UPDATE_POSTPONED",
            "AUTO_UPDATE_HIGH_PRIORITY"
          ],
          "type": "string",
          "description": "This feature is not generally available.",
          "enumDescriptions": [
            "This feature is not generally available.",
            "This feature is not generally available.",
            "This feature is not generally available.",
            "This feature is not generally available."
          ]
        },
        "defaultPermissionPolicy": {
          "enum": [
            "PERMISSION_POLICY_UNSPECIFIED",
            "PROMPT",
            "GRANT",
            "DENY"
          ],
          "enumDescriptions": [
            "Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.",
            "Prompt the user to grant a permission.",
            "Automatically grant a permission.",
            "Automatically deny a permission."
          ],
          "type": "string",
          "description": "The default policy for all permissions requested by the app. If specified, this overrides the policy-level default_permission_policy which applies to all apps. It does not override the permission_grants which applies to all apps."
        },
        "lockTaskAllowed": {
          "description": "Whether the app is allowed to lock itself in full-screen mode. DEPRECATED. Use InstallType KIOSK or kioskCustomLauncherEnabled to to configure a dedicated device.",
          "type": "boolean"
        },
        "minimumVersionCode": {
          "format": "int32",
          "description": "The minimum version of the app that runs on the device. If set, the device attempts to update the app to at least this version code. If the app is not up-to-date, the device will contain a NonComplianceDetail with non_compliance_reason set to APP_NOT_UPDATED. The app must already be published to Google Play with a version code greater than or equal to this value. At most 20 apps may specify a minimum version code per policy.",
          "type": "integer"
        }
      },
      "description": "Policy for an individual app."
    },
    "ChoosePrivateKeyRule": {
      "properties": {
        "urlPattern": {
          "type": "string",
          "description": "The URL pattern to match against the URL of the outgoing request. The pattern may contain asterisk (*) wildcards. Any URL is matched if unspecified."
        },
        "packageNames": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The package names for which outgoing requests are subject to this rule. If no package names are specified, then the rule applies to all packages. For each package name listed, the rule applies to that package and all other packages that shared the same Android UID. The SHA256 hash of the signing key signatures of each package_name will be verified against those provided by Play"
        },
        "privateKeyAlias": {
          "type": "string",
          "description": "The alias of the private key to be used."
        }
      },
      "description": "A rule for automatically choosing a private key and certificate to authenticate the device to a server.",
      "type": "object",
      "id": "ChoosePrivateKeyRule"
    },
    "HardwareInfo": {
      "description": "Information about device hardware. The fields related to temperature thresholds are only available if hardwareStatusEnabled is true in the device's policy.",
      "properties": {
        "batteryThrottlingTemperatures": {
          "type": "array",
          "description": "Battery throttling temperature thresholds in Celsius for each battery on the device.",
          "items": {
            "type": "number",
            "format": "float"
          }
        },
        "brand": {
          "type": "string",
          "description": "Brand of the device. For example, Google."
        },
        "skinThrottlingTemperatures": {
          "items": {
            "format": "float",
            "type": "number"
          },
          "type": "array",
          "description": "Device skin throttling temperature thresholds in Celsius."
        },
        "cpuThrottlingTemperatures": {
          "items": {
            "format": "float",
            "type": "number"
          },
          "type": "array",
          "description": "CPU throttling temperature thresholds in Celsius for each CPU on the device."
        },
        "manufacturer": {
          "description": "Manufacturer. For example, Motorola.",
          "type": "string"
        },
        "batteryShutdownTemperatures": {
          "description": "Battery shutdown temperature thresholds in Celsius for each battery on the device.",
          "items": {
            "format": "float",
            "type": "number"
          },
          "type": "array"
        },
        "serialNumber": {
          "description": "The device serial number.",
          "type": "string"
        },
        "model": {
          "description": "The model of the device. For example, Asus Nexus 7.",
          "type": "string"
        },
        "deviceBasebandVersion": {
          "description": "Baseband version. For example, MDM9625_104662.22.05.34p.",
          "type": "string"
        },
        "cpuShutdownTemperatures": {
          "description": "CPU shutdown temperature thresholds in Celsius for each CPU on the device.",
          "type": "array",
          "items": {
            "type": "number",
            "format": "float"
          }
        },
        "gpuShutdownTemperatures": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "float"
          },
          "description": "GPU shutdown temperature thresholds in Celsius for each GPU on the device."
        },
        "gpuThrottlingTemperatures": {
          "type": "array",
          "items": {
            "type": "number",
            "format": "float"
          },
          "description": "GPU throttling temperature thresholds in Celsius for each GPU on the device."
        },
        "hardware": {
          "type": "string",
          "description": "Name of the hardware. For example, Angler."
        },
        "skinShutdownTemperatures": {
          "items": {
            "type": "number",
            "format": "float"
          },
          "type": "array",
          "description": "Device skin shutdown temperature thresholds in Celsius."
        }
      },
      "id": "HardwareInfo",
      "type": "object"
    },
    "Operation": {
      "id": "Operation",
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "properties": {
        "done": {
          "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.",
          "type": "boolean"
        },
        "response": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.",
          "type": "object"
        },
        "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"
        },
        "error": {
          "description": "The error result of the operation in case of failure or cancellation.",
          "$ref": "Status"
        },
        "metadata": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object",
          "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"
    },
    "AppTrackInfo": {
      "properties": {
        "trackAlias": {
          "type": "string",
          "description": "The track name associated with the trackId, set in the Play Console. The name is modifiable from Play Console."
        },
        "trackId": {
          "type": "string",
          "description": "The unmodifiable unique track identifier, taken from the releaseTrackId in the URL of the Play Console page that displays the app’s track information."
        }
      },
      "id": "AppTrackInfo",
      "description": "Id to name association of a app track.",
      "type": "object"
    },
    "PowerManagementEvent": {
      "id": "PowerManagementEvent",
      "properties": {
        "batteryLevel": {
          "format": "float",
          "description": "For BATTERY_LEVEL_COLLECTED events, the battery level as a percentage.",
          "type": "number"
        },
        "createTime": {
          "description": "The creation time of the event.",
          "format": "google-datetime",
          "type": "string"
        },
        "eventType": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified. No events have this type.",
            "Battery level was measured.",
            "The device started charging.",
            "The device stopped charging.",
            "The device entered low-power mode.",
            "The device exited low-power mode.",
            "The device booted.",
            "The device shut down."
          ],
          "enum": [
            "POWER_MANAGEMENT_EVENT_TYPE_UNSPECIFIED",
            "BATTERY_LEVEL_COLLECTED",
            "POWER_CONNECTED",
            "POWER_DISCONNECTED",
            "BATTERY_LOW",
            "BATTERY_OKAY",
            "BOOT_COMPLETED",
            "SHUTDOWN"
          ],
          "description": "Event type."
        }
      },
      "type": "object",
      "description": "A power management event."
    },
    "ComplianceRule": {
      "id": "ComplianceRule",
      "type": "object",
      "properties": {
        "packageNamesToDisable": {
          "type": "array",
          "description": "If set, the rule includes a mitigating action to disable apps specified in the list, but app data is preserved.",
          "items": {
            "type": "string"
          }
        },
        "apiLevelCondition": {
          "description": "A condition which is satisfied if the Android Framework API level on the device doesn't meet a minimum requirement.",
          "$ref": "ApiLevelCondition"
        },
        "disableApps": {
          "type": "boolean",
          "description": "If set to true, the rule includes a mitigating action to disable apps so that the device is effectively disabled, but app data is preserved. If the device is running an app in locked task mode, the app will be closed and a UI showing the reason for non-compliance will be displayed."
        },
        "nonComplianceDetailCondition": {
          "$ref": "NonComplianceDetailCondition",
          "description": "A condition which is satisfied if there exists any matching NonComplianceDetail for the device."
        }
      },
      "description": "A rule declaring which mitigating actions to take when a device is not compliant with its policy. For every rule, there is always an implicit mitigating action to set policy_compliant to false for the Device resource, and display a message on the device indicating that the device is not compliant with its policy. Other mitigating actions may optionally be taken as well, depending on the field values in the rule."
    },
    "PersonalApplicationPolicy": {
      "properties": {
        "installType": {
          "type": "string",
          "description": "The type of installation to perform.",
          "enumDescriptions": [
            "Unspecified. Defaults to AVAILABLE.",
            "The app is blocked and can't be installed in the personal profile.",
            "The app is available to install in the personal profile."
          ],
          "enum": [
            "INSTALL_TYPE_UNSPECIFIED",
            "BLOCKED",
            "AVAILABLE"
          ]
        },
        "packageName": {
          "description": "The package name of the application.",
          "type": "string"
        }
      },
      "description": "Policies for apps in the personal profile of a company-owned device with a work profile.",
      "type": "object",
      "id": "PersonalApplicationPolicy"
    },
    "KeyedAppState": {
      "type": "object",
      "id": "KeyedAppState",
      "description": "Keyed app state reported by the app.",
      "properties": {
        "key": {
          "description": "The key for the app state. Acts as a point of reference for what the app is providing state for. For example, when providing managed configuration feedback, this key could be the managed configuration key.",
          "type": "string"
        },
        "data": {
          "type": "string",
          "description": "Optionally, a machine-readable value to be read by the EMM. For example, setting values that the admin can choose to query against in the EMM console (e.g. “notify me if the battery_warning data \u003c 10”)."
        },
        "severity": {
          "type": "string",
          "enumDescriptions": [
            "Unspecified severity level.",
            "Information severity level.",
            "Error severity level. This should only be set for genuine error conditions that a management organization needs to take action to fix."
          ],
          "description": "The severity of the app state.",
          "enum": [
            "SEVERITY_UNSPECIFIED",
            "INFO",
            "ERROR"
          ]
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The creation time of the app state on the device."
        },
        "lastUpdateTime": {
          "type": "string",
          "description": "The time the app state was most recently updated.",
          "format": "google-datetime"
        },
        "message": {
          "description": "Optionally, a free-form message string to explain the app state. If the state was triggered by a particular value (e.g. a managed configuration value), it should be included in the message.",
          "type": "string"
        }
      }
    },
    "WipeAction": {
      "properties": {
        "wipeAfterDays": {
          "description": "Number of days the policy is non-compliant before the device or work profile is wiped. wipeAfterDays must be greater than blockAfterDays.",
          "type": "integer",
          "format": "int32"
        },
        "preserveFrp": {
          "type": "boolean",
          "description": "Whether the factory-reset protection data is preserved on the device. This setting doesn’t apply to work profiles."
        }
      },
      "description": "An action to reset a fully managed device or delete a work profile. Note: blockAction must also be specified.",
      "id": "WipeAction",
      "type": "object"
    },
    "ApplicationReport": {
      "id": "ApplicationReport",
      "type": "object",
      "description": "Information reported about an installed app.",
      "properties": {
        "packageName": {
          "type": "string",
          "description": "Package name of the app."
        },
        "displayName": {
          "description": "The display name of the app.",
          "type": "string"
        },
        "state": {
          "enumDescriptions": [
            "App state is unspecified",
            "App was removed from the device",
            "App is installed on the device"
          ],
          "type": "string",
          "enum": [
            "APPLICATION_STATE_UNSPECIFIED",
            "REMOVED",
            "INSTALLED"
          ],
          "description": "Application state."
        },
        "keyedAppStates": {
          "description": "List of keyed app states reported by the app.",
          "type": "array",
          "items": {
            "$ref": "KeyedAppState"
          }
        },
        "applicationSource": {
          "enumDescriptions": [
            "The app was sideloaded from an unspecified source.",
            "This is a system app from the device's factory image.",
            "This is an updated system app.",
            "The app was installed from the Google Play Store."
          ],
          "enum": [
            "APPLICATION_SOURCE_UNSPECIFIED",
            "SYSTEM_APP_FACTORY_VERSION",
            "SYSTEM_APP_UPDATED_VERSION",
            "INSTALLED_FROM_PLAY_STORE"
          ],
          "type": "string",
          "description": "The source of the package."
        },
        "versionCode": {
          "description": "The app version code, which can be used to determine whether one version is more recent than another.",
          "type": "integer",
          "format": "int32"
        },
        "versionName": {
          "type": "string",
          "description": "The app version as displayed to the user."
        },
        "installerPackageName": {
          "type": "string",
          "description": "The package name of the app that installed this app."
        },
        "signingKeyCertFingerprints": {
          "description": "The SHA-1 hash of each android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the app package. Each byte of each hash value is represented as a two-digit hexadecimal number.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "packageSha256Hash": {
          "description": "The SHA-256 hash of the app's APK file, which can be used to verify the app hasn't been modified. Each byte of the hash value is represented as a two-digit hexadecimal number.",
          "type": "string"
        },
        "events": {
          "description": "List of app events. The most recent 20 events are stored in the list.",
          "items": {
            "$ref": "ApplicationEvent"
          },
          "type": "array"
        }
      }
    },
    "Status": {
      "properties": {
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            }
          },
          "type": "array"
        },
        "code": {
          "format": "int32",
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "type": "integer"
        },
        "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",
      "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"
    },
    "PasswordRequirements": {
      "description": "Requirements for the password used to unlock a device.",
      "id": "PasswordRequirements",
      "properties": {
        "passwordMinimumNonLetter": {
          "format": "int32",
          "description": "Minimum number of non-letter characters (numerical digits or symbols) required in the password. Only enforced when password_quality is COMPLEX.",
          "type": "integer"
        },
        "passwordQuality": {
          "enumDescriptions": [
            "There are no password requirements.",
            "The device must be secured with a low-security biometric recognition technology, at minimum. This includes technologies that can recognize the identity of an individual that are roughly equivalent to a 3-digit PIN (false detection is less than 1 in 1,000).",
            "A password is required, but there are no restrictions on what the password must contain.",
            "The password must contain numeric characters.",
            "The password must contain numeric characters with no repeating (4444) or ordered (1234, 4321, 2468) sequences.",
            "The password must contain alphabetic (or symbol) characters.",
            "The password must contain both numeric and alphabetic (or symbol) characters.",
            "The password must meet the minimum requirements specified in passwordMinimumLength, passwordMinimumLetters, passwordMinimumSymbols, etc. For example, if passwordMinimumSymbols is 2, the password must contain at least two symbols."
          ],
          "type": "string",
          "enum": [
            "PASSWORD_QUALITY_UNSPECIFIED",
            "BIOMETRIC_WEAK",
            "SOMETHING",
            "NUMERIC",
            "NUMERIC_COMPLEX",
            "ALPHABETIC",
            "ALPHANUMERIC",
            "COMPLEX"
          ],
          "description": "The required password quality."
        },
        "passwordMinimumLowerCase": {
          "description": "Minimum number of lower case letters required in the password. Only enforced when password_quality is COMPLEX.",
          "format": "int32",
          "type": "integer"
        },
        "passwordExpirationTimeout": {
          "description": "Password expiration timeout.",
          "type": "string",
          "format": "google-duration"
        },
        "passwordMinimumLetters": {
          "description": "Minimum number of letters required in the password. Only enforced when password_quality is COMPLEX.",
          "format": "int32",
          "type": "integer"
        },
        "maximumFailedPasswordsForWipe": {
          "description": "Number of incorrect device-unlock passwords that can be entered before a device is wiped. A value of 0 means there is no restriction.",
          "format": "int32",
          "type": "integer"
        },
        "passwordMinimumNumeric": {
          "format": "int32",
          "type": "integer",
          "description": "Minimum number of numerical digits required in the password. Only enforced when password_quality is COMPLEX."
        },
        "passwordMinimumSymbols": {
          "type": "integer",
          "format": "int32",
          "description": "Minimum number of symbols required in the password. Only enforced when password_quality is COMPLEX."
        },
        "passwordHistoryLength": {
          "description": "The length of the password history. After setting this field, the user won't be able to enter a new password that is the same as any password in the history. A value of 0 means there is no restriction.",
          "format": "int32",
          "type": "integer"
        },
        "passwordScope": {
          "enum": [
            "SCOPE_UNSPECIFIED",
            "SCOPE_DEVICE",
            "SCOPE_PROFILE"
          ],
          "enumDescriptions": [
            "The scope is unspecified. The password requirements are applied to the work profile for work profile devices and the whole device for fully managed or dedicated devices.",
            "The password requirements are only applied to the device.",
            "The password requirements are only applied to the work profile."
          ],
          "description": "The scope that the password requirement applies to.",
          "type": "string"
        },
        "passwordMinimumUpperCase": {
          "type": "integer",
          "description": "Minimum number of upper case letters required in the password. Only enforced when password_quality is COMPLEX.",
          "format": "int32"
        },
        "passwordMinimumLength": {
          "type": "integer",
          "format": "int32",
          "description": "The minimum allowed password length. A value of 0 means there is no restriction. Only enforced when password_quality is NUMERIC, NUMERIC_COMPLEX, ALPHABETIC, ALPHANUMERIC, or COMPLEX."
        },
        "requirePasswordUnlock": {
          "enumDescriptions": [
            "Unspecified. Defaults to USE_DEFAULT_DEVICE_TIMEOUT.",
            "The timeout period is set to the device’s default.",
            "The timeout period is set to 24 hours."
          ],
          "type": "string",
          "enum": [
            "REQUIRE_PASSWORD_UNLOCK_UNSPECIFIED",
            "USE_DEFAULT_DEVICE_TIMEOUT",
            "REQUIRE_EVERY_DAY"
          ],
          "description": "The length of time after a device or work profile is unlocked using a strong form of authentication (password, PIN, pattern) that it can be unlocked using any other authentication method (e.g. fingerprint, trust agents, face). After the specified time period elapses, only strong forms of authentication can be used to unlock the device or work profile."
        }
      },
      "type": "object"
    },
    "ApplicationReportingSettings": {
      "properties": {
        "includeRemovedApps": {
          "description": "Whether removed apps are included in application reports.",
          "type": "boolean"
        }
      },
      "id": "ApplicationReportingSettings",
      "description": "Settings controlling the behavior of application reports.",
      "type": "object"
    },
    "KioskCustomization": {
      "type": "object",
      "id": "KioskCustomization",
      "properties": {
        "systemNavigation": {
          "type": "string",
          "enum": [
            "SYSTEM_NAVIGATION_UNSPECIFIED",
            "NAVIGATION_ENABLED",
            "NAVIGATION_DISABLED",
            "HOME_BUTTON_ONLY"
          ],
          "description": "Specifies which navigation features are enabled (e.g. Home, Overview buttons) in kiosk mode.",
          "enumDescriptions": [
            "Unspecified, defaults to NAVIGATION_DISABLED.",
            "Home and overview buttons are enabled.",
            "The home and Overview buttons are not accessible.",
            "Only the home button is enabled."
          ]
        },
        "statusBar": {
          "enumDescriptions": [
            "Unspecified, defaults to INFO_AND_NOTIFICATIONS_DISABLED.",
            "System info and notifications are shown on the status bar in kiosk mode.Note: For this policy to take effect, the device's home button must be enabled using kioskCustomization.systemNavigation.",
            "System info and notifications are disabled in kiosk mode.",
            "Only system info is shown on the status bar."
          ],
          "description": "Specifies whether system info and notifications are disabled in kiosk mode.",
          "enum": [
            "STATUS_BAR_UNSPECIFIED",
            "NOTIFICATIONS_AND_SYSTEM_INFO_ENABLED",
            "NOTIFICATIONS_AND_SYSTEM_INFO_DISABLED",
            "SYSTEM_INFO_ONLY"
          ],
          "type": "string"
        },
        "deviceSettings": {
          "enumDescriptions": [
            "Unspecified, defaults to SETTINGS_ACCESS_ALLOWED.",
            "Access to the Settings app is allowed in kiosk mode.",
            "Access to the Settings app is not allowed in kiosk mode."
          ],
          "enum": [
            "DEVICE_SETTINGS_UNSPECIFIED",
            "SETTINGS_ACCESS_ALLOWED",
            "SETTINGS_ACCESS_BLOCKED"
          ],
          "type": "string",
          "description": "Specifies whether the Settings app is allowed in kiosk mode."
        },
        "systemErrorWarnings": {
          "description": "Specifies whether system error dialogs for crashed or unresponsive apps are blocked in kiosk mode. When blocked, the system will force-stop the app as if the user chooses the \"close app\" option on the UI.",
          "enumDescriptions": [
            "Unspecified, defaults to ERROR_AND_WARNINGS_MUTED.",
            "All system error dialogs such as crash and app not responding (ANR) are displayed.",
            "All system error dialogs, such as crash and app not responding (ANR) are blocked. When blocked, the system force-stops the app as if the user closes the app from the UI."
          ],
          "enum": [
            "SYSTEM_ERROR_WARNINGS_UNSPECIFIED",
            "ERROR_AND_WARNINGS_ENABLED",
            "ERROR_AND_WARNINGS_MUTED"
          ],
          "type": "string"
        },
        "powerButtonActions": {
          "description": "Sets the behavior of a device in kiosk mode when a user presses and holds (long-presses) the Power button.",
          "enumDescriptions": [
            "Unspecified, defaults to POWER_BUTTON_AVAILABLE.",
            "The power menu (e.g. Power off, Restart) is shown when a user long-presses the Power button of a device in kiosk mode.",
            "The power menu (e.g. Power off, Restart) is not shown when a user long-presses the Power button of a device in kiosk mode. Note: this may prevent users from turning off the device."
          ],
          "type": "string",
          "enum": [
            "POWER_BUTTON_ACTIONS_UNSPECIFIED",
            "POWER_BUTTON_AVAILABLE",
            "POWER_BUTTON_BLOCKED"
          ]
        }
      },
      "description": "Settings controlling the behavior of a device in kiosk mode. To enable kiosk mode, set kioskCustomLauncherEnabled to true or specify an app in the policy with installType KIOSK."
    },
    "EnrollmentToken": {
      "id": "EnrollmentToken",
      "type": "object",
      "properties": {
        "additionalData": {
          "type": "string",
          "description": "Optional, arbitrary data associated with the enrollment token. This could contain, for example, the ID of an org unit the device is assigned to after enrollment. After a device enrolls with the token, this data will be exposed in the enrollment_token_data field of the Device resource. The data must be 1024 characters or less; otherwise, the creation request will fail."
        },
        "value": {
          "type": "string",
          "description": "The token value that's passed to the device and authorizes the device to enroll. This is a read-only field generated by the server."
        },
        "oneTimeOnly": {
          "type": "boolean",
          "description": "Whether the enrollment token is for one time use only. If the flag is set to true, only one device can use it for registration."
        },
        "user": {
          "description": "The user associated with this enrollment token. If it's specified when the enrollment token is created and the user does not exist, the user will be created. This field must not contain personally identifiable information. Only the account_identifier field needs to be set.",
          "$ref": "User"
        },
        "qrCode": {
          "description": "A JSON string whose UTF-8 representation can be used to generate a QR code to enroll a device with this enrollment token. To enroll a device using NFC, the NFC record must contain a serialized java.util.Properties representation of the properties in the JSON.",
          "type": "string"
        },
        "expirationTimestamp": {
          "description": "The expiration time of the token. This is a read-only field generated by the server.",
          "format": "google-datetime",
          "type": "string"
        },
        "policyName": {
          "type": "string",
          "description": "The name of the policy initially applied to the enrolled device, in the form enterprises/{enterpriseId}/policies/{policyId}. If not specified, the policy_name for the device’s user is applied. If user_name is also not specified, enterprises/{enterpriseId}/policies/default is applied by default. When updating this field, you can specify only the policyId as long as the policyId doesn’t contain any slashes. The rest of the policy name will be inferred."
        },
        "name": {
          "type": "string",
          "description": "The name of the enrollment token, which is generated by the server during creation, in the form enterprises/{enterpriseId}/enrollmentTokens/{enrollmentTokenId}."
        },
        "duration": {
          "description": "The length of time the enrollment token is valid, ranging from 1 minute to 30 days. If not specified, the default duration is 1 hour.",
          "format": "google-duration",
          "type": "string"
        },
        "allowPersonalUsage": {
          "enumDescriptions": [
            "Personal usage restriction is not specified",
            "Personal usage is allowed",
            "Personal usage is disallowed"
          ],
          "type": "string",
          "description": "Controls whether personal usage is allowed on a device provisioned with this enrollment token.For company-owned devices: Enabling personal usage allows the user to set up a work profile on the device. Disabling personal usage requires the user provision the device as a fully managed device.For personally-owned devices: Enabling personal usage allows the user to set up a work profile on the device. Disabling personal usage will prevent the device from provisioning. Personal usage cannot be disabled on personally-owned device.",
          "enum": [
            "ALLOW_PERSONAL_USAGE_UNSPECIFIED",
            "PERSONAL_USAGE_ALLOWED",
            "PERSONAL_USAGE_DISALLOWED"
          ]
        }
      },
      "description": "An enrollment token."
    },
    "TermsAndConditions": {
      "description": "A terms and conditions page to be accepted during provisioning.",
      "properties": {
        "content": {
          "$ref": "UserFacingMessage",
          "description": "A well-formatted HTML string. It will be parsed on the client with android.text.Html#fromHtml."
        },
        "header": {
          "$ref": "UserFacingMessage",
          "description": "A short header which appears above the HTML content."
        }
      },
      "type": "object",
      "id": "TermsAndConditions"
    },
    "CommonCriteriaModeInfo": {
      "description": "Information about Common Criteria Mode—security standards defined in the Common Criteria for Information Technology Security Evaluation (https://www.commoncriteriaportal.org/) (CC).This information is only available if statusReportingSettings.commonCriteriaModeEnabled is true in the device's policy.",
      "properties": {
        "commonCriteriaModeStatus": {
          "description": "Whether Common Criteria Mode is enabled.",
          "enum": [
            "COMMON_CRITERIA_MODE_STATUS_UNKNOWN",
            "COMMON_CRITERIA_MODE_DISABLED",
            "COMMON_CRITERIA_MODE_ENABLED"
          ],
          "enumDescriptions": [
            "Unknown status.",
            "Common Criteria Mode is currently disabled.",
            "Common Criteria Mode is currently enabled."
          ],
          "type": "string"
        }
      },
      "id": "CommonCriteriaModeInfo",
      "type": "object"
    },
    "NetworkInfo": {
      "id": "NetworkInfo",
      "properties": {
        "meid": {
          "type": "string",
          "description": "MEID number of the CDMA device. For example, A00000292788E1."
        },
        "imei": {
          "description": "IMEI number of the GSM device. For example, A1000031212.",
          "type": "string"
        },
        "networkOperatorName": {
          "type": "string",
          "description": "Alphabetic name of current registered operator. For example, Vodafone."
        },
        "wifiMacAddress": {
          "type": "string",
          "description": "Wi-Fi MAC address of the device. For example, 7c:11:11:11:11:11."
        }
      },
      "type": "object",
      "description": "Device network info."
    },
    "ListWebAppsResponse": {
      "id": "ListWebAppsResponse",
      "properties": {
        "webApps": {
          "items": {
            "$ref": "WebApp"
          },
          "type": "array",
          "description": "The list of web apps."
        },
        "nextPageToken": {
          "description": "If there are more results, a token to retrieve next page of results.",
          "type": "string"
        }
      },
      "description": "Response to a request to list web apps for a given enterprise.",
      "type": "object"
    },
    "PackageNameList": {
      "id": "PackageNameList",
      "type": "object",
      "description": "A list of package names.",
      "properties": {
        "packageNames": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "A list of package names."
        }
      }
    },
    "ManagedPropertyEntry": {
      "type": "object",
      "properties": {
        "value": {
          "description": "The machine-readable value of the entry, which should be used in the configuration. Not localized.",
          "type": "string"
        },
        "name": {
          "description": "The human-readable name of the value. Localized.",
          "type": "string"
        }
      },
      "description": "An entry of a managed property.",
      "id": "ManagedPropertyEntry"
    },
    "Policy": {
      "type": "object",
      "properties": {
        "screenCaptureDisabled": {
          "type": "boolean",
          "description": "Whether screen capture is disabled."
        },
        "cameraDisabled": {
          "description": "Whether all cameras on the device are disabled.",
          "type": "boolean"
        },
        "ensureVerifyAppsEnabled": {
          "description": "Whether app verification is force-enabled.",
          "type": "boolean"
        },
        "bluetoothConfigDisabled": {
          "description": "Whether configuring bluetooth is disabled.",
          "type": "boolean"
        },
        "frpAdminEmails": {
          "type": "array",
          "description": "Email addresses of device administrators for factory reset protection. When the device is factory reset, it will require one of these admins to log in with the Google account email and password to unlock the device. If no admins are specified, the device won't provide factory reset protection.",
          "items": {
            "type": "string"
          }
        },
        "recommendedGlobalProxy": {
          "$ref": "ProxyInfo",
          "description": "The network-independent global HTTP proxy. Typically proxies should be configured per-network in open_network_configuration. However for unusual configurations like general internal filtering a global HTTP proxy may be useful. If the proxy is not accessible, network access may break. The global proxy is only a recommendation and some apps may ignore it."
        },
        "stayOnPluggedModes": {
          "items": {
            "enum": [
              "BATTERY_PLUGGED_MODE_UNSPECIFIED",
              "AC",
              "USB",
              "WIRELESS"
            ],
            "enumDescriptions": [
              "This value is ignored.",
              "Power source is an AC charger.",
              "Power source is a USB port.",
              "Power source is wireless."
            ],
            "type": "string"
          },
          "description": "The battery plugged in modes for which the device stays on. When using this setting, it is recommended to clear maximum_time_to_lock so that the device doesn't lock itself while it stays on.",
          "type": "array"
        },
        "funDisabled": {
          "description": "Whether the user is allowed to have fun. Controls whether the Easter egg game in Settings is disabled.",
          "type": "boolean"
        },
        "permissionGrants": {
          "items": {
            "$ref": "PermissionGrant"
          },
          "description": "Explicit permission or group grants or denials for all apps. These values override the default_permission_policy.",
          "type": "array"
        },
        "complianceRules": {
          "type": "array",
          "items": {
            "$ref": "ComplianceRule"
          },
          "description": "Rules declaring which mitigating actions to take when a device is not compliant with its policy. When the conditions for multiple rules are satisfied, all of the mitigating actions for the rules are taken. There is a maximum limit of 100 rules. Use policy enforcement rules instead."
        },
        "permittedAccessibilityServices": {
          "$ref": "PackageNameList",
          "description": "Specifies permitted accessibility services. If the field is not set, any accessibility service can be used. If the field is set, only the accessibility services in this list and the system's built-in accessibility service can be used. In particular, if the field is set to empty, only the system's built-in accessibility servicess can be used."
        },
        "systemUpdate": {
          "$ref": "SystemUpdate",
          "description": "The system update policy, which controls how OS updates are applied. If the update type is WINDOWED, the update window will automatically apply to Play app updates as well."
        },
        "autoTimeRequired": {
          "type": "boolean",
          "description": "Whether auto time is required, which prevents the user from manually setting the date and time. If autoDateAndTimeZone is set, this field is ignored."
        },
        "persistentPreferredActivities": {
          "items": {
            "$ref": "PersistentPreferredActivity"
          },
          "description": "Default intent handler activities.",
          "type": "array"
        },
        "deviceOwnerLockScreenInfo": {
          "$ref": "UserFacingMessage",
          "description": "The device owner information to be shown on the lock screen."
        },
        "usbMassStorageEnabled": {
          "description": "Whether USB storage is enabled. Deprecated.",
          "type": "boolean"
        },
        "keyguardDisabledFeatures": {
          "description": "Disabled keyguard customizations, such as widgets.",
          "type": "array",
          "items": {
            "enum": [
              "KEYGUARD_DISABLED_FEATURE_UNSPECIFIED",
              "CAMERA",
              "NOTIFICATIONS",
              "UNREDACTED_NOTIFICATIONS",
              "TRUST_AGENTS",
              "DISABLE_FINGERPRINT",
              "DISABLE_REMOTE_INPUT",
              "FACE",
              "IRIS",
              "BIOMETRICS",
              "ALL_FEATURES"
            ],
            "enumDescriptions": [
              "This value is ignored.",
              "Disable the camera on secure keyguard screens (e.g. PIN).",
              "Disable showing all notifications on secure keyguard screens.",
              "Disable unredacted notifications on secure keyguard screens.",
              "Ignore trust agent state on secure keyguard screens.",
              "Disable fingerprint sensor on secure keyguard screens.",
              "Disable text entry into notifications on secure keyguard screens.",
              "Disable face authentication on secure keyguard screens.",
              "Disable iris authentication on secure keyguard screens.",
              "Disable all biometric authentication on secure keyguard screens.",
              "Disable all current and future keyguard customizations."
            ],
            "type": "string"
          }
        },
        "applications": {
          "description": "Policy applied to apps.",
          "items": {
            "$ref": "ApplicationPolicy"
          },
          "type": "array"
        },
        "kioskCustomLauncherEnabled": {
          "type": "boolean",
          "description": "Whether the kiosk custom launcher is enabled. This replaces the home screen with a launcher that locks down the device to the apps installed via the applications setting. Apps appear on a single page in alphabetical order. Use kioskCustomization to further configure the kiosk device behavior."
        },
        "appAutoUpdatePolicy": {
          "enum": [
            "APP_AUTO_UPDATE_POLICY_UNSPECIFIED",
            "CHOICE_TO_THE_USER",
            "NEVER",
            "WIFI_ONLY",
            "ALWAYS"
          ],
          "description": "The app auto update policy, which controls when automatic app updates can be applied.",
          "type": "string",
          "enumDescriptions": [
            "The auto-update policy is not set. Equivalent to CHOICE_TO_THE_USER.",
            "The user can control auto-updates.",
            "Apps are never auto-updated.",
            "Apps are auto-updated over Wi-Fi only.",
            "Apps are auto-updated at any time. Data charges may apply."
          ]
        },
        "maximumTimeToLock": {
          "format": "int64",
          "type": "string",
          "description": "Maximum time in milliseconds for user activity until the device locks. A value of 0 means there is no restriction."
        },
        "installAppsDisabled": {
          "type": "boolean",
          "description": "Whether user installation of apps is disabled."
        },
        "passwordRequirements": {
          "description": "Password requirements. The field password_requirements.require_password_unlock must not be set. DEPRECATED - Use password_policies.",
          "$ref": "PasswordRequirements"
        },
        "alwaysOnVpnPackage": {
          "description": "Configuration for an always-on VPN connection. Use with vpn_config_disabled to prevent modification of this setting.",
          "$ref": "AlwaysOnVpnPackage"
        },
        "version": {
          "type": "string",
          "description": "The version of the policy. This is a read-only field. The version is incremented each time the policy is updated.",
          "format": "int64"
        },
        "dataRoamingDisabled": {
          "type": "boolean",
          "description": "Whether roaming data services are disabled."
        },
        "safeBootDisabled": {
          "type": "boolean",
          "description": "Whether rebooting the device into safe boot is disabled."
        },
        "tetheringConfigDisabled": {
          "description": "Whether configuring tethering and portable hotspots is disabled.",
          "type": "boolean"
        },
        "addUserDisabled": {
          "description": "Whether adding new users and profiles is disabled.",
          "type": "boolean"
        },
        "keyguardDisabled": {
          "description": "Whether the keyguard is disabled.",
          "type": "boolean"
        },
        "bluetoothDisabled": {
          "description": "Whether bluetooth is disabled. Prefer this setting over bluetooth_config_disabled because bluetooth_config_disabled can be bypassed by the user.",
          "type": "boolean"
        },
        "statusReportingSettings": {
          "$ref": "StatusReportingSettings",
          "description": "Status reporting settings"
        },
        "mountPhysicalMediaDisabled": {
          "description": "Whether the user mounting physical external media is disabled.",
          "type": "boolean"
        },
        "createWindowsDisabled": {
          "description": "Whether creating windows besides app windows is disabled.",
          "type": "boolean"
        },
        "minimumApiLevel": {
          "description": "The minimum allowed Android API level.",
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string",
          "description": "The name of the policy in the form enterprises/{enterpriseId}/policies/{policyId}."
        },
        "shareLocationDisabled": {
          "type": "boolean",
          "description": "Whether location sharing is disabled."
        },
        "setWallpaperDisabled": {
          "description": "Whether changing the wallpaper is disabled.",
          "type": "boolean"
        },
        "privateKeySelectionEnabled": {
          "description": "Allows showing UI on a device for a user to choose a private key alias if there are no matching rules in ChoosePrivateKeyRules. For devices below Android P, setting this may leave enterprise keys vulnerable.",
          "type": "boolean"
        },
        "modifyAccountsDisabled": {
          "type": "boolean",
          "description": "Whether adding or removing accounts is disabled."
        },
        "bluetoothContactSharingDisabled": {
          "type": "boolean",
          "description": "Whether bluetooth contact sharing is disabled."
        },
        "skipFirstUseHintsEnabled": {
          "description": "Flag to skip hints on the first use. Enterprise admin can enable the system recommendation for apps to skip their user tutorial and other introductory hints on first start-up.",
          "type": "boolean"
        },
        "statusBarDisabled": {
          "type": "boolean",
          "description": "Whether the status bar is disabled. This disables notifications, quick settings, and other screen overlays that allow escape from full-screen mode. DEPRECATED. To disable the status bar on a kiosk device, use InstallType KIOSK or kioskCustomLauncherEnabled."
        },
        "blockApplicationsEnabled": {
          "description": "Whether applications other than the ones configured in applications are blocked from being installed. When set, applications that were installed under a previous policy but no longer appear in the policy are automatically uninstalled.",
          "type": "boolean"
        },
        "usbFileTransferDisabled": {
          "description": "Whether transferring files over USB is disabled.",
          "type": "boolean"
        },
        "factoryResetDisabled": {
          "type": "boolean",
          "description": "Whether factory resetting from settings is disabled."
        },
        "androidDevicePolicyTracks": {
          "type": "array",
          "items": {
            "enumDescriptions": [
              "This value is ignored.",
              "The production track, which provides the latest stable release.",
              "The beta track, which provides the latest beta release."
            ],
            "type": "string",
            "enum": [
              "APP_TRACK_UNSPECIFIED",
              "PRODUCTION",
              "BETA"
            ]
          },
          "description": "The app tracks for Android Device Policy the device can access. The device receives the latest version among all accessible tracks. If no tracks are specified, then the device only uses the production track."
        },
        "personalUsagePolicies": {
          "description": "Policies managing personal usage on a company-owned device.",
          "$ref": "PersonalUsagePolicies"
        },
        "removeUserDisabled": {
          "type": "boolean",
          "description": "Whether removing other users is disabled."
        },
        "passwordPolicies": {
          "items": {
            "$ref": "PasswordRequirements"
          },
          "description": "Password requirement policies. Different policies can be set for work profile or fully managed devices by setting the password_scope field in the policy.",
          "type": "array"
        },
        "locationMode": {
          "enumDescriptions": [
            "Defaults to LOCATION_USER_CHOICE.",
            "On Android 8 and below, all location detection methods are enabled, including GPS, networks, and other sensors. On Android 9 and above, this is equivalent to LOCATION_ENFORCED.",
            "On Android 8 and below, only GPS and other sensors are enabled. On Android 9 and above, this is equivalent to LOCATION_ENFORCED.",
            "On Android 8 and below, only the network location provider is enabled. On Android 9 and above, this is equivalent to LOCATION_ENFORCED.",
            "On Android 8 and below, location setting and accuracy are disabled. On Android 9 and above, this is equivalent to LOCATION_DISABLED.",
            "Location setting is not restricted on the device. No specific behavior is set or enforced.",
            "Enable location setting on the device.",
            "Disable location setting on the device."
          ],
          "enum": [
            "LOCATION_MODE_UNSPECIFIED",
            "HIGH_ACCURACY",
            "SENSORS_ONLY",
            "BATTERY_SAVING",
            "OFF",
            "LOCATION_USER_CHOICE",
            "LOCATION_ENFORCED",
            "LOCATION_DISABLED"
          ],
          "type": "string",
          "description": "The degree of location detection enabled."
        },
        "wifiConfigsLockdownEnabled": {
          "description": "DEPRECATED - Use wifi_config_disabled.",
          "type": "boolean"
        },
        "playStoreMode": {
          "enum": [
            "PLAY_STORE_MODE_UNSPECIFIED",
            "WHITELIST",
            "BLACKLIST"
          ],
          "description": "This mode controls which apps are available to the user in the Play Store and the behavior on the device when apps are removed from the policy.",
          "enumDescriptions": [
            "Unspecified. Defaults to WHITELIST.",
            "Only apps that are in the policy are available and any app not in the policy will be automatically uninstalled from the device.",
            "All apps are available and any app that should not be on the device should be explicitly marked as 'BLOCKED' in the applications policy."
          ],
          "type": "string"
        },
        "openNetworkConfiguration": {
          "description": "Network configuration for the device. See configure networks for more information.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        },
        "accountTypesWithManagementDisabled": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Account types that can't be managed by the user."
        },
        "setUserIconDisabled": {
          "description": "Whether changing the user icon is disabled.",
          "type": "boolean"
        },
        "unmuteMicrophoneDisabled": {
          "description": "Whether the microphone is muted and adjusting microphone volume is disabled.",
          "type": "boolean"
        },
        "cellBroadcastsConfigDisabled": {
          "type": "boolean",
          "description": "Whether configuring cell broadcast is disabled."
        },
        "adjustVolumeDisabled": {
          "description": "Whether adjusting the master volume is disabled.",
          "type": "boolean"
        },
        "advancedSecurityOverrides": {
          "description": "Security policies set to the most secure values by default. To maintain the security posture of a device, we don't recommend overriding any of the default values.",
          "$ref": "AdvancedSecurityOverrides"
        },
        "networkResetDisabled": {
          "description": "Whether resetting network settings is disabled.",
          "type": "boolean"
        },
        "policyEnforcementRules": {
          "items": {
            "$ref": "PolicyEnforcementRule"
          },
          "type": "array",
          "description": "Rules that define the behavior when a particular policy can not be applied on device"
        },
        "wifiConfigDisabled": {
          "description": "Whether configuring Wi-Fi access points is disabled.",
          "type": "boolean"
        },
        "permittedInputMethods": {
          "description": "If present, only the input methods provided by packages in this list are permitted. If this field is present, but the list is empty, then only system input methods are permitted.",
          "$ref": "PackageNameList"
        },
        "vpnConfigDisabled": {
          "description": "Whether configuring VPN is disabled.",
          "type": "boolean"
        },
        "outgoingBeamDisabled": {
          "type": "boolean",
          "description": "Whether using NFC to beam data from apps is disabled."
        },
        "longSupportMessage": {
          "description": "A message displayed to the user in the device administators settings screen.",
          "$ref": "UserFacingMessage"
        },
        "setupActions": {
          "items": {
            "$ref": "SetupAction"
          },
          "type": "array",
          "description": "Actions to take during the setup process."
        },
        "uninstallAppsDisabled": {
          "type": "boolean",
          "description": "Whether user uninstallation of applications is disabled."
        },
        "installUnknownSourcesAllowed": {
          "description": "Whether the user is allowed to enable the \"Unknown Sources\" setting, which allows installation of apps from unknown sources.",
          "type": "boolean"
        },
        "encryptionPolicy": {
          "enum": [
            "ENCRYPTION_POLICY_UNSPECIFIED",
            "ENABLED_WITHOUT_PASSWORD",
            "ENABLED_WITH_PASSWORD"
          ],
          "enumDescriptions": [
            "This value is ignored, i.e. no encryption required",
            "Encryption required but no password required to boot",
            "Encryption required with password required to boot"
          ],
          "type": "string",
          "description": "Whether encryption is enabled"
        },
        "smsDisabled": {
          "description": "Whether sending and receiving SMS messages is disabled.",
          "type": "boolean"
        },
        "autoDateAndTimeZone": {
          "description": "Whether auto date, time, and time zone are enabled on a company-owned device. If this is set, then autoTimeRequired is ignored.",
          "enumDescriptions": [
            "Unspecified. Defaults to AUTO_DATE_AND_TIME_ZONE_USER_CHOICE.",
            "Auto date, time, and time zone are left to user's choice.",
            "Enforce auto date, time, and time zone on the device."
          ],
          "type": "string",
          "enum": [
            "AUTO_DATE_AND_TIME_ZONE_UNSPECIFIED",
            "AUTO_DATE_AND_TIME_ZONE_USER_CHOICE",
            "AUTO_DATE_AND_TIME_ZONE_ENFORCED"
          ]
        },
        "mobileNetworksConfigDisabled": {
          "type": "boolean",
          "description": "Whether configuring mobile networks is disabled."
        },
        "networkEscapeHatchEnabled": {
          "type": "boolean",
          "description": "Whether the network escape hatch is enabled. If a network connection can't be made at boot time, the escape hatch prompts the user to temporarily connect to a network in order to refresh the device policy. After applying policy, the temporary network will be forgotten and the device will continue booting. This prevents being unable to connect to a network if there is no suitable network in the last policy and the device boots into an app in lock task mode, or the user is otherwise unable to reach device settings."
        },
        "debuggingFeaturesAllowed": {
          "description": "Whether the user is allowed to enable debugging features.",
          "type": "boolean"
        },
        "kioskCustomization": {
          "description": "Settings controlling the behavior of a device in kiosk mode. To enable kiosk mode, set kioskCustomLauncherEnabled to true or specify an app in the policy with installType KIOSK.",
          "$ref": "KioskCustomization"
        },
        "choosePrivateKeyRules": {
          "description": "Rules for automatically choosing a private key and certificate to authenticate the device to a server. The rules are ordered by increasing precedence, so if an outgoing request matches more than one rule, the last rule defines which private key to use.",
          "items": {
            "$ref": "ChoosePrivateKeyRule"
          },
          "type": "array"
        },
        "shortSupportMessage": {
          "description": "A message displayed to the user in the settings screen wherever functionality has been disabled by the admin. If the message is longer than 200 characters it may be truncated.",
          "$ref": "UserFacingMessage"
        },
        "credentialsConfigDisabled": {
          "type": "boolean",
          "description": "Whether configuring user credentials is disabled."
        },
        "defaultPermissionPolicy": {
          "enumDescriptions": [
            "Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.",
            "Prompt the user to grant a permission.",
            "Automatically grant a permission.",
            "Automatically deny a permission."
          ],
          "enum": [
            "PERMISSION_POLICY_UNSPECIFIED",
            "PROMPT",
            "GRANT",
            "DENY"
          ],
          "type": "string",
          "description": "The default permission policy for runtime permission requests."
        },
        "outgoingCallsDisabled": {
          "description": "Whether outgoing calls are disabled.",
          "type": "boolean"
        }
      },
      "description": "A policy resource represents a group of settings that govern the behavior of a managed device and the apps installed on it.",
      "id": "Policy"
    },
    "ApplicationEvent": {
      "id": "ApplicationEvent",
      "description": "An app-related event.",
      "properties": {
        "createTime": {
          "description": "The creation time of the event.",
          "type": "string",
          "format": "google-datetime"
        },
        "eventType": {
          "description": "App event type.",
          "enum": [
            "APPLICATION_EVENT_TYPE_UNSPECIFIED",
            "INSTALLED",
            "CHANGED",
            "DATA_CLEARED",
            "REMOVED",
            "REPLACED",
            "RESTARTED",
            "PINNED",
            "UNPINNED"
          ],
          "enumDescriptions": [
            "This value is disallowed.",
            "The app was installed.",
            "The app was changed, for example, a component was enabled or disabled.",
            "The app data was cleared.",
            "The app was removed.",
            "A new version of the app has been installed, replacing the old version.",
            "The app was restarted.",
            "The app was pinned to the foreground.",
            "The app was unpinned."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Device": {
      "type": "object",
      "description": "A device owned by an enterprise. Unless otherwise noted, all fields are read-only and can't be modified by enterprises.devices.patch.",
      "properties": {
        "apiLevel": {
          "description": "The API level of the Android platform version running on the device.",
          "type": "integer",
          "format": "int32"
        },
        "applicationReports": {
          "items": {
            "$ref": "ApplicationReport"
          },
          "description": "Reports for apps installed on the device. This information is only available when application_reports_enabled is true in the device's policy.",
          "type": "array"
        },
        "displays": {
          "type": "array",
          "description": "Detailed information about displays on the device. This information is only available if displayInfoEnabled is true in the device's policy.",
          "items": {
            "$ref": "Display"
          }
        },
        "securityPosture": {
          "description": "Device's security posture value that reflects how secure the device is.",
          "$ref": "SecurityPosture"
        },
        "powerManagementEvents": {
          "type": "array",
          "description": "Power management events on the device in chronological order. This information is only available if powerManagementEventsEnabled is true in the device's policy.",
          "items": {
            "$ref": "PowerManagementEvent"
          }
        },
        "userName": {
          "type": "string",
          "description": "The resource name of the user that owns this device in the form enterprises/{enterpriseId}/users/{userId}."
        },
        "lastStatusReportTime": {
          "description": "The last time the device sent a status report.",
          "type": "string",
          "format": "google-datetime"
        },
        "enrollmentTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "The time of device enrollment."
        },
        "networkInfo": {
          "$ref": "NetworkInfo",
          "description": "Device network information. This information is only available if networkInfoEnabled is true in the device's policy."
        },
        "hardwareInfo": {
          "$ref": "HardwareInfo",
          "description": "Detailed information about the device hardware."
        },
        "enrollmentTokenName": {
          "description": "If the device was enrolled with an enrollment token, this field contains the name of the token.",
          "type": "string"
        },
        "managementMode": {
          "enumDescriptions": [
            "This value is disallowed.",
            "Device owner. Android Device Policy has full control over the device.",
            "Profile owner. Android Device Policy has control over a managed profile on the device."
          ],
          "enum": [
            "MANAGEMENT_MODE_UNSPECIFIED",
            "DEVICE_OWNER",
            "PROFILE_OWNER"
          ],
          "type": "string",
          "description": "The type of management mode Android Device Policy takes on the device. This influences which policy settings are supported."
        },
        "state": {
          "type": "string",
          "description": "The state to be applied to the device. This field can be modified by a patch request. Note that when calling enterprises.devices.patch, ACTIVE and DISABLED are the only allowable values. To enter the device into a DELETED state, call enterprises.devices.delete.",
          "enumDescriptions": [
            "This value is disallowed.",
            "The device is active.",
            "The device is disabled.",
            "The device was deleted. This state will never be returned by an API call, but is used in the final status report published to Cloud Pub/Sub when the device acknowledges the deletion.",
            "The device is being provisioned. Newly enrolled devices are in this state until they have a policy applied."
          ],
          "enum": [
            "DEVICE_STATE_UNSPECIFIED",
            "ACTIVE",
            "DISABLED",
            "DELETED",
            "PROVISIONING"
          ]
        },
        "memoryInfo": {
          "description": "Memory information. This information is only available if memoryInfoEnabled is true in the device's policy.",
          "$ref": "MemoryInfo"
        },
        "name": {
          "description": "The name of the device in the form enterprises/{enterpriseId}/devices/{deviceId}.",
          "type": "string"
        },
        "policyName": {
          "type": "string",
          "description": "The name of the policy applied to the device, in the form enterprises/{enterpriseId}/policies/{policyId}. If not specified, the policy_name for the device's user is applied. This field can be modified by a patch request. You can specify only the policyId when calling enterprises.devices.patch, as long as the policyId doesn’t contain any slashes. The rest of the policy name is inferred."
        },
        "disabledReason": {
          "$ref": "UserFacingMessage",
          "description": "If the device state is DISABLED, an optional message that is displayed on the device indicating the reason the device is disabled. This field can be modified by a patch request."
        },
        "hardwareStatusSamples": {
          "description": "Hardware status samples in chronological order. This information is only available if hardwareStatusEnabled is true in the device's policy.",
          "items": {
            "$ref": "HardwareStatus"
          },
          "type": "array"
        },
        "lastPolicySyncTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The last time the device fetched its policy."
        },
        "commonCriteriaModeInfo": {
          "description": "Information about Common Criteria Mode—security standards defined in the Common Criteria for Information Technology Security Evaluation (https://www.commoncriteriaportal.org/) (CC).This information is only available if statusReportingSettings.commonCriteriaModeEnabled is true in the device's policy.",
          "$ref": "CommonCriteriaModeInfo"
        },
        "systemProperties": {
          "type": "object",
          "description": "Map of selected system properties name and value related to the device. This information is only available if systemPropertiesEnabled is true in the device's policy.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "deviceSettings": {
          "$ref": "DeviceSettings",
          "description": "Device settings information. This information is only available if deviceSettingsEnabled is true in the device's policy."
        },
        "appliedPolicyName": {
          "type": "string",
          "description": "The name of the policy currently applied to the device."
        },
        "policyCompliant": {
          "description": "Whether the device is compliant with its policy.",
          "type": "boolean"
        },
        "memoryEvents": {
          "type": "array",
          "description": "Events related to memory and storage measurements in chronological order. This information is only available if memoryInfoEnabled is true in the device's policy.",
          "items": {
            "$ref": "MemoryEvent"
          }
        },
        "nonComplianceDetails": {
          "type": "array",
          "items": {
            "$ref": "NonComplianceDetail"
          },
          "description": "Details about policy settings that the device is not compliant with."
        },
        "appliedState": {
          "enum": [
            "DEVICE_STATE_UNSPECIFIED",
            "ACTIVE",
            "DISABLED",
            "DELETED",
            "PROVISIONING"
          ],
          "enumDescriptions": [
            "This value is disallowed.",
            "The device is active.",
            "The device is disabled.",
            "The device was deleted. This state will never be returned by an API call, but is used in the final status report published to Cloud Pub/Sub when the device acknowledges the deletion.",
            "The device is being provisioned. Newly enrolled devices are in this state until they have a policy applied."
          ],
          "description": "The state currently applied to the device.",
          "type": "string"
        },
        "lastPolicyComplianceReportTime": {
          "description": "Deprecated.",
          "format": "google-datetime",
          "type": "string"
        },
        "ownership": {
          "type": "string",
          "enumDescriptions": [
            "Ownership is unspecified.",
            "Device is company-owned.",
            "Device is personally-owned."
          ],
          "description": "Ownership of the managed device.",
          "enum": [
            "OWNERSHIP_UNSPECIFIED",
            "COMPANY_OWNED",
            "PERSONALLY_OWNED"
          ]
        },
        "enrollmentTokenData": {
          "type": "string",
          "description": "If the device was enrolled with an enrollment token with additional data provided, this field contains that data."
        },
        "user": {
          "$ref": "User",
          "description": "The user who owns the device."
        },
        "previousDeviceNames": {
          "items": {
            "type": "string"
          },
          "description": "If the same physical device has been enrolled multiple times, this field contains its previous device names. The serial number is used as the unique identifier to determine if the same physical device has enrolled previously. The names are in chronological order.",
          "type": "array"
        },
        "appliedPolicyVersion": {
          "type": "string",
          "description": "The version of the policy currently applied to the device.",
          "format": "int64"
        },
        "softwareInfo": {
          "description": "Detailed information about the device software. This information is only available if softwareInfoEnabled is true in the device's policy.",
          "$ref": "SoftwareInfo"
        }
      },
      "id": "Device"
    },
    "HardwareStatus": {
      "id": "HardwareStatus",
      "type": "object",
      "properties": {
        "cpuUsages": {
          "items": {
            "type": "number",
            "format": "float"
          },
          "type": "array",
          "description": "CPU usages in percentage for each core available on the device. Usage is 0 for each unplugged core. Empty array implies that CPU usage is not supported in the system."
        },
        "gpuTemperatures": {
          "description": "Current GPU temperatures in Celsius for each GPU on the device.",
          "items": {
            "type": "number",
            "format": "float"
          },
          "type": "array"
        },
        "batteryTemperatures": {
          "type": "array",
          "description": "Current battery temperatures in Celsius for each battery on the device.",
          "items": {
            "type": "number",
            "format": "float"
          }
        },
        "skinTemperatures": {
          "items": {
            "type": "number",
            "format": "float"
          },
          "description": "Current device skin temperatures in Celsius.",
          "type": "array"
        },
        "fanSpeeds": {
          "description": "Fan speeds in RPM for each fan on the device. Empty array means that there are no fans or fan speed is not supported on the system.",
          "items": {
            "format": "float",
            "type": "number"
          },
          "type": "array"
        },
        "cpuTemperatures": {
          "type": "array",
          "description": "Current CPU temperatures in Celsius for each CPU on the device.",
          "items": {
            "format": "float",
            "type": "number"
          }
        },
        "createTime": {
          "description": "The time the measurements were taken.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "description": "Hardware status. Temperatures may be compared to the temperature thresholds available in hardwareInfo to determine hardware health."
    },
    "ListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "operations": {
          "items": {
            "$ref": "Operation"
          },
          "description": "A list of operations that matches the specified filter in the request.",
          "type": "array"
        }
      },
      "id": "ListOperationsResponse",
      "type": "object"
    },
    "MemoryInfo": {
      "description": "Information about device memory and storage.",
      "id": "MemoryInfo",
      "properties": {
        "totalRam": {
          "format": "int64",
          "type": "string",
          "description": "Total RAM on device in bytes."
        },
        "totalInternalStorage": {
          "format": "int64",
          "type": "string",
          "description": "Total internal storage on device in bytes."
        }
      },
      "type": "object"
    },
    "PermissionGrant": {
      "properties": {
        "permission": {
          "description": "The Android permission or group, e.g. android.permission.READ_CALENDAR or android.permission_group.CALENDAR.",
          "type": "string"
        },
        "policy": {
          "enumDescriptions": [
            "Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.",
            "Prompt the user to grant a permission.",
            "Automatically grant a permission.",
            "Automatically deny a permission."
          ],
          "type": "string",
          "enum": [
            "PERMISSION_POLICY_UNSPECIFIED",
            "PROMPT",
            "GRANT",
            "DENY"
          ],
          "description": "The policy for granting the permission."
        }
      },
      "description": "Configuration for an Android permission and its grant state.",
      "id": "PermissionGrant",
      "type": "object"
    },
    "MemoryEvent": {
      "properties": {
        "byteCount": {
          "description": "The number of free bytes in the medium, or for EXTERNAL_STORAGE_DETECTED, the total capacity in bytes of the storage medium.",
          "type": "string",
          "format": "int64"
        },
        "createTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "The creation time of the event."
        },
        "eventType": {
          "enumDescriptions": [
            "Unspecified. No events have this type.",
            "Free space in RAM was measured.",
            "Free space in internal storage was measured.",
            "A new external storage medium was detected. The reported byte count is the total capacity of the storage medium.",
            "An external storage medium was removed. The reported byte count is zero.",
            "Free space in an external storage medium was measured."
          ],
          "type": "string",
          "enum": [
            "MEMORY_EVENT_TYPE_UNSPECIFIED",
            "RAM_MEASURED",
            "INTERNAL_STORAGE_MEASURED",
            "EXTERNAL_STORAGE_DETECTED",
            "EXTERNAL_STORAGE_REMOVED",
            "EXTERNAL_STORAGE_MEASURED"
          ],
          "description": "Event type."
        }
      },
      "id": "MemoryEvent",
      "type": "object",
      "description": "An event related to memory and storage measurements."
    },
    "PersonalUsagePolicies": {
      "id": "PersonalUsagePolicies",
      "type": "object",
      "description": "Policies controlling personal usage on a company-owned device with a work profile.",
      "properties": {
        "accountTypesWithManagementDisabled": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Account types that can't be managed by the user."
        },
        "maxDaysWithWorkOff": {
          "type": "integer",
          "format": "int32",
          "description": "Controls how long the work profile can stay off."
        },
        "personalPlayStoreMode": {
          "type": "string",
          "description": "Used together with personalApplications to control how apps in the personal profile are allowed or blocked.",
          "enumDescriptions": [
            "Unspecified. Defaults to BLOCKLIST.",
            "All Play Store apps are available for installation in the personal profile, except those whose installType is BLOCKED in personalApplications.",
            "All Play Store apps are available for installation in the personal profile, except those whose installType is BLOCKED in personalApplications.",
            "Only apps explicitly specified in personalApplications with installType set to AVAILABLE are allowed to be installed in the personal profile."
          ],
          "enum": [
            "PLAY_STORE_MODE_UNSPECIFIED",
            "BLACKLIST",
            "BLOCKLIST",
            "ALLOWLIST"
          ]
        },
        "screenCaptureDisabled": {
          "type": "boolean",
          "description": "Whether screen capture is disabled."
        },
        "personalApplications": {
          "items": {
            "$ref": "PersonalApplicationPolicy"
          },
          "type": "array",
          "description": "Policy applied to applications in the personal profile."
        },
        "cameraDisabled": {
          "description": "Whether camera is disabled.",
          "type": "boolean"
        }
      }
    },
    "DeviceSettings": {
      "type": "object",
      "properties": {
        "unknownSourcesEnabled": {
          "type": "boolean",
          "description": "Whether installing apps from unknown sources is enabled."
        },
        "developmentSettingsEnabled": {
          "description": "Whether developer mode is enabled on the device.",
          "type": "boolean"
        },
        "adbEnabled": {
          "type": "boolean",
          "description": "Whether ADB (https://developer.android.com/studio/command-line/adb.html) is enabled on the device."
        },
        "encryptionStatus": {
          "enum": [
            "ENCRYPTION_STATUS_UNSPECIFIED",
            "UNSUPPORTED",
            "INACTIVE",
            "ACTIVATING",
            "ACTIVE",
            "ACTIVE_DEFAULT_KEY",
            "ACTIVE_PER_USER"
          ],
          "description": "Encryption status from DevicePolicyManager.",
          "type": "string",
          "enumDescriptions": [
            "Unspecified. No device should have this type.",
            "Encryption is not supported by the device.",
            "Encryption is supported by the device, but is not currently active.",
            "Encryption is not currently active, but is currently being activated.",
            "Encryption is active.",
            "Encryption is active, but an encryption key is not set by the user.",
            "Encryption is active, and the encryption key is tied to the user profile."
          ]
        },
        "isEncrypted": {
          "description": "Whether the storage encryption is enabled.",
          "type": "boolean"
        },
        "isDeviceSecure": {
          "type": "boolean",
          "description": "Whether the device is secured with PIN/password."
        },
        "verifyAppsEnabled": {
          "type": "boolean",
          "description": "Whether Verify Apps (Google Play Protect (https://support.google.com/googleplay/answer/2812853)) is enabled on the device."
        }
      },
      "description": "Information about security related device settings on device.",
      "id": "DeviceSettings"
    },
    "UserFacingMessage": {
      "properties": {
        "localizedMessages": {
          "type": "object",
          "description": "A map containing pairs, where locale is a well-formed BCP 47 language (https://www.w3.org/International/articles/language-tags/) code, such as en-US, es-ES, or fr.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "defaultMessage": {
          "type": "string",
          "description": "The default message displayed if no localized message is specified or the user's locale doesn't match with any of the localized messages. A default message must be provided if any localized messages are provided."
        }
      },
      "description": "Provides a user-facing message with locale info. The maximum message length is 4096 characters.",
      "type": "object",
      "id": "UserFacingMessage"
    },
    "SigninDetail": {
      "type": "object",
      "description": "A resource containing sign in details for an enterprise.",
      "id": "SigninDetail",
      "properties": {
        "qrCode": {
          "type": "string",
          "description": "A JSON string whose UTF-8 representation can be used to generate a QR code to enroll a device with this enrollment token. To enroll a device using NFC, the NFC record must contain a serialized java.util.Properties representation of the properties in the JSON. This is a read-only field generated by the server."
        },
        "signinUrl": {
          "description": "Sign-in URL for authentication when device is provisioned with a sign-in enrollment token. The sign-in endpoint should finish authentication flow with a URL in the form of https://enterprise.google.com/android/enroll?et= for a successful login, or https://enterprise.google.com/android/enroll/invalid for a failed login.",
          "type": "string"
        },
        "signinEnrollmentToken": {
          "type": "string",
          "description": "An enterprise wide enrollment token used to trigger custom sign-in flow. This is a read-only field generated by the server."
        },
        "allowPersonalUsage": {
          "enumDescriptions": [
            "Personal usage restriction is not specified",
            "Personal usage is allowed",
            "Personal usage is disallowed"
          ],
          "description": "Controls whether personal usage is allowed on a device provisioned with this enrollment token.For company-owned devices: Enabling personal usage allows the user to set up a work profile on the device. Disabling personal usage requires the user provision the device as a fully managed device.For personally-owned devices: Enabling personal usage allows the user to set up a work profile on the device. Disabling personal usage will prevent the device from provisioning. Personal usage cannot be disabled on personally-owned device.",
          "enum": [
            "ALLOW_PERSONAL_USAGE_UNSPECIFIED",
            "PERSONAL_USAGE_ALLOWED",
            "PERSONAL_USAGE_DISALLOWED"
          ],
          "type": "string"
        }
      }
    },
    "SetupAction": {
      "properties": {
        "description": {
          "description": "Description of this action.",
          "$ref": "UserFacingMessage"
        },
        "title": {
          "description": "Title of this action.",
          "$ref": "UserFacingMessage"
        },
        "launchApp": {
          "$ref": "LaunchAppAction",
          "description": "An action to launch an app."
        }
      },
      "id": "SetupAction",
      "type": "object",
      "description": "An action executed during setup."
    },
    "AdvancedSecurityOverrides": {
      "type": "object",
      "properties": {
        "commonCriteriaMode": {
          "enum": [
            "COMMON_CRITERIA_MODE_UNSPECIFIED",
            "COMMON_CRITERIA_MODE_DISABLED",
            "COMMON_CRITERIA_MODE_ENABLED"
          ],
          "enumDescriptions": [
            "Unspecified. Defaults to COMMON_CRITERIA_MODE_DISABLED.",
            "Default. Disables Common Criteria Mode.",
            "Enables Common Criteria Mode."
          ],
          "type": "string",
          "description": "Controls Common Criteria Mode—security standards defined in the Common Criteria for Information Technology Security Evaluation (https://www.commoncriteriaportal.org/) (CC). Enabling Common Criteria Mode increases certain security components on a device, including AES-GCM encryption of Bluetooth Long Term Keys, and Wi-Fi configuration stores.Warning: Common Criteria Mode enforces a strict security model typically only required for IT products used in national security systems and other highly sensitive organizations. Standard device use may be affected. Only enabled if required."
        },
        "untrustedAppsPolicy": {
          "description": "The policy for untrusted apps (apps from unknown sources) enforced on the device. Replaces install_unknown_sources_allowed (deprecated).",
          "type": "string",
          "enumDescriptions": [
            "Unspecified. Defaults to DISALLOW_INSTALL.",
            "Default. Disallow untrusted app installs on entire device.",
            "For devices with work profiles, allow untrusted app installs in the device's personal profile only.",
            "Allow untrusted app installs on entire device."
          ],
          "enum": [
            "UNTRUSTED_APPS_POLICY_UNSPECIFIED",
            "DISALLOW_INSTALL",
            "ALLOW_INSTALL_IN_PERSONAL_PROFILE_ONLY",
            "ALLOW_INSTALL_DEVICE_WIDE"
          ]
        }
      },
      "id": "AdvancedSecurityOverrides",
      "description": "Security policies set to the most secure values by default. To maintain the security posture of a device, we don't recommend overriding any of the default values."
    },
    "SecurityPosture": {
      "description": "The security posture of the device, as determined by the current device state and the policies applied.",
      "type": "object",
      "id": "SecurityPosture",
      "properties": {
        "devicePosture": {
          "type": "string",
          "enum": [
            "POSTURE_UNSPECIFIED",
            "SECURE",
            "AT_RISK",
            "POTENTIALLY_COMPROMISED"
          ],
          "description": "Device's security posture value.",
          "enumDescriptions": [
            "Unspecified. There is no posture detail for this posture value.",
            "This device is secure.",
            "This device may be more vulnerable to malicious actors than is recommended for use with corporate data.",
            "This device may be compromised and corporate data may be accessible to unauthorized actors."
          ]
        },
        "postureDetails": {
          "items": {
            "$ref": "PostureDetail"
          },
          "description": "Additional details regarding the security posture of the device.",
          "type": "array"
        }
      }
    },
    "ManagedConfigurationTemplate": {
      "type": "object",
      "description": "The managed configurations template for the app, saved from the managed configurations iframe.",
      "properties": {
        "configurationVariables": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional, a map containing configuration variables defined for the configuration.",
          "type": "object"
        },
        "templateId": {
          "type": "string",
          "description": "The ID of the managed configurations template."
        }
      },
      "id": "ManagedConfigurationTemplate"
    },
    "PersistentPreferredActivity": {
      "description": "A default activity for handling intents that match a particular intent filter. Note: To set up a kiosk, use InstallType to KIOSK rather than use persistent preferred activities.",
      "type": "object",
      "id": "PersistentPreferredActivity",
      "properties": {
        "receiverActivity": {
          "type": "string",
          "description": "The activity that should be the default intent handler. This should be an Android component name, e.g. com.android.enterprise.app/.MainActivity. Alternatively, the value may be the package name of an app, which causes Android Device Policy to choose an appropriate activity from the app to handle the intent."
        },
        "actions": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The intent actions to match in the filter. If any actions are included in the filter, then an intent's action must be one of those values for it to match. If no actions are included, the intent action is ignored."
        },
        "categories": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The intent categories to match in the filter. An intent includes the categories that it requires, all of which must be included in the filter in order to match. In other words, adding a category to the filter has no impact on matching unless that category is specified in the intent."
        }
      }
    },
    "LaunchAppAction": {
      "id": "LaunchAppAction",
      "properties": {
        "packageName": {
          "type": "string",
          "description": "Package name of app to be launched"
        }
      },
      "description": "An action to launch an app.",
      "type": "object"
    },
    "ListDevicesResponse": {
      "id": "ListDevicesResponse",
      "description": "Response to a request to list devices for a given enterprise.",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "If there are more results, a token to retrieve next page of results."
        },
        "devices": {
          "type": "array",
          "items": {
            "$ref": "Device"
          },
          "description": "The list of devices."
        }
      },
      "type": "object"
    },
    "PolicyEnforcementRule": {
      "description": "A rule that defines the actions to take if a device or work profile is not compliant with the policy specified in settingName.",
      "properties": {
        "wipeAction": {
          "$ref": "WipeAction",
          "description": "An action to reset a fully managed device or delete a work profile. Note: blockAction must also be specified."
        },
        "blockAction": {
          "$ref": "BlockAction",
          "description": "An action to block access to apps and data on a fully managed device or in a work profile. This action also triggers a user-facing notification with information (where possible) on how to correct the compliance issue. Note: wipeAction must also be specified."
        },
        "settingName": {
          "description": "The top-level policy to enforce. For example, applications or passwordPolicies.",
          "type": "string"
        }
      },
      "id": "PolicyEnforcementRule",
      "type": "object"
    },
    "NonComplianceDetail": {
      "id": "NonComplianceDetail",
      "type": "object",
      "properties": {
        "settingName": {
          "description": "The name of the policy setting. This is the JSON field name of a top-level Policy field.",
          "type": "string"
        },
        "installationFailureReason": {
          "description": "If package_name is set and the non-compliance reason is APP_NOT_INSTALLED or APP_NOT_UPDATED, the detailed reason the app can't be installed or updated.",
          "enumDescriptions": [
            "This value is disallowed.",
            "An unknown condition is preventing the app from being installed. Some potential reasons are that the device doesn't have enough storage, the device network connection is unreliable, or the installation is taking longer than expected. The installation will be retried automatically.",
            "The installation is still in progress.",
            "The app was not found in Play.",
            "The app is incompatible with the device.",
            "The app has not been approved by the admin.",
            "The app has new permissions that have not been accepted by the admin.",
            "The app is not available in the user's country.",
            "There are no licenses available to assign to the user.",
            "The enterprise is no longer enrolled with Managed Google Play or the admin has not accepted the latest Managed Google Play Terms of Service.",
            "The user is no longer valid. The user may have been deleted or disabled."
          ],
          "type": "string",
          "enum": [
            "INSTALLATION_FAILURE_REASON_UNSPECIFIED",
            "INSTALLATION_FAILURE_REASON_UNKNOWN",
            "IN_PROGRESS",
            "NOT_FOUND",
            "NOT_COMPATIBLE_WITH_DEVICE",
            "NOT_APPROVED",
            "PERMISSIONS_NOT_ACCEPTED",
            "NOT_AVAILABLE_IN_COUNTRY",
            "NO_LICENSES_REMAINING",
            "NOT_ENROLLED",
            "USER_INVALID"
          ]
        },
        "currentValue": {
          "description": "If the policy setting could not be applied, the current value of the setting on the device.",
          "type": "any"
        },
        "packageName": {
          "type": "string",
          "description": "The package name indicating which app is out of compliance, if applicable."
        },
        "fieldPath": {
          "description": "For settings with nested fields, if a particular nested field is out of compliance, this specifies the full path to the offending field. The path is formatted in the same way the policy JSON field would be referenced in JavaScript, that is: 1) For object-typed fields, the field name is followed by a dot then by a subfield name. 2) For array-typed fields, the field name is followed by the array index enclosed in brackets. For example, to indicate a problem with the url field in the externalData field in the 3rd application, the path would be applications[2].externalData.url",
          "type": "string"
        },
        "nonComplianceReason": {
          "type": "string",
          "enum": [
            "NON_COMPLIANCE_REASON_UNSPECIFIED",
            "API_LEVEL",
            "MANAGEMENT_MODE",
            "USER_ACTION",
            "INVALID_VALUE",
            "APP_NOT_INSTALLED",
            "UNSUPPORTED",
            "APP_INSTALLED",
            "PENDING",
            "APP_INCOMPATIBLE",
            "APP_NOT_UPDATED"
          ],
          "description": "The reason the device is not in compliance with the setting.",
          "enumDescriptions": [
            "This value is disallowed.",
            "The setting is not supported in the API level of the Android version running on the device.",
            "The management mode (profile owner, device owner, etc.) doesn't support the setting.",
            "The user has not taken required action to comply with the setting.",
            "The setting has an invalid value.",
            "The app required to implement the policy is not installed.",
            "The policy is not supported by the version of Android Device Policy on the device.",
            "A blocked app is installed.",
            "The setting hasn't been applied at the time of the report, but is expected to be applied shortly.",
            "The setting can't be applied to the app because the app doesn't support it, for example because its target SDK version is not high enough.",
            "The app is installed, but it hasn't been updated to the minimum version code specified by policy."
          ]
        }
      },
      "description": "Provides detail about non-compliance with a policy setting."
    },
    "SoftwareInfo": {
      "description": "Information about device software.",
      "properties": {
        "androidVersion": {
          "description": "The user-visible Android version string. For example, 6.0.1.",
          "type": "string"
        },
        "bootloaderVersion": {
          "description": "The system bootloader version number, e.g. 0.6.7.",
          "type": "string"
        },
        "primaryLanguageCode": {
          "description": "An IETF BCP 47 language code for the primary locale on the device.",
          "type": "string"
        },
        "systemUpdateInfo": {
          "description": "Information about a potential pending system update.",
          "$ref": "SystemUpdateInfo"
        },
        "deviceBuildSignature": {
          "type": "string",
          "description": "SHA-256 hash of android.content.pm.Signature (https://developer.android.com/reference/android/content/pm/Signature.html) associated with the system package, which can be used to verify that the system build hasn't been modified."
        },
        "androidBuildTime": {
          "description": "Build time.",
          "format": "google-datetime",
          "type": "string"
        },
        "androidDevicePolicyVersionCode": {
          "description": "The Android Device Policy app version code.",
          "type": "integer",
          "format": "int32"
        },
        "deviceKernelVersion": {
          "description": "Kernel version, for example, 2.6.32.9-g103d848.",
          "type": "string"
        },
        "securityPatchLevel": {
          "type": "string",
          "description": "Security patch level, e.g. 2016-05-01."
        },
        "androidBuildNumber": {
          "description": "Android build ID string meant for displaying to the user. For example, shamu-userdebug 6.0.1 MOB30I 2756745 dev-keys.",
          "type": "string"
        },
        "androidDevicePolicyVersionName": {
          "description": "The Android Device Policy app version as displayed to the user.",
          "type": "string"
        }
      },
      "id": "SoftwareInfo",
      "type": "object"
    },
    "WebApp": {
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the web app, which is generated by the server during creation in the form enterprises/{enterpriseId}/webApps/{packageName}."
        },
        "startUrl": {
          "description": "The start URL, i.e. the URL that should load when the user opens the application.",
          "type": "string"
        },
        "icons": {
          "description": "A list of icons for the web app. Must have at least one element.",
          "items": {
            "$ref": "WebAppIcon"
          },
          "type": "array"
        },
        "versionCode": {
          "type": "string",
          "description": "The current version of the app.Note that the version can automatically increase during the lifetime of the web app, while Google does internal housekeeping to keep the web app up-to-date.",
          "format": "int64"
        },
        "displayMode": {
          "enum": [
            "DISPLAY_MODE_UNSPECIFIED",
            "MINIMAL_UI",
            "STANDALONE",
            "FULL_SCREEN"
          ],
          "description": "The display mode of the web app.",
          "enumDescriptions": [
            "Not used.",
            "Opens the web app with a minimal set of browser UI elements for controlling navigation and viewing the page URL.",
            "Opens the web app to look and feel like a standalone native application. The browser UI elements and page URL are not visible, however the system status bar and back button are visible.",
            "Opens the web app in full screen without any visible controls. The browser UI elements, page URL, system status bar and back button are not visible, and the web app takes up the entirety of the available display area."
          ],
          "type": "string"
        },
        "title": {
          "description": "The title of the web app as displayed to the user (e.g., amongst a list of other applications, or as a label for an icon).",
          "type": "string"
        }
      },
      "id": "WebApp",
      "type": "object",
      "description": "A web app."
    },
    "Command": {
      "type": "object",
      "id": "Command",
      "properties": {
        "resetPasswordFlags": {
          "description": "For commands of type RESET_PASSWORD, optionally specifies flags.",
          "type": "array",
          "items": {
            "enumDescriptions": [
              "This value is ignored.",
              "Don't allow other admins to change the password again until the user has entered it.",
              "Don't ask for user credentials on device boot.",
              "Lock the device after password reset."
            ],
            "type": "string",
            "enum": [
              "RESET_PASSWORD_FLAG_UNSPECIFIED",
              "REQUIRE_ENTRY",
              "DO_NOT_ASK_CREDENTIALS_ON_BOOT",
              "LOCK_NOW"
            ]
          }
        },
        "duration": {
          "type": "string",
          "format": "google-duration",
          "description": "The duration for which the command is valid. The command will expire if not executed by the device during this time. The default duration if unspecified is ten minutes. There is no maximum duration."
        },
        "type": {
          "enum": [
            "COMMAND_TYPE_UNSPECIFIED",
            "LOCK",
            "RESET_PASSWORD",
            "REBOOT",
            "RELINQUISH_OWNERSHIP"
          ],
          "enumDescriptions": [
            "This value is disallowed.",
            "Lock the device, as if the lock screen timeout had expired.",
            "Reset the user's password.",
            "Reboot the device. Only supported on fully managed devices running Android 7.0 (API level 24) or higher.",
            "Removes the work profile and all policies from a company-owned Android 8.0+ device, relinquishing the device for personal use. Apps and data associated with the personal profile(s) are preserved. The device will be deleted from the server after it acknowledges the command."
          ],
          "type": "string",
          "description": "The type of the command."
        },
        "newPassword": {
          "description": "For commands of type RESET_PASSWORD, optionally specifies the new password.",
          "type": "string"
        },
        "userName": {
          "description": "The resource name of the user that owns the device in the form enterprises/{enterpriseId}/users/{userId}. This is automatically generated by the server based on the device the command is sent to.",
          "type": "string"
        },
        "createTime": {
          "type": "string",
          "description": "The timestamp at which the command was created. The timestamp is automatically generated by the server.",
          "format": "google-datetime"
        },
        "errorCode": {
          "description": "If the command failed, an error code explaining the failure. This is not set when the command is cancelled by the caller.",
          "type": "string",
          "enum": [
            "COMMAND_ERROR_CODE_UNSPECIFIED",
            "UNKNOWN",
            "API_LEVEL",
            "MANAGEMENT_MODE",
            "INVALID_VALUE",
            "UNSUPPORTED"
          ],
          "enumDescriptions": [
            "There was no error.",
            "An unknown error occurred.",
            "The API level of the device does not support this command.",
            "The management mode (profile owner, device owner, etc.) does not support the command.",
            "The command has an invalid parameter value.",
            "The device doesn't support the command. Updating Android Device Policy to the latest version may resolve the issue."
          ]
        }
      },
      "description": "A command."
    },
    "Empty": {
      "id": "Empty",
      "properties": {},
      "type": "object",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for Empty is empty JSON object {}."
    },
    "PostureDetail": {
      "properties": {
        "advice": {
          "items": {
            "$ref": "UserFacingMessage"
          },
          "description": "Corresponding admin-facing advice to mitigate this security risk and improve the security posture of the device.",
          "type": "array"
        },
        "securityRisk": {
          "enumDescriptions": [
            "Unspecified.",
            "SafetyNet detects that the device is running an unknown OS (basicIntegrity check succeeds but ctsProfileMatch fails).",
            "SafetyNet detects that the device is running a compromised OS (basicIntegrity check fails)."
          ],
          "enum": [
            "SECURITY_RISK_UNSPECIFIED",
            "UNKNOWN_OS",
            "COMPROMISED_OS"
          ],
          "type": "string",
          "description": "A specific security risk that negatively affects the security posture of the device."
        }
      },
      "id": "PostureDetail",
      "description": "Additional details regarding the security posture of the device.",
      "type": "object"
    },
    "User": {
      "description": "A user belonging to an enterprise.",
      "id": "User",
      "type": "object",
      "properties": {
        "accountIdentifier": {
          "type": "string",
          "description": "A unique identifier you create for this user, such as user342 or asset#44418. This field must be set when the user is created and can't be updated. This field must not contain personally identifiable information (PII). This identifier must be 1024 characters or less; otherwise, the update policy request will fail."
        }
      }
    },
    "AlwaysOnVpnPackage": {
      "type": "object",
      "description": "Configuration for an always-on VPN connection.",
      "properties": {
        "lockdownEnabled": {
          "type": "boolean",
          "description": "Disallows networking when the VPN is not connected."
        },
        "packageName": {
          "description": "The package name of the VPN app.",
          "type": "string"
        }
      },
      "id": "AlwaysOnVpnPackage"
    },
    "StatusReportingSettings": {
      "description": "Settings controlling the behavior of status reports.",
      "id": "StatusReportingSettings",
      "properties": {
        "softwareInfoEnabled": {
          "type": "boolean",
          "description": "Whether software info reporting is enabled."
        },
        "applicationReportsEnabled": {
          "type": "boolean",
          "description": "Whether app reports are enabled."
        },
        "powerManagementEventsEnabled": {
          "type": "boolean",
          "description": "Whether power management event reporting is enabled. Report data is not available for personally owned devices with work profiles."
        },
        "applicationReportingSettings": {
          "$ref": "ApplicationReportingSettings",
          "description": "Application reporting settings. Only applicable if application_reports_enabled is true."
        },
        "commonCriteriaModeEnabled": {
          "type": "boolean",
          "description": "Whether Common Criteria Mode reporting is enabled."
        },
        "networkInfoEnabled": {
          "description": "Whether network info reporting is enabled.",
          "type": "boolean"
        },
        "memoryInfoEnabled": {
          "description": "Whether memory reporting is enabled.",
          "type": "boolean"
        },
        "displayInfoEnabled": {
          "description": "Whether displays reporting is enabled. Report data is not available for personally owned devices with work profiles.",
          "type": "boolean"
        },
        "deviceSettingsEnabled": {
          "type": "boolean",
          "description": "Whether device settings reporting is enabled."
        },
        "hardwareStatusEnabled": {
          "type": "boolean",
          "description": "Whether hardware status reporting is enabled. Report data is not available for personally owned devices with work profiles."
        },
        "systemPropertiesEnabled": {
          "type": "boolean",
          "description": "Whether system properties reporting is enabled."
        }
      },
      "type": "object"
    },
    "ApiLevelCondition": {
      "description": "A compliance rule condition which is satisfied if the Android Framework API level on the device doesn't meet a minimum requirement. There can only be one rule with this type of condition per policy.",
      "id": "ApiLevelCondition",
      "properties": {
        "minApiLevel": {
          "description": "The minimum desired Android Framework API level. If the device doesn't meet the minimum requirement, this condition is satisfied. Must be greater than zero.",
          "type": "integer",
          "format": "int32"
        }
      },
      "type": "object"
    },
    "ListPoliciesResponse": {
      "description": "Response to a request to list policies for a given enterprise.",
      "properties": {
        "policies": {
          "type": "array",
          "description": "The list of policies.",
          "items": {
            "$ref": "Policy"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "If there are more results, a token to retrieve next page of results."
        }
      },
      "type": "object",
      "id": "ListPoliciesResponse"
    },
    "NonComplianceDetailCondition": {
      "id": "NonComplianceDetailCondition",
      "description": "A compliance rule condition which is satisfied if there exists any matching NonComplianceDetail for the device. A NonComplianceDetail matches a NonComplianceDetailCondition if all the fields which are set within the NonComplianceDetailCondition match the corresponding NonComplianceDetail fields.",
      "properties": {
        "nonComplianceReason": {
          "enum": [
            "NON_COMPLIANCE_REASON_UNSPECIFIED",
            "API_LEVEL",
            "MANAGEMENT_MODE",
            "USER_ACTION",
            "INVALID_VALUE",
            "APP_NOT_INSTALLED",
            "UNSUPPORTED",
            "APP_INSTALLED",
            "PENDING",
            "APP_INCOMPATIBLE",
            "APP_NOT_UPDATED"
          ],
          "type": "string",
          "description": "The reason the device is not in compliance with the setting. If not set, then this condition matches any reason.",
          "enumDescriptions": [
            "This value is disallowed.",
            "The setting is not supported in the API level of the Android version running on the device.",
            "The management mode (profile owner, device owner, etc.) doesn't support the setting.",
            "The user has not taken required action to comply with the setting.",
            "The setting has an invalid value.",
            "The app required to implement the policy is not installed.",
            "The policy is not supported by the version of Android Device Policy on the device.",
            "A blocked app is installed.",
            "The setting hasn't been applied at the time of the report, but is expected to be applied shortly.",
            "The setting can't be applied to the app because the app doesn't support it, for example because its target SDK version is not high enough.",
            "The app is installed, but it hasn't been updated to the minimum version code specified by policy."
          ]
        },
        "settingName": {
          "type": "string",
          "description": "The name of the policy setting. This is the JSON field name of a top-level Policy field. If not set, then this condition matches any setting name."
        },
        "packageName": {
          "description": "The package name of the app that's out of compliance. If not set, then this condition matches any package name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProxyInfo": {
      "type": "object",
      "description": "Configuration info for an HTTP proxy. For a direct proxy, set the host, port, and excluded_hosts fields. For a PAC script proxy, set the pac_uri field.",
      "properties": {
        "pacUri": {
          "type": "string",
          "description": "The URI of the PAC script used to configure the proxy."
        },
        "port": {
          "description": "The port of the direct proxy.",
          "type": "integer",
          "format": "int32"
        },
        "host": {
          "description": "The host of the direct proxy.",
          "type": "string"
        },
        "excludedHosts": {
          "type": "array",
          "description": "For a direct proxy, the hosts for which the proxy is bypassed. The host names may contain wildcards such as *.example.com.",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "ProxyInfo"
    },
    "Application": {
      "type": "object",
      "id": "Application",
      "description": "Information about an app.",
      "properties": {
        "name": {
          "description": "The name of the app in the form enterprises/{enterpriseId}/applications/{package_name}.",
          "type": "string"
        },
        "permissions": {
          "items": {
            "$ref": "ApplicationPermission"
          },
          "description": "The permissions required by the app.",
          "type": "array"
        },
        "managedProperties": {
          "type": "array",
          "description": "The set of managed properties available to be pre-configured for the app.",
          "items": {
            "$ref": "ManagedProperty"
          }
        },
        "title": {
          "type": "string",
          "description": "The title of the app. Localized."
        },
        "appTracks": {
          "type": "array",
          "items": {
            "$ref": "AppTrackInfo"
          },
          "description": "Application tracks visible to the enterprise."
        }
      }
    },
    "Enterprise": {
      "type": "object",
      "id": "Enterprise",
      "description": "The configuration applied to an enterprise.",
      "properties": {
        "pubsubTopic": {
          "type": "string",
          "description": "The topic that Cloud Pub/Sub notifications are published to, in the form projects/{project}/topics/{topic}. This field is only required if Pub/Sub notifications are enabled."
        },
        "name": {
          "type": "string",
          "description": "The name of the enterprise which is generated by the server during creation, in the form enterprises/{enterpriseId}."
        },
        "logo": {
          "description": "An image displayed as a logo during device provisioning. Supported types are: image/bmp, image/gif, image/x-ico, image/jpeg, image/png, image/webp, image/vnd.wap.wbmp, image/x-adobe-dng.",
          "$ref": "ExternalData"
        },
        "termsAndConditions": {
          "type": "array",
          "description": "Terms and conditions that must be accepted when provisioning a device for this enterprise. A page of terms is generated for each value in this list.",
          "items": {
            "$ref": "TermsAndConditions"
          }
        },
        "primaryColor": {
          "description": "A color in RGB format that indicates the predominant color to display in the device management app UI. The color components are stored as follows: (red \u003c\u003c 16) | (green \u003c\u003c 8) | blue, where the value of each component is between 0 and 255, inclusive.",
          "type": "integer",
          "format": "int32"
        },
        "appAutoApprovalEnabled": {
          "description": "Deprecated and unused.",
          "type": "boolean"
        },
        "signinDetails": {
          "description": "Sign-in details of the enterprise.",
          "type": "array",
          "items": {
            "$ref": "SigninDetail"
          }
        },
        "enabledNotificationTypes": {
          "description": "The types of Google Pub/Sub notifications enabled for the enterprise.",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "NOTIFICATION_TYPE_UNSPECIFIED",
              "ENROLLMENT",
              "COMPLIANCE_REPORT",
              "STATUS_REPORT",
              "COMMAND"
            ],
            "enumDescriptions": [
              "This value is ignored.",
              "A notification sent when a device enrolls.",
              "Deprecated.",
              "A notification sent when a device issues a status report.",
              "A notification sent when a device command has completed."
            ]
          }
        },
        "enterpriseDisplayName": {
          "type": "string",
          "description": "The name of the enterprise displayed to users."
        }
      }
    },
    "ManagedProperty": {
      "type": "object",
      "description": "Managed property.",
      "id": "ManagedProperty",
      "properties": {
        "key": {
          "type": "string",
          "description": "The unique key that the app uses to identify the property, e.g. \"com.google.android.gm.fieldname\"."
        },
        "nestedProperties": {
          "items": {
            "$ref": "ManagedProperty"
          },
          "description": "For BUNDLE_ARRAY properties, the list of nested properties. A BUNDLE_ARRAY property is at most two levels deep.",
          "type": "array"
        },
        "title": {
          "type": "string",
          "description": "The name of the property. Localized."
        },
        "entries": {
          "items": {
            "$ref": "ManagedPropertyEntry"
          },
          "type": "array",
          "description": "For CHOICE or MULTISELECT properties, the list of possible entries."
        },
        "defaultValue": {
          "description": "The default value of the property. BUNDLE_ARRAY properties don't have a default value.",
          "type": "any"
        },
        "type": {
          "enum": [
            "MANAGED_PROPERTY_TYPE_UNSPECIFIED",
            "BOOL",
            "STRING",
            "INTEGER",
            "CHOICE",
            "MULTISELECT",
            "HIDDEN",
            "BUNDLE",
            "BUNDLE_ARRAY"
          ],
          "description": "The type of the property.",
          "enumDescriptions": [
            "Not used.",
            "A property of boolean type.",
            "A property of string type.",
            "A property of integer type.",
            "A choice of one item from a set.",
            "A choice of multiple items from a set.",
            "A hidden restriction of string type (the default value can be used to pass along information that can't be modified, such as a version code).",
            "A bundle of properties",
            "An array of property bundles."
          ],
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the property, providing more detail of what it affects. Localized."
        }
      }
    },
    "FreezePeriod": {
      "properties": {
        "endDate": {
          "description": "The end date (inclusive) of the freeze period. Must be no later than 90 days from the start date. If the end date is earlier than the start date, the freeze period is considered wrapping year-end. Note: year must not be set. For example, {\"month\": 1,\"date\": 30}.",
          "$ref": "Date"
        },
        "startDate": {
          "description": "The start date (inclusive) of the freeze period. Note: year must not be set. For example, {\"month\": 1,\"date\": 30}.",
          "$ref": "Date"
        }
      },
      "type": "object",
      "id": "FreezePeriod",
      "description": "A system freeze period. When a device’s clock is within the freeze period, all incoming system updates (including security patches) are blocked and won’t be installed. When a device is outside the freeze period, normal update behavior applies. Leap years are ignored in freeze period calculations, in particular: * If Feb. 29th is set as the start or end date of a freeze period, the freeze period will start or end on Feb. 28th instead. * When a device’s system clock reads Feb. 29th, it’s treated as Feb. 28th. * When calculating the number of days in a freeze period or the time between two freeze periods, Feb. 29th is ignored and not counted as a day."
    },
    "Date": {
      "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: A full date, with non-zero year, month, and day values A month and day value, with a zero year, such as an anniversary A year on its own, with zero month and day values A year and month value, with a zero day, such as a credit card expiration dateRelated types are google.type.TimeOfDay and google.protobuf.Timestamp.",
      "type": "object",
      "id": "Date",
      "properties": {
        "month": {
          "type": "integer",
          "format": "int32",
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day."
        },
        "year": {
          "format": "int32",
          "type": "integer",
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year."
        },
        "day": {
          "format": "int32",
          "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
          "type": "integer"
        }
      }
    },
    "Display": {
      "description": "Device display information.",
      "id": "Display",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the display."
        },
        "height": {
          "description": "Display height in pixels.",
          "format": "int32",
          "type": "integer"
        },
        "displayId": {
          "description": "Unique display id.",
          "type": "integer",
          "format": "int32"
        },
        "density": {
          "type": "integer",
          "description": "Display density expressed as dots-per-inch.",
          "format": "int32"
        },
        "width": {
          "type": "integer",
          "description": "Display width in pixels.",
          "format": "int32"
        },
        "refreshRate": {
          "type": "integer",
          "description": "Refresh rate of the display in frames per second.",
          "format": "int32"
        },
        "state": {
          "enumDescriptions": [
            "This value is disallowed.",
            "Display is off.",
            "Display is on.",
            "Display is dozing in a low power state",
            "Display is dozing in a suspended low power state."
          ],
          "type": "string",
          "description": "State of the display.",
          "enum": [
            "DISPLAY_STATE_UNSPECIFIED",
            "OFF",
            "ON",
            "DOZE",
            "SUSPENDED"
          ]
        }
      }
    }
  },
  "id": "androidmanagement:v1",
  "baseUrl": "https://androidmanagement.googleapis.com/",
  "documentationLink": "https://developers.google.com/android/management",
  "ownerName": "Google",
  "version_module": true,
  "servicePath": "",
  "rootUrl": "https://androidmanagement.googleapis.com/",
  "mtlsRootUrl": "https://androidmanagement.mtls.googleapis.com/",
  "canonicalName": "Android Management",
  "discoveryVersion": "v1",
  "title": "Android Management API",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  }
}
