{
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "rootUrl": "https://chromepolicy.googleapis.com/",
  "mtlsRootUrl": "https://chromepolicy.mtls.googleapis.com/",
  "protocol": "rest",
  "fullyEncodeReservedExpansion": true,
  "documentationLink": "http://developers.google.com/chrome/policy",
  "title": "Chrome Policy API",
  "version_module": true,
  "canonicalName": "Chrome Policy",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/chrome.management.policy.readonly": {
          "description": "See policies applied to ChromeOS and Chrome Browsers managed within your organization"
        },
        "https://www.googleapis.com/auth/chrome.management.policy": {
          "description": "See, edit, create or delete policies applied to ChromeOS and Chrome Browsers managed within your organization"
        }
      }
    }
  },
  "basePath": "",
  "version": "v1",
  "batchPath": "batch",
  "description": "The Chrome Policy API is a suite of services that allows Chrome administrators to control the policies applied to their managed Chrome OS devices and Chrome browsers.",
  "discoveryVersion": "v1",
  "ownerDomain": "google.com",
  "name": "chromepolicy",
  "revision": "20260305",
  "kind": "discovery#restDescription",
  "ownerName": "Google",
  "id": "chromepolicy:v1",
  "resources": {
    "media": {
      "methods": {
        "upload": {
          "request": {
            "$ref": "GoogleChromePolicyVersionsV1UploadPolicyFileRequest"
          },
          "supportsMediaUpload": true,
          "flatPath": "v1/customers/{customersId}/policies/files:uploadPolicyFile",
          "id": "chromepolicy.media.upload",
          "path": "v1/{+customer}/policies/files:uploadPolicyFile",
          "httpMethod": "POST",
          "parameters": {
            "customer": {
              "location": "path",
              "description": "Required. The customer for which the file upload will apply.",
              "pattern": "^customers/[^/]+$",
              "type": "string",
              "required": true
            }
          },
          "response": {
            "$ref": "GoogleChromePolicyVersionsV1UploadPolicyFileResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/chrome.management.policy"
          ],
          "mediaUpload": {
            "protocols": {
              "simple": {
                "multipart": true,
                "path": "/upload/v1/{+customer}/policies/files:uploadPolicyFile"
              }
            },
            "accept": [
              "*/*"
            ]
          },
          "parameterOrder": [
            "customer"
          ],
          "description": "Creates an enterprise file from the content provided by user. Returns a public download url for end user."
        }
      }
    },
    "customers": {
      "resources": {
        "policies": {
          "methods": {
            "resolve": {
              "parameterOrder": [
                "customer"
              ],
              "description": "Gets the resolved policy values for a list of policies that match a search query.",
              "parameters": {
                "customer": {
                  "description": "ID of the G Suite account or literal \"my_customer\" for the customer associated to the request.",
                  "pattern": "^customers/[^/]+$",
                  "type": "string",
                  "location": "path",
                  "required": true
                }
              },
              "response": {
                "$ref": "GoogleChromePolicyVersionsV1ResolveResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/chrome.management.policy",
                "https://www.googleapis.com/auth/chrome.management.policy.readonly"
              ],
              "httpMethod": "POST",
              "id": "chromepolicy.customers.policies.resolve",
              "path": "v1/{+customer}/policies:resolve",
              "flatPath": "v1/customers/{customersId}/policies:resolve",
              "request": {
                "$ref": "GoogleChromePolicyVersionsV1ResolveRequest"
              }
            }
          },
          "resources": {
            "networks": {
              "methods": {
                "defineCertificate": {
                  "flatPath": "v1/customers/{customersId}/policies/networks:defineCertificate",
                  "request": {
                    "$ref": "GoogleChromePolicyVersionsV1DefineCertificateRequest"
                  },
                  "parameterOrder": [
                    "customer"
                  ],
                  "description": "Creates a certificate at a specified OU for a customer.",
                  "parameters": {
                    "customer": {
                      "required": true,
                      "location": "path",
                      "description": "Required. The customer for which the certificate will apply.",
                      "pattern": "^customers/[^/]+$",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleChromePolicyVersionsV1DefineCertificateResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/chrome.management.policy"
                  ],
                  "httpMethod": "POST",
                  "id": "chromepolicy.customers.policies.networks.defineCertificate",
                  "path": "v1/{+customer}/policies/networks:defineCertificate"
                },
                "removeCertificate": {
                  "flatPath": "v1/customers/{customersId}/policies/networks:removeCertificate",
                  "request": {
                    "$ref": "GoogleChromePolicyVersionsV1RemoveCertificateRequest"
                  },
                  "parameters": {
                    "customer": {
                      "location": "path",
                      "description": "Required. The customer whose certificate will be removed.",
                      "pattern": "^customers/[^/]+$",
                      "type": "string",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "GoogleChromePolicyVersionsV1RemoveCertificateResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/chrome.management.policy"
                  ],
                  "parameterOrder": [
                    "customer"
                  ],
                  "description": "Remove an existing certificate by guid.",
                  "id": "chromepolicy.customers.policies.networks.removeCertificate",
                  "path": "v1/{+customer}/policies/networks:removeCertificate",
                  "httpMethod": "POST"
                },
                "removeNetwork": {
                  "parameters": {
                    "customer": {
                      "required": true,
                      "description": "Required. The customer whose network will be removed.",
                      "pattern": "^customers/[^/]+$",
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "GoogleChromePolicyVersionsV1RemoveNetworkResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/chrome.management.policy"
                  ],
                  "parameterOrder": [
                    "customer"
                  ],
                  "description": "Remove an existing network by guid.",
                  "path": "v1/{+customer}/policies/networks:removeNetwork",
                  "id": "chromepolicy.customers.policies.networks.removeNetwork",
                  "httpMethod": "POST",
                  "flatPath": "v1/customers/{customersId}/policies/networks:removeNetwork",
                  "request": {
                    "$ref": "GoogleChromePolicyVersionsV1RemoveNetworkRequest"
                  }
                },
                "defineNetwork": {
                  "parameters": {
                    "customer": {
                      "description": "Required. The customer who will own this new network.",
                      "pattern": "^customers/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "GoogleChromePolicyVersionsV1DefineNetworkResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/chrome.management.policy"
                  ],
                  "parameterOrder": [
                    "customer"
                  ],
                  "description": "Define a new network.",
                  "id": "chromepolicy.customers.policies.networks.defineNetwork",
                  "path": "v1/{+customer}/policies/networks:defineNetwork",
                  "httpMethod": "POST",
                  "flatPath": "v1/customers/{customersId}/policies/networks:defineNetwork",
                  "request": {
                    "$ref": "GoogleChromePolicyVersionsV1DefineNetworkRequest"
                  }
                }
              }
            },
            "orgunits": {
              "methods": {
                "batchModify": {
                  "parameters": {
                    "customer": {
                      "description": "ID of the G Suite account or literal \"my_customer\" for the customer associated to the request.",
                      "pattern": "^customers/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/chrome.management.policy"
                  ],
                  "parameterOrder": [
                    "customer"
                  ],
                  "description": "Modify multiple policy values that are applied to a specific org unit. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.",
                  "path": "v1/{+customer}/policies/orgunits:batchModify",
                  "id": "chromepolicy.customers.policies.orgunits.batchModify",
                  "httpMethod": "POST",
                  "flatPath": "v1/customers/{customersId}/policies/orgunits:batchModify",
                  "request": {
                    "$ref": "GoogleChromePolicyVersionsV1BatchModifyOrgUnitPoliciesRequest"
                  }
                },
                "batchInherit": {
                  "flatPath": "v1/customers/{customersId}/policies/orgunits:batchInherit",
                  "request": {
                    "$ref": "GoogleChromePolicyVersionsV1BatchInheritOrgUnitPoliciesRequest"
                  },
                  "parameters": {
                    "customer": {
                      "required": true,
                      "location": "path",
                      "description": "ID of the G Suite account or literal \"my_customer\" for the customer associated to the request.",
                      "pattern": "^customers/[^/]+$",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/chrome.management.policy"
                  ],
                  "parameterOrder": [
                    "customer"
                  ],
                  "description": "Modify multiple policy values that are applied to a specific org unit so that they now inherit the value from a parent (if applicable). All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.",
                  "id": "chromepolicy.customers.policies.orgunits.batchInherit",
                  "path": "v1/{+customer}/policies/orgunits:batchInherit",
                  "httpMethod": "POST"
                }
              }
            },
            "groups": {
              "methods": {
                "listGroupPriorityOrdering": {
                  "request": {
                    "$ref": "GoogleChromePolicyVersionsV1ListGroupPriorityOrderingRequest"
                  },
                  "flatPath": "v1/customers/{customersId}/policies/groups:listGroupPriorityOrdering",
                  "httpMethod": "POST",
                  "path": "v1/{+customer}/policies/groups:listGroupPriorityOrdering",
                  "id": "chromepolicy.customers.policies.groups.listGroupPriorityOrdering",
                  "parameterOrder": [
                    "customer"
                  ],
                  "description": "Retrieve a group priority ordering for an app. The target app must be supplied in `additionalTargetKeyNames` in the PolicyTargetKey. On failure the request will return the error details as part of the google.rpc.Status.",
                  "parameters": {
                    "customer": {
                      "required": true,
                      "description": "Required. ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.",
                      "pattern": "^customers/[^/]+$",
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "GoogleChromePolicyVersionsV1ListGroupPriorityOrderingResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/chrome.management.policy",
                    "https://www.googleapis.com/auth/chrome.management.policy.readonly"
                  ]
                },
                "batchModify": {
                  "flatPath": "v1/customers/{customersId}/policies/groups:batchModify",
                  "request": {
                    "$ref": "GoogleChromePolicyVersionsV1BatchModifyGroupPoliciesRequest"
                  },
                  "parameterOrder": [
                    "customer"
                  ],
                  "description": "Modify multiple policy values that are applied to a specific group. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.",
                  "parameters": {
                    "customer": {
                      "location": "path",
                      "description": "ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.",
                      "pattern": "^customers/[^/]+$",
                      "type": "string",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/chrome.management.policy"
                  ],
                  "httpMethod": "POST",
                  "id": "chromepolicy.customers.policies.groups.batchModify",
                  "path": "v1/{+customer}/policies/groups:batchModify"
                },
                "batchDelete": {
                  "path": "v1/{+customer}/policies/groups:batchDelete",
                  "id": "chromepolicy.customers.policies.groups.batchDelete",
                  "httpMethod": "POST",
                  "parameters": {
                    "customer": {
                      "required": true,
                      "location": "path",
                      "description": "ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.",
                      "pattern": "^customers/[^/]+$",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/chrome.management.policy"
                  ],
                  "parameterOrder": [
                    "customer"
                  ],
                  "description": "Delete multiple policy values that are applied to a specific group. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.",
                  "request": {
                    "$ref": "GoogleChromePolicyVersionsV1BatchDeleteGroupPoliciesRequest"
                  },
                  "flatPath": "v1/customers/{customersId}/policies/groups:batchDelete"
                },
                "updateGroupPriorityOrdering": {
                  "parameters": {
                    "customer": {
                      "required": true,
                      "description": "Required. ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.",
                      "pattern": "^customers/[^/]+$",
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/chrome.management.policy"
                  ],
                  "parameterOrder": [
                    "customer"
                  ],
                  "description": "Update a group priority ordering for an app. The target app must be supplied in `additionalTargetKeyNames` in the PolicyTargetKey. On failure the request will return the error details as part of the google.rpc.Status.",
                  "path": "v1/{+customer}/policies/groups:updateGroupPriorityOrdering",
                  "id": "chromepolicy.customers.policies.groups.updateGroupPriorityOrdering",
                  "httpMethod": "POST",
                  "flatPath": "v1/customers/{customersId}/policies/groups:updateGroupPriorityOrdering",
                  "request": {
                    "$ref": "GoogleChromePolicyVersionsV1UpdateGroupPriorityOrderingRequest"
                  }
                }
              }
            }
          }
        },
        "policySchemas": {
          "methods": {
            "get": {
              "flatPath": "v1/customers/{customersId}/policySchemas/{policySchemasId}",
              "id": "chromepolicy.customers.policySchemas.get",
              "path": "v1/{+name}",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "required": true,
                  "location": "path",
                  "description": "Required. The policy schema resource name to query.",
                  "pattern": "^customers/[^/]+/policySchemas/.*$",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "GoogleChromePolicyVersionsV1PolicySchema"
              },
              "scopes": [
                "https://www.googleapis.com/auth/chrome.management.policy",
                "https://www.googleapis.com/auth/chrome.management.policy.readonly"
              ],
              "parameterOrder": [
                "name"
              ],
              "description": "Get a specific policy schema for a customer by its resource name."
            },
            "list": {
              "flatPath": "v1/customers/{customersId}/policySchemas",
              "parameterOrder": [
                "parent"
              ],
              "description": "Gets a list of policy schemas that match a specified filter value for a given customer.",
              "parameters": {
                "pageToken": {
                  "description": "The page token used to retrieve a specific page of the listing request.",
                  "type": "string",
                  "location": "query"
                },
                "parent": {
                  "description": "Required. The customer for which the listing request will apply.",
                  "pattern": "^customers/[^/]+$",
                  "type": "string",
                  "location": "path",
                  "required": true
                },
                "filter": {
                  "location": "query",
                  "description": "The schema filter used to find a particular schema based on fields like its resource name, description and `additionalTargetKeyNames`.",
                  "type": "string"
                },
                "pageSize": {
                  "description": "The maximum number of policy schemas to return, defaults to 100 and has a maximum of 1000.",
                  "type": "integer",
                  "format": "int32",
                  "location": "query"
                }
              },
              "response": {
                "$ref": "GoogleChromePolicyVersionsV1ListPolicySchemasResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/chrome.management.policy",
                "https://www.googleapis.com/auth/chrome.management.policy.readonly"
              ],
              "httpMethod": "GET",
              "id": "chromepolicy.customers.policySchemas.list",
              "path": "v1/{+parent}/policySchemas"
            }
          }
        }
      }
    }
  },
  "baseUrl": "https://chromepolicy.googleapis.com/",
  "servicePath": "",
  "parameters": {
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "uploadType": {
      "location": "query",
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "alt": {
      "type": "string",
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "default": "json",
      "location": "query"
    },
    "key": {
      "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.",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ],
      "location": "query"
    },
    "quotaUser": {
      "location": "query",
      "type": "string",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters."
    }
  },
  "schemas": {
    "GoogleChromePolicyVersionsV1BatchModifyGroupPoliciesRequest": {
      "id": "GoogleChromePolicyVersionsV1BatchModifyGroupPoliciesRequest",
      "description": "Request message for modifying multiple policy values for a specific group-based target.",
      "type": "object",
      "properties": {
        "requests": {
          "description": "List of policies to modify as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to a group resource. 3. All `policyTargetKey` values must have the same `app_id` key name in the `additionalTargetKeys`. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair. ",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1ModifyGroupPolicyRequest"
          }
        }
      }
    },
    "GoogleChromePolicyVersionsV1ResolveResponse": {
      "id": "GoogleChromePolicyVersionsV1ResolveResponse",
      "description": "Response message for getting the resolved policy value for a specific target.",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "The page token used to get the next set of resolved policies found by the request.",
          "type": "string"
        },
        "resolvedPolicies": {
          "description": "The list of resolved policies found by the resolve request.",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1ResolvedPolicy"
          }
        }
      }
    },
    "GoogleChromePolicyVersionsV1AdditionalTargetKeyName": {
      "id": "GoogleChromePolicyVersionsV1AdditionalTargetKeyName",
      "description": "Additional key names that will be used to identify the target of the policy value.",
      "type": "object",
      "properties": {
        "keyDescription": {
          "description": "Key description.",
          "type": "string"
        },
        "key": {
          "description": "Key name.",
          "type": "string"
        }
      }
    },
    "GoogleChromePolicyVersionsV1PolicyTargetKey": {
      "description": "The key used to identify the target on which the policy will be applied.",
      "type": "object",
      "properties": {
        "targetResource": {
          "description": "The target resource on which this policy is applied. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\") * Group (\"groups/{group_id}\")",
          "type": "string"
        },
        "additionalTargetKeys": {
          "description": "Map containing the additional target key name and value pairs used to further identify the target of the policy.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "id": "GoogleChromePolicyVersionsV1PolicyTargetKey"
    },
    "GoogleChromePolicyVersionsV1PolicyValue": {
      "id": "GoogleChromePolicyVersionsV1PolicyValue",
      "description": "A particular value for a policy managed by the service.",
      "type": "object",
      "properties": {
        "policySchema": {
          "description": "The fully qualified name of the policy schema associated with this policy.",
          "type": "string"
        },
        "value": {
          "description": "The value of the policy that is compatible with the schema that it is associated with.",
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        }
      }
    },
    "GoogleChromePolicyVersionsV1DefineCertificateResponse": {
      "description": "Response object for creating a certificate.",
      "type": "object",
      "properties": {
        "targetResource": {
          "description": "the resource at which the certificate is defined.",
          "type": "string"
        },
        "settings": {
          "description": "the affiliated settings of the certificate (NOT IMPLEMENTED)",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1NetworkSetting"
          }
        },
        "networkId": {
          "description": "The guid of the certificate created by the action.",
          "type": "string"
        }
      },
      "id": "GoogleChromePolicyVersionsV1DefineCertificateResponse"
    },
    "GoogleChromePolicyVersionsV1PolicySchemaNoticeDescription": {
      "description": "Provides special notice messages related to a particular value in a field that is part of a PolicySchema.",
      "type": "object",
      "properties": {
        "noticeValue": {
          "readOnly": true,
          "description": "Output only. The value of the field that has a notice. When setting the field to this value, the user may be required to acknowledge the notice message in order for the value to be set.",
          "type": "string"
        },
        "noticeMessage": {
          "description": "Output only. The notice message associate with the value of the field.",
          "type": "string",
          "readOnly": true
        },
        "field": {
          "description": "Output only. The field name associated with the notice.",
          "type": "string",
          "readOnly": true
        },
        "acknowledgementRequired": {
          "readOnly": true,
          "description": "Output only. Whether the user needs to acknowledge the notice message before the value can be set.",
          "type": "boolean"
        }
      },
      "id": "GoogleChromePolicyVersionsV1PolicySchemaNoticeDescription"
    },
    "GoogleChromePolicyVersionsV1DefineNetworkRequest": {
      "id": "GoogleChromePolicyVersionsV1DefineNetworkRequest",
      "description": "Request object for creating a new network.",
      "type": "object",
      "properties": {
        "targetResource": {
          "description": "Required. The target resource on which this new network will be defined. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\")",
          "type": "string"
        },
        "settings": {
          "description": "Required. Detailed network settings.",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1NetworkSetting"
          }
        },
        "name": {
          "description": "Required. Name of the new created network.",
          "type": "string"
        }
      }
    },
    "GoogleChromePolicyVersionsV1ResolvedPolicy": {
      "description": "The resolved value of a policy for a given target.",
      "type": "object",
      "properties": {
        "targetKey": {
          "description": "Output only. The target resource for which the resolved policy value applies.",
          "readOnly": true,
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey"
        },
        "addedSourceKey": {
          "description": "Output only. The added source key establishes at which level an entity was explicitly added for management. This is useful for certain type of policies that are only applied if they are explicitly added for management. For example: apps and networks. An entity can only be deleted from management in an Organizational Unit that it was explicitly added to. If this is not present it means that the policy is managed without the need to explicitly add an entity, for example: standard user or device policies.",
          "readOnly": true,
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey"
        },
        "sourceKey": {
          "readOnly": true,
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey",
          "description": "Output only. The source resource from which this policy value is obtained. May be the same as `targetKey` if the policy is directly modified on the target, otherwise it would be another resource from which the policy gets its value (if applicable). If not present, the source is the default value for the customer."
        },
        "value": {
          "description": "Output only. The resolved value of the policy.",
          "readOnly": true,
          "$ref": "GoogleChromePolicyVersionsV1PolicyValue"
        }
      },
      "id": "GoogleChromePolicyVersionsV1ResolvedPolicy"
    },
    "GoogleChromePolicyVersionsV1ListGroupPriorityOrderingRequest": {
      "id": "GoogleChromePolicyVersionsV1ListGroupPriorityOrderingRequest",
      "description": "Request message for listing the group priority ordering of an app.",
      "type": "object",
      "properties": {
        "policyNamespace": {
          "description": "The namespace of the policy type for the request.",
          "type": "string"
        },
        "policyTargetKey": {
          "description": "Required. The key of the target for which we want to retrieve the group priority ordering. The target resource must point to an app.",
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey"
        },
        "policySchema": {
          "description": "The schema name of the policy for the request.",
          "type": "string"
        }
      }
    },
    "GoogleChromePolicyVersionsV1FieldConstraints": {
      "description": "Information about any range constraints.",
      "type": "object",
      "properties": {
        "numericRangeConstraint": {
          "description": "The allowed range for numeric fields.",
          "$ref": "GoogleChromePolicyVersionsV1NumericRangeConstraint"
        },
        "uploadedFileConstraints": {
          "description": "Constraints on the uploaded file of a file policy. If present, this policy requires a URL that can be fetched by uploading a file with the constraints specified in this proto.",
          "$ref": "GoogleChromePolicyVersionsV1UploadedFileConstraints"
        }
      },
      "id": "GoogleChromePolicyVersionsV1FieldConstraints"
    },
    "GoogleChromePolicyVersionsV1PolicySchemaFieldDependencies": {
      "description": "The field and the value it must have for another field to be allowed to be set.",
      "type": "object",
      "properties": {
        "sourceField": {
          "description": "The source field which this field depends on.",
          "type": "string"
        },
        "sourceFieldValue": {
          "description": "The value which the source field must have for this field to be allowed to be set.",
          "type": "string"
        }
      },
      "id": "GoogleChromePolicyVersionsV1PolicySchemaFieldDependencies"
    },
    "GoogleChromePolicyVersionsV1BatchModifyOrgUnitPoliciesRequest": {
      "id": "GoogleChromePolicyVersionsV1BatchModifyOrgUnitPoliciesRequest",
      "description": "Request message for modifying multiple policy values for a specific target.",
      "type": "object",
      "properties": {
        "requests": {
          "description": "List of policies to modify as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to an org unit resource. 3. All `policyTargetKey` values must have the same key names in the ` additionalTargetKeys`. This also means if one of the targets has an empty `additionalTargetKeys` map, all of the targets must have an empty `additionalTargetKeys` map. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair. ",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1ModifyOrgUnitPolicyRequest"
          }
        }
      }
    },
    "GoogleChromePolicyVersionsV1ListGroupPriorityOrderingResponse": {
      "id": "GoogleChromePolicyVersionsV1ListGroupPriorityOrderingResponse",
      "description": "Response message for listing the group priority ordering of an app.",
      "type": "object",
      "properties": {
        "policyNamespace": {
          "description": "Output only. The namespace of the policy type of the group IDs.",
          "type": "string",
          "readOnly": true
        },
        "policyTargetKey": {
          "readOnly": true,
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey",
          "description": "Output only. The target resource for which the group priority ordering has been retrieved."
        },
        "policySchema": {
          "description": "Output only. The schema name of the policy for the group IDs.",
          "type": "string",
          "readOnly": true
        },
        "groupIds": {
          "items": {
            "type": "string"
          },
          "readOnly": true,
          "description": "Output only. The group IDs, in priority ordering.",
          "type": "array"
        }
      }
    },
    "GoogleChromePolicyVersionsV1DeleteGroupPolicyRequest": {
      "description": "Request parameters for deleting the policy value of a specific group target.",
      "type": "object",
      "properties": {
        "policyTargetKey": {
          "description": "Required. The key of the target for which we want to modify a policy. The target resource must point to a Group.",
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey"
        },
        "policySchema": {
          "description": "The fully qualified name of the policy schema that is being inherited.",
          "type": "string"
        }
      },
      "id": "GoogleChromePolicyVersionsV1DeleteGroupPolicyRequest"
    },
    "GoogleChromePolicyVersionsV1PolicyApiLifecycle": {
      "id": "GoogleChromePolicyVersionsV1PolicyApiLifecycle",
      "description": "Lifecycle information.",
      "type": "object",
      "properties": {
        "endSupport": {
          "description": "End supporting date for current policy. Attempting to modify a policy after its end support date will result in a Bad Request (400 error). Could only be set if policy_api_lifecycle_stage is API_DEPRECATED.",
          "$ref": "GoogleTypeDate"
        },
        "policyApiLifecycleStage": {
          "description": "Indicates current life cycle stage of the policy API.",
          "type": "string",
          "enumDescriptions": [
            "Policy Api Lifecycle is Unspecified.",
            "Policy is not working yet, but giving developers heads up on format. This stage can transfer to API_DEVELOPEMNT or API_CURRENT.",
            "Policy can change format in backward incompatible way (breaking change). This stage can transfer to API_CURRENT or API_DEPRECATED. This could be used for policies launched only to TTs or launched to selected customers for emergency usage.",
            "Policy in official format. Policy can change format in backward compatible way (non-breaking change). Example: this policy can introduce a new field, which is considered non-breaking change, when field masks are properly utilized. This stage can transfer to API_DEPRECATED.",
            "Please stop using this policy. This policy is deprecated and may/will be removed in the future. Most likely a new policy was introduced to replace this one."
          ],
          "enum": [
            "API_UNSPECIFIED",
            "API_PREVIEW",
            "API_DEVELOPMENT",
            "API_CURRENT",
            "API_DEPRECATED"
          ]
        },
        "scheduledToDeprecatePolicies": {
          "items": {
            "type": "string"
          },
          "description": "Corresponding to deprecated_in_favor_of, the fully qualified namespace(s) of the old policies that will be deprecated because of introduction of this policy.",
          "type": "array"
        },
        "deprecatedInFavorOf": {
          "description": "In the event that this policy was deprecated in favor of another policy, the fully qualified namespace(s) of the new policies as they will show in PolicyAPI. Could only be set if policy_api_lifecycle_stage is API_DEPRECATED.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "description": "Description about current life cycle.",
          "type": "string"
        }
      }
    },
    "GoogleChromePolicyVersionsV1UploadPolicyFileRequest": {
      "description": "Request message for uploading a file for a policy.",
      "type": "object",
      "properties": {
        "policyField": {
          "description": "Required. The fully qualified policy schema and field name this file is uploaded for. This information will be used to validate the content type of the file.",
          "type": "string"
        }
      },
      "id": "GoogleChromePolicyVersionsV1UploadPolicyFileRequest"
    },
    "Proto2EnumDescriptorProto": {
      "description": "Describes an enum type.",
      "type": "object",
      "properties": {
        "value": {
          "type": "array",
          "items": {
            "$ref": "Proto2EnumValueDescriptorProto"
          }
        },
        "name": {
          "type": "string"
        },
        "visibility": {
          "description": "Support for `export` and `local` keywords on enums.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "enum": [
            "VISIBILITY_UNSET",
            "VISIBILITY_LOCAL",
            "VISIBILITY_EXPORT"
          ]
        }
      },
      "id": "Proto2EnumDescriptorProto"
    },
    "GoogleChromePolicyVersionsV1RemoveNetworkResponse": {
      "description": "Response object for removing a network.",
      "type": "object",
      "properties": {},
      "id": "GoogleChromePolicyVersionsV1RemoveNetworkResponse"
    },
    "GoogleChromePolicyVersionsV1RemoveCertificateRequest": {
      "id": "GoogleChromePolicyVersionsV1RemoveCertificateRequest",
      "description": "Request object for removing a certificate.",
      "type": "object",
      "properties": {
        "targetResource": {
          "description": "Required. The target resource on which this certificate will be removed. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\")",
          "type": "string"
        },
        "networkId": {
          "description": "Required. The GUID of the certificate to remove.",
          "type": "string"
        }
      }
    },
    "GoogleChromePolicyVersionsV1PolicySchemaFieldDescription": {
      "id": "GoogleChromePolicyVersionsV1PolicySchemaFieldDescription",
      "description": "Provides detailed information for a particular field that is part of a PolicySchema.",
      "type": "object",
      "properties": {
        "field": {
          "description": "Output only. The name of the field for associated with this description.",
          "type": "string",
          "readOnly": true
        },
        "knownValueDescriptions": {
          "readOnly": true,
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1PolicySchemaFieldKnownValueDescription"
          },
          "description": "Output only. If the field has a set of known values, this field will provide a description for these values.",
          "type": "array"
        },
        "fieldDependencies": {
          "description": "Output only. Provides a list of fields and values. At least one of the fields must have the corresponding value in order for this field to be allowed to be set.",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1PolicySchemaFieldDependencies"
          },
          "readOnly": true
        },
        "name": {
          "readOnly": true,
          "description": "Output only. The name of the field.",
          "type": "string"
        },
        "fieldConstraints": {
          "readOnly": true,
          "$ref": "GoogleChromePolicyVersionsV1FieldConstraints",
          "description": "Output only. Information on any input constraints associated on the values for the field."
        },
        "defaultValue": {
          "description": "Output only. Client default if the policy is unset.",
          "type": "any",
          "readOnly": true
        },
        "description": {
          "description": "Deprecated. Use name and field_description instead. The description for the field.",
          "deprecated": true,
          "type": "string"
        },
        "fieldDescription": {
          "readOnly": true,
          "description": "Output only. The description of the field.",
          "type": "string"
        },
        "nestedFieldDescriptions": {
          "description": "Output only. Provides the description of the fields nested in this field, if the field is a message type that defines multiple fields. Fields are suggested to be displayed by the ordering in this list, not by field number.",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1PolicySchemaFieldDescription"
          },
          "readOnly": true
        },
        "inputConstraint": {
          "description": "Output only. Any input constraints associated on the values for the field.",
          "type": "string",
          "readOnly": true
        },
        "requiredItems": {
          "description": "Output only. Provides a list of fields that are required to be set if this field has a certain value.",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1PolicySchemaRequiredItems"
          },
          "readOnly": true
        }
      }
    },
    "GoogleChromePolicyVersionsV1UploadedFileConstraints": {
      "description": "Constraints on the uploaded file of a file policy.",
      "type": "object",
      "properties": {
        "supportedContentTypes": {
          "items": {
            "enum": [
              "CONTENT_TYPE_UNSPECIFIED",
              "CONTENT_TYPE_PLAIN_TEXT",
              "CONTENT_TYPE_HTML",
              "CONTENT_TYPE_IMAGE_JPEG",
              "CONTENT_TYPE_IMAGE_GIF",
              "CONTENT_TYPE_IMAGE_PNG",
              "CONTENT_TYPE_JSON",
              "CONTENT_TYPE_ZIP",
              "CONTENT_TYPE_GZIP",
              "CONTENT_TYPE_CSV",
              "CONTENT_TYPE_YAML",
              "CONTENT_TYPE_IMAGE_WEBP"
            ],
            "type": "string",
            "enumDescriptions": [
              "Unspecified content type.",
              "Plain text.",
              "HTML.",
              "JPEG.",
              "GIF.",
              "PNG.",
              "JSON.",
              "ZIP.",
              "GZIP.",
              "CSV.",
              "YAML.",
              "WEBP."
            ]
          },
          "description": "File types that can be uploaded for a setting.",
          "type": "array"
        },
        "sizeLimitBytes": {
          "description": "The size limit of uploaded files for a setting, in bytes.",
          "type": "string",
          "format": "int64"
        }
      },
      "id": "GoogleChromePolicyVersionsV1UploadedFileConstraints"
    },
    "GoogleChromePolicyVersionsV1PolicyModificationErrorDetails": {
      "id": "GoogleChromePolicyVersionsV1PolicyModificationErrorDetails",
      "description": "Details of the errors encountered during a policy modification request. This message will be returned as part of the details of a google.rpc.Status returned to the user when there is an error in their request.",
      "type": "object",
      "properties": {
        "modificationErrors": {
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1PolicyModificationError"
          },
          "readOnly": true,
          "description": "Output only. List of specific policy modifications errors that may have occurred during a modifying request.",
          "type": "array"
        }
      }
    },
    "Proto2DescriptorProto": {
      "id": "Proto2DescriptorProto",
      "description": "Describes a message type.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "visibility": {
          "enum": [
            "VISIBILITY_UNSET",
            "VISIBILITY_LOCAL",
            "VISIBILITY_EXPORT"
          ],
          "description": "Support for `export` and `local` keywords on enums.",
          "type": "string",
          "enumDescriptions": [
            "",
            "",
            ""
          ]
        },
        "enumType": {
          "type": "array",
          "items": {
            "$ref": "Proto2EnumDescriptorProto"
          }
        },
        "nestedType": {
          "items": {
            "$ref": "Proto2DescriptorProto"
          },
          "type": "array"
        },
        "field": {
          "items": {
            "$ref": "Proto2FieldDescriptorProto"
          },
          "type": "array"
        },
        "oneofDecl": {
          "type": "array",
          "items": {
            "$ref": "Proto2OneofDescriptorProto"
          }
        }
      }
    },
    "Proto2FieldDescriptorProto": {
      "description": "Describes a field within a message.",
      "type": "object",
      "properties": {
        "label": {
          "type": "string",
          "enumDescriptions": [
            "0 is reserved for errors",
            "",
            "The required label is only allowed in proto2. In proto3 and Editions it's explicitly prohibited. In Editions, the `field_presence` feature can be used to get this behavior."
          ],
          "enum": [
            "LABEL_OPTIONAL",
            "LABEL_REPEATED",
            "LABEL_REQUIRED"
          ]
        },
        "defaultValue": {
          "description": "For numeric types, contains the original text representation of the value. For booleans, \"true\" or \"false\". For strings, contains the default text contents (not escaped in any way). For bytes, contains the C escaped value. All bytes \u003e= 128 are escaped.",
          "type": "string"
        },
        "number": {
          "type": "integer",
          "format": "int32"
        },
        "jsonName": {
          "description": "JSON name of this field. The value is set by protocol compiler. If the user has set a \"json_name\" option on this field, that option's value will be used. Otherwise, it's deduced from the field's name by converting it to camelCase.",
          "type": "string"
        },
        "proto3Optional": {
          "description": "If true, this is a proto3 \"optional\". When a proto3 field is optional, it tracks presence regardless of field type. When proto3_optional is true, this field must belong to a oneof to signal to old proto3 clients that presence is tracked for this field. This oneof is known as a \"synthetic\" oneof, and this field must be its sole member (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs exist in the descriptor only, and do not generate any API. Synthetic oneofs must be ordered after all \"real\" oneofs. For message fields, proto3_optional doesn't create any semantic change, since non-repeated message fields always track presence. However it still indicates the semantic detail of whether the user wrote \"optional\" or not. This can be useful for round-tripping the .proto file. For consistency we give message fields a synthetic oneof also, even though it is not required to track presence. This is especially important because the parser can't tell if a field is a message or an enum, so it must always create a synthetic oneof. Proto2 optional fields do not set this flag, because they already indicate optional with `LABEL_OPTIONAL`.",
          "type": "boolean"
        },
        "type": {
          "description": "If type_name is set, this need not be set. If both this and type_name are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.",
          "type": "string",
          "enumDescriptions": [
            "0 is reserved for errors. Order is weird for historical reasons.",
            "",
            "Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if negative values are likely.",
            "",
            "Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if negative values are likely.",
            "",
            "",
            "",
            "",
            "Tag-delimited aggregate. Group type is deprecated and not supported after proto2. However, Proto3 implementations should still be able to parse the group wire format and treat group fields as unknown fields. In Editions, the group wire format can be enabled via the `message_encoding` feature.",
            "Length-delimited aggregate.",
            "New in version 2.",
            "",
            "",
            "",
            "",
            "Uses ZigZag encoding.",
            "Uses ZigZag encoding."
          ],
          "enum": [
            "TYPE_DOUBLE",
            "TYPE_FLOAT",
            "TYPE_INT64",
            "TYPE_UINT64",
            "TYPE_INT32",
            "TYPE_FIXED64",
            "TYPE_FIXED32",
            "TYPE_BOOL",
            "TYPE_STRING",
            "TYPE_GROUP",
            "TYPE_MESSAGE",
            "TYPE_BYTES",
            "TYPE_UINT32",
            "TYPE_ENUM",
            "TYPE_SFIXED32",
            "TYPE_SFIXED64",
            "TYPE_SINT32",
            "TYPE_SINT64"
          ]
        },
        "typeName": {
          "description": "For message and enum types, this is the name of the type. If the name starts with a '.', it is fully-qualified. Otherwise, C++-like scoping rules are used to find the type (i.e. first the nested types within this message are searched, then within the parent, on up to the root namespace).",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "oneofIndex": {
          "description": "If set, gives the index of a oneof in the containing type's oneof_decl list. This field is a member of that oneof.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "Proto2FieldDescriptorProto"
    },
    "GoogleChromePolicyVersionsV1ModifyOrgUnitPolicyRequest": {
      "id": "GoogleChromePolicyVersionsV1ModifyOrgUnitPolicyRequest",
      "description": "Request parameters for modifying a policy value for a specific org unit target.",
      "type": "object",
      "properties": {
        "updateMask": {
          "description": "Required. Policy fields to update. Only fields in this mask will be updated; other fields in `policy_value` will be ignored (even if they have values). If a field is in this list it must have a value in 'policy_value'.",
          "type": "string",
          "format": "google-fieldmask"
        },
        "policyTargetKey": {
          "description": "Required. The key of the target for which we want to modify a policy. The target resource must point to an Org Unit.",
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey"
        },
        "policyValue": {
          "description": "The new value for the policy.",
          "$ref": "GoogleChromePolicyVersionsV1PolicyValue"
        }
      }
    },
    "GoogleChromePolicyVersionsV1BatchDeleteGroupPoliciesRequest": {
      "description": "Request message for specifying that multiple policy values will be deleted.",
      "type": "object",
      "properties": {
        "requests": {
          "description": "List of policies that will be deleted as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to a group resource. 3. All `policyTargetKey` values must have the same `app_id` key name in the `additionalTargetKeys`. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair. ",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1DeleteGroupPolicyRequest"
          }
        }
      },
      "id": "GoogleChromePolicyVersionsV1BatchDeleteGroupPoliciesRequest"
    },
    "GoogleTypeDate": {
      "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, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
      "type": "object",
      "properties": {
        "month": {
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
          "type": "integer",
          "format": "int32"
        },
        "day": {
          "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",
          "format": "int32"
        },
        "year": {
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
          "type": "integer",
          "format": "int32"
        }
      },
      "id": "GoogleTypeDate"
    },
    "GoogleChromePolicyVersionsV1DefineNetworkResponse": {
      "description": "Response object for creating a network.",
      "type": "object",
      "properties": {
        "targetResource": {
          "description": "The target resource on which this new network will be defined. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\")",
          "type": "string"
        },
        "settings": {
          "description": "Detailed network settings of the new created network",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1NetworkSetting"
          }
        },
        "networkId": {
          "description": "Network ID of the new created network.",
          "type": "string"
        }
      },
      "id": "GoogleChromePolicyVersionsV1DefineNetworkResponse"
    },
    "GoogleChromePolicyVersionsV1InheritOrgUnitPolicyRequest": {
      "id": "GoogleChromePolicyVersionsV1InheritOrgUnitPolicyRequest",
      "description": "Request parameters for inheriting policy value of a specific org unit target from the policy value of its parent org unit.",
      "type": "object",
      "properties": {
        "policyTargetKey": {
          "description": "Required. The key of the target for which we want to modify a policy. The target resource must point to an Org Unit.",
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey"
        },
        "policySchema": {
          "description": "The fully qualified name of the policy schema that is being inherited.",
          "type": "string"
        }
      }
    },
    "GoogleChromePolicyVersionsV1CertificateReference": {
      "description": "Error information for removing of a specific certificate on a specific target. A reference to a certificate.",
      "type": "object",
      "properties": {
        "orgUnitId": {
          "description": "Output only. The obfuscated id of the org unit the referencing network is in.",
          "type": "string",
          "readOnly": true
        },
        "network": {
          "readOnly": true,
          "description": "Output only. The name of the referencing network.",
          "type": "string"
        }
      },
      "id": "GoogleChromePolicyVersionsV1CertificateReference"
    },
    "GoogleChromePolicyVersionsV1NumericRangeConstraint": {
      "description": "A constraint on upper and/or lower bounds, with at least one being set.",
      "type": "object",
      "properties": {
        "minimum": {
          "description": "Minimum value.",
          "type": "string",
          "format": "int64"
        },
        "maximum": {
          "description": "Maximum value.",
          "type": "string",
          "format": "int64"
        }
      },
      "id": "GoogleChromePolicyVersionsV1NumericRangeConstraint"
    },
    "Proto2FileDescriptorProto": {
      "id": "Proto2FileDescriptorProto",
      "description": "Describes a complete .proto file.",
      "type": "object",
      "properties": {
        "optionDependency": {
          "items": {
            "type": "string"
          },
          "description": "Names of files imported by this file purely for the purpose of providing option extensions. These are excluded from the dependency list above.",
          "type": "array"
        },
        "messageType": {
          "items": {
            "$ref": "Proto2DescriptorProto"
          },
          "description": "All top-level definitions in this file.",
          "type": "array"
        },
        "editionDeprecated": {
          "description": "copybara:strip_begin TODO(b/297898292) Deprecate and remove this field in favor of enums. copybara:strip_end",
          "deprecated": true,
          "type": "string"
        },
        "package": {
          "description": "e.g. \"foo\", \"foo.bar\", etc.",
          "type": "string"
        },
        "syntax": {
          "description": "The syntax of the proto file. The supported values are \"proto2\", \"proto3\", and \"editions\". If `edition` is present, this value must be \"editions\". WARNING: This field should only be used by protobuf plugins or special cases like the proto compiler. Other uses are discouraged and developers should rely on the protoreflect APIs for their client language.",
          "type": "string"
        },
        "enumType": {
          "items": {
            "$ref": "Proto2EnumDescriptorProto"
          },
          "type": "array"
        },
        "name": {
          "description": "file name, relative to root of source tree",
          "type": "string"
        }
      }
    },
    "GoogleChromePolicyVersionsV1RemoveCertificateErrorDetails": {
      "id": "GoogleChromePolicyVersionsV1RemoveCertificateErrorDetails",
      "description": "Details of the errors encountered during a remove certificate request. This message will be returned as part of the details of a google.rpc.Status returned to the user when there is an error in their request.",
      "type": "object",
      "properties": {
        "certificateReferences": {
          "description": "Output only. If the certificate was not removed, a list of references to the certificate that prevented it from being removed. Only unreferenced certificates can be removed.",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1CertificateReference"
          },
          "readOnly": true
        }
      }
    },
    "GoogleChromePolicyVersionsV1UpdateGroupPriorityOrderingRequest": {
      "id": "GoogleChromePolicyVersionsV1UpdateGroupPriorityOrderingRequest",
      "description": "Request message for updating the group priority ordering of an app.",
      "type": "object",
      "properties": {
        "policyNamespace": {
          "description": "The namespace of the policy type for the request.",
          "type": "string"
        },
        "policySchema": {
          "description": "The schema name of the policy for the request.",
          "type": "string"
        },
        "groupIds": {
          "items": {
            "type": "string"
          },
          "description": "Required. The group IDs, in desired priority ordering.",
          "type": "array"
        },
        "policyTargetKey": {
          "description": "Required. The key of the target for which we want to update the group priority ordering. The target resource must point to an app.",
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey"
        }
      }
    },
    "GoogleChromePolicyVersionsV1PolicyModificationError": {
      "id": "GoogleChromePolicyVersionsV1PolicyModificationError",
      "description": "Error information for a modification request of a specific policy on a specific target.",
      "type": "object",
      "properties": {
        "errors": {
          "readOnly": true,
          "items": {
            "type": "string"
          },
          "description": "Output only. The non-field errors related to the modification.",
          "type": "array"
        },
        "fieldErrors": {
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1PolicyModificationFieldError"
          },
          "readOnly": true,
          "description": "Output only. The error messages related to the modification.",
          "type": "array"
        },
        "policyTargetKey": {
          "readOnly": true,
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey",
          "description": "Output only. The specific policy target modification that had error."
        },
        "policySchema": {
          "readOnly": true,
          "description": "Output only. The specific policy schema modification that had an error.",
          "type": "string"
        }
      }
    },
    "GoogleChromePolicyVersionsV1PolicySchemaRequiredItems": {
      "description": "The fields that will become required based on the value of this field.",
      "type": "object",
      "properties": {
        "requiredFields": {
          "items": {
            "type": "string"
          },
          "description": "The fields that are required as a consequence of the field conditions.",
          "type": "array"
        },
        "fieldConditions": {
          "description": "The value(s) of the field that provoke required field enforcement. An empty field_conditions implies that any value assigned to this field will provoke required field enforcement.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "id": "GoogleChromePolicyVersionsV1PolicySchemaRequiredItems"
    },
    "GoogleChromePolicyVersionsV1PolicySchema": {
      "description": "Resource representing a policy schema.",
      "type": "object",
      "properties": {
        "categoryTitle": {
          "description": "Title of the category in which a setting belongs.",
          "type": "string"
        },
        "accessRestrictions": {
          "description": "Output only. Specific access restrictions related to this policy.",
          "type": "array",
          "readOnly": true,
          "items": {
            "type": "string"
          }
        },
        "policyApiLifecycle": {
          "description": "Output only. Current lifecycle information.",
          "readOnly": true,
          "$ref": "GoogleChromePolicyVersionsV1PolicyApiLifecycle"
        },
        "name": {
          "description": "Format: name=customers/{customer}/policySchemas/{schema_namespace}",
          "type": "string"
        },
        "definition": {
          "description": "Schema definition using proto descriptor.",
          "$ref": "Proto2FileDescriptorProto"
        },
        "supportUri": {
          "readOnly": true,
          "description": "Output only. URI to related support article for this schema.",
          "type": "string"
        },
        "supportedPlatforms": {
          "description": "Output only. List indicates that the policy will only apply to devices/users on these platforms.",
          "type": "array",
          "readOnly": true,
          "items": {
            "type": "string",
            "enumDescriptions": [
              "Unspecified platform.",
              "ChromeOS.",
              "Chrome Browser for OSX/Windows/Linux.",
              "Chrome Browser for Android.",
              "Chrome Browser for iOS."
            ],
            "enum": [
              "PLATFORM_UNSPECIFIED",
              "CHROME_OS",
              "CHROME_BROWSER",
              "CHROME_BROWSER_FOR_ANDROID",
              "CHROME_BROWSER_FOR_IOS"
            ]
          }
        },
        "notices": {
          "readOnly": true,
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1PolicySchemaNoticeDescription"
          },
          "description": "Output only. Special notice messages related to setting certain values in certain fields in the schema.",
          "type": "array"
        },
        "schemaName": {
          "description": "Output only. The fully qualified name of the policy schema. This value is used to fill the field `policy_schema` in PolicyValue when calling BatchInheritOrgUnitPolicies BatchModifyOrgUnitPolicies BatchModifyGroupPolicies or BatchDeleteGroupPolicies.",
          "type": "string",
          "readOnly": true
        },
        "validTargetResources": {
          "items": {
            "enum": [
              "TARGET_RESOURCE_UNSPECIFIED",
              "ORG_UNIT",
              "GROUP"
            ],
            "type": "string",
            "enumDescriptions": [
              "Unspecified target resource.",
              "Organizational Unit target resource.",
              "Group target resource."
            ]
          },
          "readOnly": true,
          "description": "Output only. Information about applicable target resources for the policy.",
          "type": "array"
        },
        "fieldDescriptions": {
          "readOnly": true,
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1PolicySchemaFieldDescription"
          },
          "description": "Output only. Detailed description of each field that is part of the schema. Fields are suggested to be displayed by the ordering in this list, not by field number.",
          "type": "array"
        },
        "policyDescription": {
          "readOnly": true,
          "description": "Output only. Description about the policy schema for user consumption.",
          "type": "string"
        },
        "additionalTargetKeyNames": {
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1AdditionalTargetKeyName"
          },
          "readOnly": true,
          "description": "Output only. Additional key names that will be used to identify the target of the policy value. When specifying a `policyTargetKey`, each of the additional keys specified here will have to be included in the `additionalTargetKeys` map.",
          "type": "array"
        }
      },
      "id": "GoogleChromePolicyVersionsV1PolicySchema"
    },
    "GoogleChromePolicyVersionsV1NetworkSetting": {
      "description": "A network setting contains network configurations. It adheres to the PolicyAPI formats defined under the namespace chrome.networks.{wifi/ethernet/cellular/vpn}.Details",
      "type": "object",
      "properties": {
        "policySchema": {
          "description": "The fully qualified name of the network setting.",
          "type": "string"
        },
        "value": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "description": "The value of the network setting.",
          "type": "object"
        }
      },
      "id": "GoogleChromePolicyVersionsV1NetworkSetting"
    },
    "GoogleChromePolicyVersionsV1RemoveNetworkRequest": {
      "id": "GoogleChromePolicyVersionsV1RemoveNetworkRequest",
      "description": "Request object for removing a network",
      "type": "object",
      "properties": {
        "targetResource": {
          "description": "Required. The target resource on which this network will be removed. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\")",
          "type": "string"
        },
        "networkId": {
          "description": "Required. The GUID of the network to remove.",
          "type": "string"
        }
      }
    },
    "GoogleChromePolicyVersionsV1UploadPolicyFileResponse": {
      "id": "GoogleChromePolicyVersionsV1UploadPolicyFileResponse",
      "description": "Response message for downloading an uploaded file.",
      "type": "object",
      "properties": {
        "downloadUri": {
          "description": "The uri for end user to download the file.",
          "type": "string"
        }
      }
    },
    "GoogleChromePolicyVersionsV1PolicySchemaFieldKnownValueDescription": {
      "description": "Provides detailed information about a known value that is allowed for a particular field in a PolicySchema.",
      "type": "object",
      "properties": {
        "description": {
          "readOnly": true,
          "description": "Output only. Additional description for this value.",
          "type": "string"
        },
        "fieldDependencies": {
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1PolicySchemaFieldDependencies"
          },
          "readOnly": true,
          "description": "Output only. Field conditions required for this value to be valid.",
          "type": "array"
        },
        "value": {
          "description": "Output only. The string represenstation of the value that can be set for the field.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "GoogleChromePolicyVersionsV1PolicySchemaFieldKnownValueDescription"
    },
    "GoogleChromePolicyVersionsV1DefineCertificateRequest": {
      "id": "GoogleChromePolicyVersionsV1DefineCertificateRequest",
      "description": "Request object for creating a certificate.",
      "type": "object",
      "properties": {
        "targetResource": {
          "description": "Required. The target resource on which this certificate is applied. The following resources are supported: * Organizational Unit (\"orgunits/{orgunit_id}\")",
          "type": "string"
        },
        "certificate": {
          "description": "Required. The raw contents of the .PEM, .CRT, or .CER file.",
          "type": "string"
        },
        "settings": {
          "description": "Optional. Certificate settings within the chrome.networks.certificates namespace.",
          "type": "array",
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1NetworkSetting"
          }
        },
        "ceritificateName": {
          "description": "Optional. The optional name of the certificate. If not specified, the certificate issuer will be used as the name.",
          "type": "string"
        }
      }
    },
    "Proto2EnumValueDescriptorProto": {
      "id": "Proto2EnumValueDescriptorProto",
      "description": "Describes a value within an enum.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "number": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleChromePolicyVersionsV1RemoveCertificateResponse": {
      "id": "GoogleChromePolicyVersionsV1RemoveCertificateResponse",
      "description": "Response object for removing a certificate.",
      "type": "object",
      "properties": {}
    },
    "GoogleChromePolicyVersionsV1PolicyModificationFieldError": {
      "id": "GoogleChromePolicyVersionsV1PolicyModificationFieldError",
      "description": "Error information for a modification request of a specific field on a specific policy.",
      "type": "object",
      "properties": {
        "field": {
          "readOnly": true,
          "description": "Output only. The name of the field with the error.",
          "type": "string"
        },
        "error": {
          "description": "Output only. The error message related to the field.",
          "type": "string",
          "readOnly": true
        }
      }
    },
    "Proto2OneofDescriptorProto": {
      "description": "Describes a oneof.",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "id": "Proto2OneofDescriptorProto"
    },
    "GoogleProtobufEmpty": {
      "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); }",
      "type": "object",
      "properties": {},
      "id": "GoogleProtobufEmpty"
    },
    "GoogleChromePolicyVersionsV1BatchInheritOrgUnitPoliciesRequest": {
      "description": "Request message for specifying that multiple policy values inherit their value from their parents.",
      "type": "object",
      "properties": {
        "requests": {
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1InheritOrgUnitPolicyRequest"
          },
          "description": "List of policies that have to inherit their values as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to an org unit resource. 3. All `policyTargetKey` values must have the same key names in the ` additionalTargetKeys`. This also means if one of the targets has an empty `additionalTargetKeys` map, all of the targets must have an empty `additionalTargetKeys` map. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair. ",
          "type": "array"
        }
      },
      "id": "GoogleChromePolicyVersionsV1BatchInheritOrgUnitPoliciesRequest"
    },
    "GoogleChromePolicyVersionsV1ListPolicySchemasResponse": {
      "description": "Response message for listing policy schemas that match a filter.",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "description": "The page token used to get the next page of policy schemas.",
          "type": "string"
        },
        "policySchemas": {
          "items": {
            "$ref": "GoogleChromePolicyVersionsV1PolicySchema"
          },
          "description": "The list of policy schemas that match the query.",
          "type": "array"
        }
      },
      "id": "GoogleChromePolicyVersionsV1ListPolicySchemasResponse"
    },
    "GoogleChromePolicyVersionsV1ResolveRequest": {
      "id": "GoogleChromePolicyVersionsV1ResolveRequest",
      "description": "Request message for getting the resolved policy value for a specific target.",
      "type": "object",
      "properties": {
        "policyTargetKey": {
          "description": "Required. The key of the target resource on which the policies should be resolved.",
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey"
        },
        "pageToken": {
          "description": "The page token used to retrieve a specific page of the request.",
          "type": "string"
        },
        "policySchemaFilter": {
          "description": "Required. The schema filter to apply to the resolve request. Specify a schema name to view a particular schema, for example: chrome.users.ShowLogoutButton Wildcards are supported, but only in the leaf portion of the schema name. Wildcards cannot be used in namespace directly. Please read https://developers.google.com/chrome/policy/guides/policy-schemas for details on schema namespaces. For example: Valid: \"chrome.users.*\", \"chrome.users.apps.*\", \"chrome.printers.*\" Invalid: \"*\", \"*.users\", \"chrome.*\", \"chrome.*.apps.*\"",
          "type": "string"
        },
        "pageSize": {
          "description": "The maximum number of policies to return, defaults to 100 and has a maximum of 1000.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "GoogleChromePolicyVersionsV1ModifyGroupPolicyRequest": {
      "description": "Request parameters for modifying a policy value for a specific group target.",
      "type": "object",
      "properties": {
        "policyTargetKey": {
          "description": "Required. The key of the target for which we want to modify a policy. The target resource must point to a Group.",
          "$ref": "GoogleChromePolicyVersionsV1PolicyTargetKey"
        },
        "policyValue": {
          "description": "The new value for the policy.",
          "$ref": "GoogleChromePolicyVersionsV1PolicyValue"
        },
        "updateMask": {
          "description": "Required. Policy fields to update. Only fields in this mask will be updated; other fields in `policy_value` will be ignored (even if they have values). If a field is in this list it must have a value in 'policy_value'.",
          "type": "string",
          "format": "google-fieldmask"
        }
      },
      "id": "GoogleChromePolicyVersionsV1ModifyGroupPolicyRequest"
    }
  }
}
