{
  "nested": {
    "google": {
      "nested": {
        "cloud": {
          "nested": {
            "kms": {
              "nested": {
                "v1": {
                  "options": {
                    "go_package": "cloud.google.com/go/kms/apiv1/kmspb;kmspb",
                    "java_multiple_files": true,
                    "java_outer_classname": "KmsProto",
                    "java_package": "com.google.cloud.kms.v1",
                    "csharp_namespace": "Google.Cloud.Kms.V1",
                    "php_namespace": "Google\\Cloud\\Kms\\V1",
                    "(google.api.resource_definition).type": "servicedirectory.googleapis.com/Service",
                    "(google.api.resource_definition).pattern": "projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}"
                  },
                  "nested": {
                    "Autokey": {
                      "options": {
                        "(google.api.default_host)": "cloudkms.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkms"
                      },
                      "methods": {
                        "CreateKeyHandle": {
                          "requestType": "CreateKeyHandleRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/keyHandles",
                            "(google.api.http).body": "key_handle",
                            "(google.api.method_signature)": "parent,key_handle,key_handle_id",
                            "(google.longrunning.operation_info).response_type": "KeyHandle",
                            "(google.longrunning.operation_info).metadata_type": "CreateKeyHandleMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{parent=projects/*/locations/*}/keyHandles",
                                "body": "key_handle"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,key_handle,key_handle_id"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "KeyHandle",
                                "metadata_type": "CreateKeyHandleMetadata"
                              }
                            }
                          ]
                        },
                        "GetKeyHandle": {
                          "requestType": "GetKeyHandleRequest",
                          "responseType": "KeyHandle",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/keyHandles/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/keyHandles/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListKeyHandles": {
                          "requestType": "ListKeyHandlesRequest",
                          "responseType": "ListKeyHandlesResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/keyHandles",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{parent=projects/*/locations/*}/keyHandles"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        }
                      }
                    },
                    "CreateKeyHandleRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "keyHandleId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "keyHandle": {
                          "type": "KeyHandle",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetKeyHandleRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/KeyHandle"
                          }
                        }
                      }
                    },
                    "KeyHandle": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/KeyHandle",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/keyHandles/{key_handle}",
                        "(google.api.resource).plural": "keyHandles",
                        "(google.api.resource).singular": "keyHandle"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IDENTIFIER"
                          }
                        },
                        "kmsKey": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKey"
                          }
                        },
                        "resourceTypeSelector": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CreateKeyHandleMetadata": {
                      "fields": {}
                    },
                    "ListKeyHandlesRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListKeyHandlesResponse": {
                      "fields": {
                        "keyHandles": {
                          "rule": "repeated",
                          "type": "KeyHandle",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "AutokeyAdmin": {
                      "options": {
                        "(google.api.default_host)": "cloudkms.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkms"
                      },
                      "methods": {
                        "UpdateAutokeyConfig": {
                          "requestType": "UpdateAutokeyConfigRequest",
                          "responseType": "AutokeyConfig",
                          "options": {
                            "(google.api.http).patch": "/v1/{autokey_config.name=folders/*/autokeyConfig}",
                            "(google.api.http).body": "autokey_config",
                            "(google.api.http).additional_bindings.patch": "/v1/{autokey_config.name=projects/*/autokeyConfig}",
                            "(google.api.http).additional_bindings.body": "autokey_config",
                            "(google.api.method_signature)": "autokey_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1/{autokey_config.name=folders/*/autokeyConfig}",
                                "body": "autokey_config",
                                "additional_bindings": {
                                  "patch": "/v1/{autokey_config.name=projects/*/autokeyConfig}",
                                  "body": "autokey_config"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "autokey_config,update_mask"
                            }
                          ]
                        },
                        "GetAutokeyConfig": {
                          "requestType": "GetAutokeyConfigRequest",
                          "responseType": "AutokeyConfig",
                          "options": {
                            "(google.api.http).get": "/v1/{name=folders/*/autokeyConfig}",
                            "(google.api.http).additional_bindings.get": "/v1/{name=projects/*/autokeyConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=folders/*/autokeyConfig}",
                                "additional_bindings": {
                                  "get": "/v1/{name=projects/*/autokeyConfig}"
                                }
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ShowEffectiveAutokeyConfig": {
                          "requestType": "ShowEffectiveAutokeyConfigRequest",
                          "responseType": "ShowEffectiveAutokeyConfigResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{parent=projects/*}:showEffectiveAutokeyConfig",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{parent=projects/*}:showEffectiveAutokeyConfig"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        }
                      }
                    },
                    "UpdateAutokeyConfigRequest": {
                      "fields": {
                        "autokeyConfig": {
                          "type": "AutokeyConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetAutokeyConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/AutokeyConfig"
                          }
                        }
                      }
                    },
                    "AutokeyConfig": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/AutokeyConfig",
                        "(google.api.resource).pattern": "projects/{project}/autokeyConfig",
                        "(google.api.resource).plural": "autokeyConfigs",
                        "(google.api.resource).singular": "autokeyConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IDENTIFIER"
                          }
                        },
                        "keyProject": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "etag": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "keyProjectResolutionMode": {
                          "type": "KeyProjectResolutionMode",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "ACTIVE": 1,
                            "KEY_PROJECT_DELETED": 2,
                            "UNINITIALIZED": 3,
                            "KEY_PROJECT_PERMISSION_DENIED": 4
                          }
                        },
                        "KeyProjectResolutionMode": {
                          "values": {
                            "KEY_PROJECT_RESOLUTION_MODE_UNSPECIFIED": 0,
                            "DEDICATED_KEY_PROJECT": 1,
                            "RESOURCE_PROJECT": 2,
                            "DISABLED": 3
                          }
                        }
                      }
                    },
                    "ShowEffectiveAutokeyConfigRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
                          }
                        }
                      }
                    },
                    "ShowEffectiveAutokeyConfigResponse": {
                      "fields": {
                        "keyProject": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "EkmService": {
                      "options": {
                        "(google.api.default_host)": "cloudkms.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkms"
                      },
                      "methods": {
                        "ListEkmConnections": {
                          "requestType": "ListEkmConnectionsRequest",
                          "responseType": "ListEkmConnectionsResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/ekmConnections",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{parent=projects/*/locations/*}/ekmConnections"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "GetEkmConnection": {
                          "requestType": "GetEkmConnectionRequest",
                          "responseType": "EkmConnection",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/ekmConnections/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/ekmConnections/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "CreateEkmConnection": {
                          "requestType": "CreateEkmConnectionRequest",
                          "responseType": "EkmConnection",
                          "options": {
                            "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/ekmConnections",
                            "(google.api.http).body": "ekm_connection",
                            "(google.api.method_signature)": "parent,ekm_connection_id,ekm_connection"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{parent=projects/*/locations/*}/ekmConnections",
                                "body": "ekm_connection"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,ekm_connection_id,ekm_connection"
                            }
                          ]
                        },
                        "UpdateEkmConnection": {
                          "requestType": "UpdateEkmConnectionRequest",
                          "responseType": "EkmConnection",
                          "options": {
                            "(google.api.http).patch": "/v1/{ekm_connection.name=projects/*/locations/*/ekmConnections/*}",
                            "(google.api.http).body": "ekm_connection",
                            "(google.api.method_signature)": "ekm_connection,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1/{ekm_connection.name=projects/*/locations/*/ekmConnections/*}",
                                "body": "ekm_connection"
                              }
                            },
                            {
                              "(google.api.method_signature)": "ekm_connection,update_mask"
                            }
                          ]
                        },
                        "GetEkmConfig": {
                          "requestType": "GetEkmConfigRequest",
                          "responseType": "EkmConfig",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/ekmConfig}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/ekmConfig}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "UpdateEkmConfig": {
                          "requestType": "UpdateEkmConfigRequest",
                          "responseType": "EkmConfig",
                          "options": {
                            "(google.api.http).patch": "/v1/{ekm_config.name=projects/*/locations/*/ekmConfig}",
                            "(google.api.http).body": "ekm_config",
                            "(google.api.method_signature)": "ekm_config,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1/{ekm_config.name=projects/*/locations/*/ekmConfig}",
                                "body": "ekm_config"
                              }
                            },
                            {
                              "(google.api.method_signature)": "ekm_config,update_mask"
                            }
                          ]
                        },
                        "VerifyConnectivity": {
                          "requestType": "VerifyConnectivityRequest",
                          "responseType": "VerifyConnectivityResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/ekmConnections/*}:verifyConnectivity",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/ekmConnections/*}:verifyConnectivity"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "ListEkmConnectionsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListEkmConnectionsResponse": {
                      "fields": {
                        "ekmConnections": {
                          "rule": "repeated",
                          "type": "EkmConnection",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "GetEkmConnectionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/EkmConnection"
                          }
                        }
                      }
                    },
                    "CreateEkmConnectionRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "ekmConnectionId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "ekmConnection": {
                          "type": "EkmConnection",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UpdateEkmConnectionRequest": {
                      "fields": {
                        "ekmConnection": {
                          "type": "EkmConnection",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "GetEkmConfigRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/EkmConfig"
                          }
                        }
                      }
                    },
                    "UpdateEkmConfigRequest": {
                      "fields": {
                        "ekmConfig": {
                          "type": "EkmConfig",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "Certificate": {
                      "fields": {
                        "rawDer": {
                          "type": "bytes",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "parsed": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "issuer": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "subject": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "subjectAlternativeDnsNames": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "notBeforeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "notAfterTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "serialNumber": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "sha256Fingerprint": {
                          "type": "string",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "EkmConnection": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/EkmConnection",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/ekmConnections/{ekm_connection}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "serviceResolvers": {
                          "rule": "repeated",
                          "type": "ServiceResolver",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "etag": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "keyManagementMode": {
                          "type": "KeyManagementMode",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "cryptoSpacePath": {
                          "type": "string",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "ServiceResolver": {
                          "fields": {
                            "serviceDirectoryService": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED",
                                "(google.api.resource_reference).type": "servicedirectory.googleapis.com/Service"
                              }
                            },
                            "endpointFilter": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            },
                            "hostname": {
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "serverCertificates": {
                              "rule": "repeated",
                              "type": "Certificate",
                              "id": 4,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        },
                        "KeyManagementMode": {
                          "values": {
                            "KEY_MANAGEMENT_MODE_UNSPECIFIED": 0,
                            "MANUAL": 1,
                            "CLOUD_KMS": 2
                          }
                        }
                      }
                    },
                    "EkmConfig": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/EkmConfig",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/ekmConfig"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "defaultEkmConnection": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/EkmConnection"
                          }
                        }
                      }
                    },
                    "VerifyConnectivityRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/EkmConnection"
                          }
                        }
                      }
                    },
                    "VerifyConnectivityResponse": {
                      "fields": {}
                    },
                    "HsmManagement": {
                      "options": {
                        "(google.api.default_host)": "cloudkms.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkms"
                      },
                      "methods": {
                        "ListSingleTenantHsmInstances": {
                          "requestType": "ListSingleTenantHsmInstancesRequest",
                          "responseType": "ListSingleTenantHsmInstancesResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/singleTenantHsmInstances",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{parent=projects/*/locations/*}/singleTenantHsmInstances"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "GetSingleTenantHsmInstance": {
                          "requestType": "GetSingleTenantHsmInstanceRequest",
                          "responseType": "SingleTenantHsmInstance",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/singleTenantHsmInstances/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/singleTenantHsmInstances/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "CreateSingleTenantHsmInstance": {
                          "requestType": "CreateSingleTenantHsmInstanceRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/singleTenantHsmInstances",
                            "(google.api.http).body": "single_tenant_hsm_instance",
                            "(google.api.method_signature)": "parent,single_tenant_hsm_instance,single_tenant_hsm_instance_id",
                            "(google.longrunning.operation_info).response_type": "SingleTenantHsmInstance",
                            "(google.longrunning.operation_info).metadata_type": "CreateSingleTenantHsmInstanceMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{parent=projects/*/locations/*}/singleTenantHsmInstances",
                                "body": "single_tenant_hsm_instance"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,single_tenant_hsm_instance,single_tenant_hsm_instance_id"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "SingleTenantHsmInstance",
                                "metadata_type": "CreateSingleTenantHsmInstanceMetadata"
                              }
                            }
                          ]
                        },
                        "CreateSingleTenantHsmInstanceProposal": {
                          "requestType": "CreateSingleTenantHsmInstanceProposalRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1/{parent=projects/*/locations/*/singleTenantHsmInstances/*}/proposals",
                            "(google.api.http).body": "single_tenant_hsm_instance_proposal",
                            "(google.api.method_signature)": "parent,single_tenant_hsm_instance_proposal,single_tenant_hsm_instance_proposal_id",
                            "(google.longrunning.operation_info).response_type": "SingleTenantHsmInstanceProposal",
                            "(google.longrunning.operation_info).metadata_type": "CreateSingleTenantHsmInstanceProposalMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{parent=projects/*/locations/*/singleTenantHsmInstances/*}/proposals",
                                "body": "single_tenant_hsm_instance_proposal"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,single_tenant_hsm_instance_proposal,single_tenant_hsm_instance_proposal_id"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "SingleTenantHsmInstanceProposal",
                                "metadata_type": "CreateSingleTenantHsmInstanceProposalMetadata"
                              }
                            }
                          ]
                        },
                        "ApproveSingleTenantHsmInstanceProposal": {
                          "requestType": "ApproveSingleTenantHsmInstanceProposalRequest",
                          "responseType": "ApproveSingleTenantHsmInstanceProposalResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/singleTenantHsmInstances/*/proposals/*}:approve",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name,quorum_reply"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/singleTenantHsmInstances/*/proposals/*}:approve",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name,quorum_reply"
                            }
                          ]
                        },
                        "ExecuteSingleTenantHsmInstanceProposal": {
                          "requestType": "ExecuteSingleTenantHsmInstanceProposalRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/singleTenantHsmInstances/*/proposals/*}:execute",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name",
                            "(google.longrunning.operation_info).response_type": "ExecuteSingleTenantHsmInstanceProposalResponse",
                            "(google.longrunning.operation_info).metadata_type": "ExecuteSingleTenantHsmInstanceProposalMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/singleTenantHsmInstances/*/proposals/*}:execute",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "ExecuteSingleTenantHsmInstanceProposalResponse",
                                "metadata_type": "ExecuteSingleTenantHsmInstanceProposalMetadata"
                              }
                            }
                          ]
                        },
                        "GetSingleTenantHsmInstanceProposal": {
                          "requestType": "GetSingleTenantHsmInstanceProposalRequest",
                          "responseType": "SingleTenantHsmInstanceProposal",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/singleTenantHsmInstances/*/proposals/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/singleTenantHsmInstances/*/proposals/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "ListSingleTenantHsmInstanceProposals": {
                          "requestType": "ListSingleTenantHsmInstanceProposalsRequest",
                          "responseType": "ListSingleTenantHsmInstanceProposalsResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{parent=projects/*/locations/*/singleTenantHsmInstances/*}/proposals",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{parent=projects/*/locations/*/singleTenantHsmInstances/*}/proposals"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "DeleteSingleTenantHsmInstanceProposal": {
                          "requestType": "DeleteSingleTenantHsmInstanceProposalRequest",
                          "responseType": "google.protobuf.Empty",
                          "options": {
                            "(google.api.http).delete": "/v1/{name=projects/*/locations/*/singleTenantHsmInstances/*/proposals/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1/{name=projects/*/locations/*/singleTenantHsmInstances/*/proposals/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        }
                      }
                    },
                    "SingleTenantHsmInstance": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/SingleTenantHsmInstance",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/singleTenantHsmInstances/{single_tenant_hsm_instance}",
                        "(google.api.resource).plural": "singleTenantHsmInstances",
                        "(google.api.resource).singular": "singleTenantHsmInstance"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IDENTIFIER"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "quorumAuth": {
                          "type": "QuorumAuth",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "deleteTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "unrefreshedDurationUntilDisable": {
                          "type": "google.protobuf.Duration",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "disableTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "keyPortabilityEnabled": {
                          "type": "bool",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "CREATING": 1,
                            "PENDING_TWO_FACTOR_AUTH_REGISTRATION": 2,
                            "ACTIVE": 3,
                            "DISABLING": 4,
                            "DISABLED": 5,
                            "DELETING": 6,
                            "DELETED": 7,
                            "FAILED": 8
                          }
                        },
                        "QuorumAuth": {
                          "fields": {
                            "totalApproverCount": {
                              "type": "int32",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "requiredApproverCount": {
                              "type": "int32",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "twoFactorPublicKeyPems": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            }
                          }
                        }
                      }
                    },
                    "SingleTenantHsmInstanceProposal": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/SingleTenantHsmInstanceProposal",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/singleTenantHsmInstances/{single_tenant_hsm_instance}/proposals/{proposal}",
                        "(google.api.resource).plural": "singleTenantHsmInstanceProposals",
                        "(google.api.resource).singular": "singleTenantHsmInstanceProposal"
                      },
                      "oneofs": {
                        "approvalParameters": {
                          "oneof": [
                            "quorumParameters",
                            "requiredActionQuorumParameters"
                          ]
                        },
                        "expiration": {
                          "oneof": [
                            "expireTime",
                            "ttl"
                          ]
                        },
                        "operation": {
                          "oneof": [
                            "registerTwoFactorAuthKeys",
                            "disableSingleTenantHsmInstance",
                            "enableSingleTenantHsmInstance",
                            "deleteSingleTenantHsmInstance",
                            "addQuorumMember",
                            "removeQuorumMember",
                            "refreshSingleTenantHsmInstance",
                            "upgradeKeyTrust"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IDENTIFIER"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "failureReason": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "quorumParameters": {
                          "type": "QuorumParameters",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "requiredActionQuorumParameters": {
                          "type": "RequiredActionQuorumParameters",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "expireTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6
                        },
                        "ttl": {
                          "type": "google.protobuf.Duration",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "INPUT_ONLY"
                          }
                        },
                        "deleteTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "purgeTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "registerTwoFactorAuthKeys": {
                          "type": "RegisterTwoFactorAuthKeys",
                          "id": 8
                        },
                        "disableSingleTenantHsmInstance": {
                          "type": "DisableSingleTenantHsmInstance",
                          "id": 9
                        },
                        "enableSingleTenantHsmInstance": {
                          "type": "EnableSingleTenantHsmInstance",
                          "id": 10
                        },
                        "deleteSingleTenantHsmInstance": {
                          "type": "DeleteSingleTenantHsmInstance",
                          "id": 11
                        },
                        "addQuorumMember": {
                          "type": "AddQuorumMember",
                          "id": 12
                        },
                        "removeQuorumMember": {
                          "type": "RemoveQuorumMember",
                          "id": 13
                        },
                        "refreshSingleTenantHsmInstance": {
                          "type": "RefreshSingleTenantHsmInstance",
                          "id": 17
                        },
                        "upgradeKeyTrust": {
                          "type": "UpgradeKeyTrust",
                          "id": 18
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "CREATING": 1,
                            "PENDING": 2,
                            "APPROVED": 3,
                            "RUNNING": 4,
                            "SUCCEEDED": 5,
                            "FAILED": 6,
                            "DELETED": 7
                          }
                        },
                        "QuorumParameters": {
                          "fields": {
                            "requiredApproverCount": {
                              "type": "int32",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "challenges": {
                              "rule": "repeated",
                              "type": "Challenge",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "approvedTwoFactorPublicKeyPems": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            }
                          }
                        },
                        "RequiredActionQuorumParameters": {
                          "fields": {
                            "requiredChallenges": {
                              "rule": "repeated",
                              "type": "Challenge",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "requiredApproverCount": {
                              "type": "int32",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "quorumChallenges": {
                              "rule": "repeated",
                              "type": "Challenge",
                              "id": 3,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            },
                            "approvedTwoFactorPublicKeyPems": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 4,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            }
                          }
                        },
                        "RegisterTwoFactorAuthKeys": {
                          "fields": {
                            "requiredApproverCount": {
                              "type": "int32",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "twoFactorPublicKeyPems": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        },
                        "DisableSingleTenantHsmInstance": {
                          "fields": {}
                        },
                        "EnableSingleTenantHsmInstance": {
                          "fields": {}
                        },
                        "DeleteSingleTenantHsmInstance": {
                          "fields": {}
                        },
                        "AddQuorumMember": {
                          "fields": {
                            "twoFactorPublicKeyPem": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        },
                        "RemoveQuorumMember": {
                          "fields": {
                            "twoFactorPublicKeyPem": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        },
                        "RefreshSingleTenantHsmInstance": {
                          "fields": {}
                        },
                        "UpgradeKeyTrust": {
                          "fields": {
                            "name": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "twoFactorPublicKeyPem": {
                              "type": "string",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        }
                      }
                    },
                    "Challenge": {
                      "fields": {
                        "challenge": {
                          "type": "bytes",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "publicKeyPem": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "ChallengeReply": {
                      "fields": {
                        "signedChallenge": {
                          "type": "bytes",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "publicKeyPem": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ListSingleTenantHsmInstancesRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "showDeleted": {
                          "type": "bool",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListSingleTenantHsmInstancesResponse": {
                      "fields": {
                        "singleTenantHsmInstances": {
                          "rule": "repeated",
                          "type": "SingleTenantHsmInstance",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "GetSingleTenantHsmInstanceRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/SingleTenantHsmInstance"
                          }
                        }
                      }
                    },
                    "CreateSingleTenantHsmInstanceRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "singleTenantHsmInstanceId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "singleTenantHsmInstance": {
                          "type": "SingleTenantHsmInstance",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CreateSingleTenantHsmInstanceMetadata": {
                      "fields": {}
                    },
                    "CreateSingleTenantHsmInstanceProposalRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/SingleTenantHsmInstance"
                          }
                        },
                        "singleTenantHsmInstanceProposalId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "singleTenantHsmInstanceProposal": {
                          "type": "SingleTenantHsmInstanceProposal",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CreateSingleTenantHsmInstanceProposalMetadata": {
                      "fields": {}
                    },
                    "GetSingleTenantHsmInstanceProposalRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/SingleTenantHsmInstanceProposal"
                          }
                        }
                      }
                    },
                    "ApproveSingleTenantHsmInstanceProposalRequest": {
                      "oneofs": {
                        "approvalPayload": {
                          "oneof": [
                            "quorumReply",
                            "requiredActionQuorumReply"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/SingleTenantHsmInstanceProposal"
                          }
                        },
                        "quorumReply": {
                          "type": "QuorumReply",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "requiredActionQuorumReply": {
                          "type": "RequiredActionQuorumReply",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "QuorumReply": {
                          "fields": {
                            "challengeReplies": {
                              "rule": "repeated",
                              "type": "ChallengeReply",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        },
                        "RequiredActionQuorumReply": {
                          "fields": {
                            "requiredChallengeReplies": {
                              "rule": "repeated",
                              "type": "ChallengeReply",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "quorumChallengeReplies": {
                              "rule": "repeated",
                              "type": "ChallengeReply",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        }
                      }
                    },
                    "ApproveSingleTenantHsmInstanceProposalResponse": {
                      "fields": {}
                    },
                    "ExecuteSingleTenantHsmInstanceProposalRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/SingleTenantHsmInstanceProposal"
                          }
                        }
                      }
                    },
                    "ExecuteSingleTenantHsmInstanceProposalResponse": {
                      "fields": {}
                    },
                    "ExecuteSingleTenantHsmInstanceProposalMetadata": {
                      "fields": {}
                    },
                    "ListSingleTenantHsmInstanceProposalsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/SingleTenantHsmInstance"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "showDeleted": {
                          "type": "bool",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListSingleTenantHsmInstanceProposalsResponse": {
                      "fields": {
                        "singleTenantHsmInstanceProposals": {
                          "rule": "repeated",
                          "type": "SingleTenantHsmInstanceProposal",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "DeleteSingleTenantHsmInstanceProposalRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/SingleTenantHsmInstanceProposal"
                          }
                        }
                      }
                    },
                    "KeyRing": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/KeyRing",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/keyRings/{key_ring}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "CryptoKey": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/CryptoKey",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
                      },
                      "oneofs": {
                        "rotationSchedule": {
                          "oneof": [
                            "rotationPeriod"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "primary": {
                          "type": "CryptoKeyVersion",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "purpose": {
                          "type": "CryptoKeyPurpose",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "nextRotationTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 7
                        },
                        "rotationPeriod": {
                          "type": "google.protobuf.Duration",
                          "id": 8
                        },
                        "versionTemplate": {
                          "type": "CryptoKeyVersionTemplate",
                          "id": 11
                        },
                        "labels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 10
                        },
                        "importOnly": {
                          "type": "bool",
                          "id": 13,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "destroyScheduledDuration": {
                          "type": "google.protobuf.Duration",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "cryptoKeyBackend": {
                          "type": "string",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "(google.api.resource_reference).type": "*"
                          }
                        },
                        "keyAccessJustificationsPolicy": {
                          "type": "KeyAccessJustificationsPolicy",
                          "id": 17,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "CryptoKeyPurpose": {
                          "values": {
                            "CRYPTO_KEY_PURPOSE_UNSPECIFIED": 0,
                            "ENCRYPT_DECRYPT": 1,
                            "ASYMMETRIC_SIGN": 5,
                            "ASYMMETRIC_DECRYPT": 6,
                            "RAW_ENCRYPT_DECRYPT": 7,
                            "MAC": 9,
                            "KEY_ENCAPSULATION": 10,
                            "AES_WRAPPING": 11
                          }
                        }
                      }
                    },
                    "CryptoKeyVersionTemplate": {
                      "fields": {
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 1
                        },
                        "algorithm": {
                          "type": "CryptoKeyVersion.CryptoKeyVersionAlgorithm",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "KeyOperationAttestation": {
                      "fields": {
                        "format": {
                          "type": "AttestationFormat",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "content": {
                          "type": "bytes",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "certChains": {
                          "type": "CertificateChains",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "AttestationFormat": {
                          "values": {
                            "ATTESTATION_FORMAT_UNSPECIFIED": 0,
                            "CAVIUM_V1_COMPRESSED": 3,
                            "CAVIUM_V2_COMPRESSED": 4
                          }
                        },
                        "CertificateChains": {
                          "fields": {
                            "caviumCerts": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 1
                            },
                            "googleCardCerts": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 2
                            },
                            "googlePartitionCerts": {
                              "rule": "repeated",
                              "type": "string",
                              "id": 3
                            }
                          }
                        }
                      }
                    },
                    "CryptoKeyVersion": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/CryptoKeyVersion",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "state": {
                          "type": "CryptoKeyVersionState",
                          "id": 3
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "algorithm": {
                          "type": "CryptoKeyVersionAlgorithm",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "attestation": {
                          "type": "KeyOperationAttestation",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "generateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "destroyTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "destroyEventTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "importJob": {
                          "type": "string",
                          "id": 14,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "importTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 15,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "importFailureReason": {
                          "type": "string",
                          "id": 16,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "generationFailureReason": {
                          "type": "string",
                          "id": 19,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "externalDestructionFailureReason": {
                          "type": "string",
                          "id": 20,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "externalProtectionLevelOptions": {
                          "type": "ExternalProtectionLevelOptions",
                          "id": 17
                        },
                        "reimportEligible": {
                          "type": "bool",
                          "id": 18,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "trustedWrappingEnabled": {
                          "type": "bool",
                          "id": 21,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "hsmTrusted": {
                          "type": "bool",
                          "id": 23,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "CryptoKeyVersionAlgorithm": {
                          "values": {
                            "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED": 0,
                            "GOOGLE_SYMMETRIC_ENCRYPTION": 1,
                            "AES_128_GCM": 41,
                            "AES_256_GCM": 19,
                            "AES_128_CBC": 42,
                            "AES_256_CBC": 43,
                            "AES_128_CTR": 44,
                            "AES_256_CTR": 45,
                            "RSA_SIGN_PSS_2048_SHA256": 2,
                            "RSA_SIGN_PSS_3072_SHA256": 3,
                            "RSA_SIGN_PSS_4096_SHA256": 4,
                            "RSA_SIGN_PSS_4096_SHA512": 15,
                            "RSA_SIGN_PKCS1_2048_SHA256": 5,
                            "RSA_SIGN_PKCS1_3072_SHA256": 6,
                            "RSA_SIGN_PKCS1_4096_SHA256": 7,
                            "RSA_SIGN_PKCS1_4096_SHA512": 16,
                            "RSA_SIGN_RAW_PKCS1_2048": 28,
                            "RSA_SIGN_RAW_PKCS1_3072": 29,
                            "RSA_SIGN_RAW_PKCS1_4096": 30,
                            "RSA_DECRYPT_OAEP_2048_SHA256": 8,
                            "RSA_DECRYPT_OAEP_3072_SHA256": 9,
                            "RSA_DECRYPT_OAEP_4096_SHA256": 10,
                            "RSA_DECRYPT_OAEP_4096_SHA512": 17,
                            "RSA_DECRYPT_OAEP_2048_SHA1": 37,
                            "RSA_DECRYPT_OAEP_3072_SHA1": 38,
                            "RSA_DECRYPT_OAEP_4096_SHA1": 39,
                            "EC_SIGN_P256_SHA256": 12,
                            "EC_SIGN_P384_SHA384": 13,
                            "EC_SIGN_SECP256K1_SHA256": 31,
                            "EC_SIGN_ED25519": 40,
                            "HMAC_SHA256": 32,
                            "HMAC_SHA1": 33,
                            "HMAC_SHA384": 34,
                            "HMAC_SHA512": 35,
                            "HMAC_SHA224": 36,
                            "EXTERNAL_SYMMETRIC_ENCRYPTION": 18,
                            "ML_KEM_768": 47,
                            "ML_KEM_1024": 48,
                            "KEM_XWING": 63,
                            "PQ_SIGN_ML_DSA_44": 68,
                            "PQ_SIGN_ML_DSA_65": 56,
                            "PQ_SIGN_ML_DSA_87": 69,
                            "PQ_SIGN_SLH_DSA_SHA2_128S": 57,
                            "PQ_SIGN_HASH_SLH_DSA_SHA2_128S_SHA256": 60,
                            "PQ_SIGN_ML_DSA_44_EXTERNAL_MU": 70,
                            "PQ_SIGN_ML_DSA_65_EXTERNAL_MU": 67,
                            "PQ_SIGN_ML_DSA_87_EXTERNAL_MU": 71,
                            "AES_256_KWP": 73
                          }
                        },
                        "CryptoKeyVersionState": {
                          "values": {
                            "CRYPTO_KEY_VERSION_STATE_UNSPECIFIED": 0,
                            "PENDING_GENERATION": 5,
                            "ENABLED": 1,
                            "DISABLED": 2,
                            "DESTROYED": 3,
                            "DESTROY_SCHEDULED": 4,
                            "PENDING_IMPORT": 6,
                            "IMPORT_FAILED": 7,
                            "GENERATION_FAILED": 8,
                            "PENDING_EXTERNAL_DESTRUCTION": 9,
                            "EXTERNAL_DESTRUCTION_FAILED": 10
                          }
                        },
                        "CryptoKeyVersionView": {
                          "values": {
                            "CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED": 0,
                            "FULL": 1
                          }
                        }
                      }
                    },
                    "ChecksummedData": {
                      "fields": {
                        "data": {
                          "type": "bytes",
                          "id": 3
                        },
                        "crc32cChecksum": {
                          "type": "google.protobuf.Int64Value",
                          "id": 2
                        }
                      }
                    },
                    "PublicKey": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/PublicKey",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}/publicKey"
                      },
                      "fields": {
                        "pem": {
                          "type": "string",
                          "id": 1
                        },
                        "algorithm": {
                          "type": "CryptoKeyVersion.CryptoKeyVersionAlgorithm",
                          "id": 2
                        },
                        "pemCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 3
                        },
                        "name": {
                          "type": "string",
                          "id": 4
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 5
                        },
                        "publicKeyFormat": {
                          "type": "PublicKeyFormat",
                          "id": 7
                        },
                        "publicKey": {
                          "type": "ChecksummedData",
                          "id": 8
                        }
                      },
                      "nested": {
                        "PublicKeyFormat": {
                          "values": {
                            "PUBLIC_KEY_FORMAT_UNSPECIFIED": 0,
                            "PEM": 1,
                            "DER": 2,
                            "NIST_PQC": 3,
                            "XWING_RAW_BYTES": 4
                          }
                        }
                      }
                    },
                    "ImportJob": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/ImportJob",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/keyRings/{key_ring}/importJobs/{import_job}"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "importMethod": {
                          "type": "ImportMethod",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE"
                          }
                        },
                        "createTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "generateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "expireTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "expireEventTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 10,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "state": {
                          "type": "ImportJobState",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "publicKey": {
                          "type": "WrappingPublicKey",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "publicKeyFormat": {
                          "type": "PublicKey.PublicKeyFormat",
                          "id": 12,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "attestation": {
                          "type": "KeyOperationAttestation",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "cryptoKeyBackend": {
                          "type": "string",
                          "id": 11,
                          "options": {
                            "(google.api.field_behavior)": "IMMUTABLE",
                            "(google.api.resource_reference).type": "*"
                          }
                        }
                      },
                      "nested": {
                        "ImportMethod": {
                          "values": {
                            "IMPORT_METHOD_UNSPECIFIED": 0,
                            "RSA_OAEP_3072_SHA1_AES_256": 1,
                            "RSA_OAEP_4096_SHA1_AES_256": 2,
                            "RSA_OAEP_3072_SHA256_AES_256": 3,
                            "RSA_OAEP_4096_SHA256_AES_256": 4,
                            "RSA_OAEP_3072_SHA256": 5,
                            "RSA_OAEP_4096_SHA256": 6,
                            "HPKE_KEM_ML_KEM_768_HKDF_SHA256_AES_256_GCM": 8,
                            "HPKE_KEM_ML_KEM_1024_HKDF_SHA256_AES_256_GCM": 9,
                            "HPKE_KEM_XWING_HKDF_SHA256_AES_256_GCM": 10
                          }
                        },
                        "ImportJobState": {
                          "values": {
                            "IMPORT_JOB_STATE_UNSPECIFIED": 0,
                            "PENDING_GENERATION": 1,
                            "ACTIVE": 2,
                            "EXPIRED": 3
                          }
                        },
                        "WrappingPublicKey": {
                          "fields": {
                            "pem": {
                              "type": "string",
                              "id": 1
                            },
                            "data": {
                              "type": "bytes",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "OUTPUT_ONLY"
                              }
                            }
                          }
                        }
                      }
                    },
                    "ExternalProtectionLevelOptions": {
                      "fields": {
                        "externalKeyUri": {
                          "type": "string",
                          "id": 1
                        },
                        "ekmConnectionKeyPath": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "KeyAccessJustificationsPolicy": {
                      "fields": {
                        "allowedAccessReasons": {
                          "rule": "repeated",
                          "type": "AccessReason",
                          "id": 1
                        }
                      }
                    },
                    "RetiredResource": {
                      "options": {
                        "(google.api.resource).type": "cloudkms.googleapis.com/RetiredResource",
                        "(google.api.resource).pattern": "projects/{project}/locations/{location}/retiredResources/{retired_resource}",
                        "(google.api.resource).plural": "retiredResources",
                        "(google.api.resource).singular": "retiredResource"
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "IDENTIFIER"
                          }
                        },
                        "originalResource": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "resourceType": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "deleteTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      }
                    },
                    "ProtectionLevel": {
                      "values": {
                        "PROTECTION_LEVEL_UNSPECIFIED": 0,
                        "SOFTWARE": 1,
                        "HSM": 2,
                        "EXTERNAL": 3,
                        "EXTERNAL_VPC": 4,
                        "HSM_SINGLE_TENANT": 5
                      }
                    },
                    "AccessReason": {
                      "valuesOptions": {
                        "MODIFIED_CUSTOMER_INITIATED_ACCESS": {
                          "deprecated": true
                        },
                        "MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION": {
                          "deprecated": true
                        }
                      },
                      "values": {
                        "REASON_UNSPECIFIED": 0,
                        "CUSTOMER_INITIATED_SUPPORT": 1,
                        "GOOGLE_INITIATED_SERVICE": 2,
                        "THIRD_PARTY_DATA_REQUEST": 3,
                        "GOOGLE_INITIATED_REVIEW": 4,
                        "CUSTOMER_INITIATED_ACCESS": 5,
                        "GOOGLE_INITIATED_SYSTEM_OPERATION": 6,
                        "REASON_NOT_EXPECTED": 7,
                        "MODIFIED_CUSTOMER_INITIATED_ACCESS": 8,
                        "MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION": 9,
                        "GOOGLE_RESPONSE_TO_PRODUCTION_ALERT": 10,
                        "CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING": 11
                      }
                    },
                    "KeyManagementService": {
                      "options": {
                        "(google.api.default_host)": "cloudkms.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloudkms"
                      },
                      "methods": {
                        "ListKeyRings": {
                          "requestType": "ListKeyRingsRequest",
                          "responseType": "ListKeyRingsResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/keyRings",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{parent=projects/*/locations/*}/keyRings"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "ListCryptoKeys": {
                          "requestType": "ListCryptoKeysRequest",
                          "responseType": "ListCryptoKeysResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "ListCryptoKeyVersions": {
                          "requestType": "ListCryptoKeyVersionsRequest",
                          "responseType": "ListCryptoKeyVersionsResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "ListImportJobs": {
                          "requestType": "ListImportJobsRequest",
                          "responseType": "ListImportJobsResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "ListRetiredResources": {
                          "requestType": "ListRetiredResourcesRequest",
                          "responseType": "ListRetiredResourcesResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/retiredResources",
                            "(google.api.method_signature)": "parent"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{parent=projects/*/locations/*}/retiredResources"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent"
                            }
                          ]
                        },
                        "GetKeyRing": {
                          "requestType": "GetKeyRingRequest",
                          "responseType": "KeyRing",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/keyRings/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/keyRings/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "GetCryptoKey": {
                          "requestType": "GetCryptoKeyRequest",
                          "responseType": "CryptoKey",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "GetCryptoKeyVersion": {
                          "requestType": "GetCryptoKeyVersionRequest",
                          "responseType": "CryptoKeyVersion",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "GetPublicKey": {
                          "requestType": "GetPublicKeyRequest",
                          "responseType": "PublicKey",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}/publicKey"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "GetImportJob": {
                          "requestType": "GetImportJobRequest",
                          "responseType": "ImportJob",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/keyRings/*/importJobs/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "GetRetiredResource": {
                          "requestType": "GetRetiredResourceRequest",
                          "responseType": "RetiredResource",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/retiredResources/*}",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/retiredResources/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "CreateKeyRing": {
                          "requestType": "CreateKeyRingRequest",
                          "responseType": "KeyRing",
                          "options": {
                            "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/keyRings",
                            "(google.api.http).body": "key_ring",
                            "(google.api.method_signature)": "parent,key_ring_id,key_ring"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{parent=projects/*/locations/*}/keyRings",
                                "body": "key_ring"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,key_ring_id,key_ring"
                            }
                          ]
                        },
                        "CreateCryptoKey": {
                          "requestType": "CreateCryptoKeyRequest",
                          "responseType": "CryptoKey",
                          "options": {
                            "(google.api.http).post": "/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys",
                            "(google.api.http).body": "crypto_key",
                            "(google.api.method_signature)": "parent,crypto_key_id,crypto_key"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{parent=projects/*/locations/*/keyRings/*}/cryptoKeys",
                                "body": "crypto_key"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,crypto_key_id,crypto_key"
                            }
                          ]
                        },
                        "CreateCryptoKeyVersion": {
                          "requestType": "CreateCryptoKeyVersionRequest",
                          "responseType": "CryptoKeyVersion",
                          "options": {
                            "(google.api.http).post": "/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions",
                            "(google.api.http).body": "crypto_key_version",
                            "(google.api.method_signature)": "parent,crypto_key_version"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions",
                                "body": "crypto_key_version"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,crypto_key_version"
                            }
                          ]
                        },
                        "DeleteCryptoKey": {
                          "requestType": "DeleteCryptoKeyRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).delete": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}",
                            "(google.api.method_signature)": "name",
                            "(google.longrunning.operation_info).response_type": "google.protobuf.Empty",
                            "(google.longrunning.operation_info).metadata_type": "DeleteCryptoKeyMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.protobuf.Empty",
                                "metadata_type": "DeleteCryptoKeyMetadata"
                              }
                            }
                          ]
                        },
                        "DeleteCryptoKeyVersion": {
                          "requestType": "DeleteCryptoKeyVersionRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).delete": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}",
                            "(google.api.method_signature)": "name",
                            "(google.longrunning.operation_info).response_type": "google.protobuf.Empty",
                            "(google.longrunning.operation_info).metadata_type": "DeleteCryptoKeyVersionMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.protobuf.Empty",
                                "metadata_type": "DeleteCryptoKeyVersionMetadata"
                              }
                            }
                          ]
                        },
                        "ImportCryptoKeyVersion": {
                          "requestType": "ImportCryptoKeyVersionRequest",
                          "responseType": "CryptoKeyVersion",
                          "options": {
                            "(google.api.http).post": "/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:import",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:import",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "ImportTrustedKeyWrappedCryptoKeyVersion": {
                          "requestType": "ImportTrustedKeyWrappedCryptoKeyVersionRequest",
                          "responseType": "CryptoKeyVersion",
                          "options": {
                            "(google.api.http).post": "/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:importTrustedKeyWrappedCryptoKeyVersion",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{parent=projects/*/locations/*/keyRings/*/cryptoKeys/*}/cryptoKeyVersions:importTrustedKeyWrappedCryptoKeyVersion",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "ExportTrustedKeyWrappedCryptoKeyVersion": {
                          "requestType": "ExportTrustedKeyWrappedCryptoKeyVersionRequest",
                          "responseType": "ExportTrustedKeyWrappedCryptoKeyVersionResponse",
                          "options": {
                            "(google.api.http).get": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:exportTrustedKeyWrappedCryptoKeyVersion"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:exportTrustedKeyWrappedCryptoKeyVersion"
                              }
                            }
                          ]
                        },
                        "CreateImportJob": {
                          "requestType": "CreateImportJobRequest",
                          "responseType": "ImportJob",
                          "options": {
                            "(google.api.http).post": "/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs",
                            "(google.api.http).body": "import_job",
                            "(google.api.method_signature)": "parent,import_job_id,import_job"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{parent=projects/*/locations/*/keyRings/*}/importJobs",
                                "body": "import_job"
                              }
                            },
                            {
                              "(google.api.method_signature)": "parent,import_job_id,import_job"
                            }
                          ]
                        },
                        "UpdateCryptoKey": {
                          "requestType": "UpdateCryptoKeyRequest",
                          "responseType": "CryptoKey",
                          "options": {
                            "(google.api.http).patch": "/v1/{crypto_key.name=projects/*/locations/*/keyRings/*/cryptoKeys/*}",
                            "(google.api.http).body": "crypto_key",
                            "(google.api.method_signature)": "crypto_key,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1/{crypto_key.name=projects/*/locations/*/keyRings/*/cryptoKeys/*}",
                                "body": "crypto_key"
                              }
                            },
                            {
                              "(google.api.method_signature)": "crypto_key,update_mask"
                            }
                          ]
                        },
                        "UpdateCryptoKeyVersion": {
                          "requestType": "UpdateCryptoKeyVersionRequest",
                          "responseType": "CryptoKeyVersion",
                          "options": {
                            "(google.api.http).patch": "/v1/{crypto_key_version.name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}",
                            "(google.api.http).body": "crypto_key_version",
                            "(google.api.method_signature)": "crypto_key_version,update_mask"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "patch": "/v1/{crypto_key_version.name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}",
                                "body": "crypto_key_version"
                              }
                            },
                            {
                              "(google.api.method_signature)": "crypto_key_version,update_mask"
                            }
                          ]
                        },
                        "UpdateCryptoKeyPrimaryVersion": {
                          "requestType": "UpdateCryptoKeyPrimaryVersionRequest",
                          "responseType": "CryptoKey",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:updatePrimaryVersion",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name,crypto_key_version_id"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:updatePrimaryVersion",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name,crypto_key_version_id"
                            }
                          ]
                        },
                        "DestroyCryptoKeyVersion": {
                          "requestType": "DestroyCryptoKeyVersionRequest",
                          "responseType": "CryptoKeyVersion",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:destroy",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:destroy",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "RestoreCryptoKeyVersion": {
                          "requestType": "RestoreCryptoKeyVersionRequest",
                          "responseType": "CryptoKeyVersion",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:restore",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:restore",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name"
                            }
                          ]
                        },
                        "Encrypt": {
                          "requestType": "EncryptRequest",
                          "responseType": "EncryptResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/**}:encrypt",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name,plaintext"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/**}:encrypt",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name,plaintext"
                            }
                          ]
                        },
                        "Decrypt": {
                          "requestType": "DecryptRequest",
                          "responseType": "DecryptResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:decrypt",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name,ciphertext"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*}:decrypt",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name,ciphertext"
                            }
                          ]
                        },
                        "RawEncrypt": {
                          "requestType": "RawEncryptRequest",
                          "responseType": "RawEncryptResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawEncrypt",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawEncrypt",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "RawDecrypt": {
                          "requestType": "RawDecryptRequest",
                          "responseType": "RawDecryptResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawDecrypt",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:rawDecrypt",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "AsymmetricSign": {
                          "requestType": "AsymmetricSignRequest",
                          "responseType": "AsymmetricSignResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricSign",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name,digest"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricSign",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name,digest"
                            }
                          ]
                        },
                        "AsymmetricDecrypt": {
                          "requestType": "AsymmetricDecryptRequest",
                          "responseType": "AsymmetricDecryptResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricDecrypt",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name,ciphertext"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:asymmetricDecrypt",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name,ciphertext"
                            }
                          ]
                        },
                        "MacSign": {
                          "requestType": "MacSignRequest",
                          "responseType": "MacSignResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macSign",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name,data"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macSign",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name,data"
                            }
                          ]
                        },
                        "MacVerify": {
                          "requestType": "MacVerifyRequest",
                          "responseType": "MacVerifyResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macVerify",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "name,data,mac"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:macVerify",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "name,data,mac"
                            }
                          ]
                        },
                        "Decapsulate": {
                          "requestType": "DecapsulateRequest",
                          "responseType": "DecapsulateResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:decapsulate",
                            "(google.api.http).body": "*"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{name=projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*}:decapsulate",
                                "body": "*"
                              }
                            }
                          ]
                        },
                        "GenerateRandomBytes": {
                          "requestType": "GenerateRandomBytesRequest",
                          "responseType": "GenerateRandomBytesResponse",
                          "options": {
                            "(google.api.http).post": "/v1/{location=projects/*/locations/*}:generateRandomBytes",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "location,length_bytes,protection_level"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/{location=projects/*/locations/*}:generateRandomBytes",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "location,length_bytes,protection_level"
                            }
                          ]
                        }
                      }
                    },
                    "ListKeyRingsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListCryptoKeysRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/KeyRing"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "versionView": {
                          "type": "CryptoKeyVersion.CryptoKeyVersionView",
                          "id": 4
                        },
                        "filter": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListCryptoKeyVersionsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKey"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "view": {
                          "type": "CryptoKeyVersion.CryptoKeyVersionView",
                          "id": 4
                        },
                        "filter": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListImportJobsRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/KeyRing"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "filter": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "orderBy": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListRetiredResourcesRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).child_type": "cloudkms.googleapis.com/RetiredResource"
                          }
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ListKeyRingsResponse": {
                      "fields": {
                        "keyRings": {
                          "rule": "repeated",
                          "type": "KeyRing",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "ListCryptoKeysResponse": {
                      "fields": {
                        "cryptoKeys": {
                          "rule": "repeated",
                          "type": "CryptoKey",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "ListCryptoKeyVersionsResponse": {
                      "fields": {
                        "cryptoKeyVersions": {
                          "rule": "repeated",
                          "type": "CryptoKeyVersion",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "ListImportJobsResponse": {
                      "fields": {
                        "importJobs": {
                          "rule": "repeated",
                          "type": "ImportJob",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int32",
                          "id": 3
                        }
                      }
                    },
                    "ListRetiredResourcesResponse": {
                      "fields": {
                        "retiredResources": {
                          "rule": "repeated",
                          "type": "RetiredResource",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        },
                        "totalSize": {
                          "type": "int64",
                          "id": 3
                        }
                      }
                    },
                    "GetKeyRingRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/KeyRing"
                          }
                        }
                      }
                    },
                    "GetCryptoKeyRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKey"
                          }
                        }
                      }
                    },
                    "GetCryptoKeyVersionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        }
                      }
                    },
                    "GetPublicKeyRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        },
                        "publicKeyFormat": {
                          "type": "PublicKey.PublicKeyFormat",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GetImportJobRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/ImportJob"
                          }
                        },
                        "publicKeyFormat": {
                          "type": "PublicKey.PublicKeyFormat",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GetRetiredResourceRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/RetiredResource"
                          }
                        }
                      }
                    },
                    "CreateKeyRingRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "locations.googleapis.com/Location"
                          }
                        },
                        "keyRingId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "keyRing": {
                          "type": "KeyRing",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "CreateCryptoKeyRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/KeyRing"
                          }
                        },
                        "cryptoKeyId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "cryptoKey": {
                          "type": "CryptoKey",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "skipInitialVersionCreation": {
                          "type": "bool",
                          "id": 5
                        },
                        "trustedWrappingEnabled": {
                          "type": "bool",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "CreateCryptoKeyVersionRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKey"
                          }
                        },
                        "cryptoKeyVersion": {
                          "type": "CryptoKeyVersion",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DeleteCryptoKeyRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKey"
                          }
                        }
                      }
                    },
                    "DeleteCryptoKeyVersionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        }
                      }
                    },
                    "ImportCryptoKeyVersionRequest": {
                      "oneofs": {
                        "wrappedKeyMaterial": {
                          "oneof": [
                            "rsaAesWrappedKey"
                          ]
                        }
                      },
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKey"
                          }
                        },
                        "cryptoKeyVersion": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        },
                        "algorithm": {
                          "type": "CryptoKeyVersion.CryptoKeyVersionAlgorithm",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "importJob": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "wrappedKey": {
                          "type": "bytes",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "rsaAesWrappedKey": {
                          "type": "bytes",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "trustedWrappingEnabled": {
                          "type": "bool",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ImportTrustedKeyWrappedCryptoKeyVersionRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "importingKey": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "cryptoKeyVersion": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "wrappedKey": {
                          "type": "bytes",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "algorithm": {
                          "type": "CryptoKeyVersion.CryptoKeyVersionAlgorithm",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ExportTrustedKeyWrappedCryptoKeyVersionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        },
                        "wrappingKey": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        }
                      }
                    },
                    "ExportTrustedKeyWrappedCryptoKeyVersionResponse": {
                      "fields": {
                        "wrappedKey": {
                          "type": "bytes",
                          "id": 1
                        },
                        "wrappedKeyCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 2
                        }
                      }
                    },
                    "CreateImportJobRequest": {
                      "fields": {
                        "parent": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/KeyRing"
                          }
                        },
                        "importJobId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "importJob": {
                          "type": "ImportJob",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UpdateCryptoKeyRequest": {
                      "fields": {
                        "cryptoKey": {
                          "type": "CryptoKey",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UpdateCryptoKeyVersionRequest": {
                      "fields": {
                        "cryptoKeyVersion": {
                          "type": "CryptoKeyVersion",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "updateMask": {
                          "type": "google.protobuf.FieldMask",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "UpdateCryptoKeyPrimaryVersionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKey"
                          }
                        },
                        "cryptoKeyVersionId": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "DestroyCryptoKeyVersionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        }
                      }
                    },
                    "RestoreCryptoKeyVersionRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        }
                      }
                    },
                    "EncryptRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "*"
                          }
                        },
                        "plaintext": {
                          "type": "bytes",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "additionalAuthenticatedData": {
                          "type": "bytes",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "plaintextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "additionalAuthenticatedDataCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "DecryptRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKey"
                          }
                        },
                        "ciphertext": {
                          "type": "bytes",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "additionalAuthenticatedData": {
                          "type": "bytes",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "ciphertextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "additionalAuthenticatedDataCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "RawEncryptRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "plaintext": {
                          "type": "bytes",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "additionalAuthenticatedData": {
                          "type": "bytes",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "plaintextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "additionalAuthenticatedDataCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "initializationVector": {
                          "type": "bytes",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "initializationVectorCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "RawDecryptRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "ciphertext": {
                          "type": "bytes",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "additionalAuthenticatedData": {
                          "type": "bytes",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "initializationVector": {
                          "type": "bytes",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "tagLength": {
                          "type": "int32",
                          "id": 5
                        },
                        "ciphertextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "additionalAuthenticatedDataCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "initializationVectorCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "AsymmetricSignRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        },
                        "digest": {
                          "type": "Digest",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "digestCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "data": {
                          "type": "bytes",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "dataCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "AsymmetricDecryptRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        },
                        "ciphertext": {
                          "type": "bytes",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "ciphertextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "MacSignRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        },
                        "data": {
                          "type": "bytes",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "dataCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "MacVerifyRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        },
                        "data": {
                          "type": "bytes",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "dataCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "mac": {
                          "type": "bytes",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "macCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "DecapsulateRequest": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/CryptoKeyVersion"
                          }
                        },
                        "ciphertext": {
                          "type": "bytes",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "ciphertextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "GenerateRandomBytesRequest": {
                      "fields": {
                        "location": {
                          "type": "string",
                          "id": 1
                        },
                        "lengthBytes": {
                          "type": "int32",
                          "id": 2
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 3
                        }
                      }
                    },
                    "EncryptResponse": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "ciphertext": {
                          "type": "bytes",
                          "id": 2
                        },
                        "ciphertextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 4
                        },
                        "verifiedPlaintextCrc32c": {
                          "type": "bool",
                          "id": 5
                        },
                        "verifiedAdditionalAuthenticatedDataCrc32c": {
                          "type": "bool",
                          "id": 6
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 7
                        }
                      }
                    },
                    "DecryptResponse": {
                      "fields": {
                        "plaintext": {
                          "type": "bytes",
                          "id": 1
                        },
                        "plaintextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 2
                        },
                        "usedPrimary": {
                          "type": "bool",
                          "id": 3
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 4
                        }
                      }
                    },
                    "RawEncryptResponse": {
                      "fields": {
                        "ciphertext": {
                          "type": "bytes",
                          "id": 1
                        },
                        "initializationVector": {
                          "type": "bytes",
                          "id": 2
                        },
                        "tagLength": {
                          "type": "int32",
                          "id": 3
                        },
                        "ciphertextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 4
                        },
                        "initializationVectorCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 5
                        },
                        "verifiedPlaintextCrc32c": {
                          "type": "bool",
                          "id": 6
                        },
                        "verifiedAdditionalAuthenticatedDataCrc32c": {
                          "type": "bool",
                          "id": 7
                        },
                        "verifiedInitializationVectorCrc32c": {
                          "type": "bool",
                          "id": 10
                        },
                        "name": {
                          "type": "string",
                          "id": 8
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 9
                        }
                      }
                    },
                    "RawDecryptResponse": {
                      "fields": {
                        "plaintext": {
                          "type": "bytes",
                          "id": 1
                        },
                        "plaintextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 2
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 3
                        },
                        "verifiedCiphertextCrc32c": {
                          "type": "bool",
                          "id": 4
                        },
                        "verifiedAdditionalAuthenticatedDataCrc32c": {
                          "type": "bool",
                          "id": 5
                        },
                        "verifiedInitializationVectorCrc32c": {
                          "type": "bool",
                          "id": 6
                        }
                      }
                    },
                    "AsymmetricSignResponse": {
                      "fields": {
                        "signature": {
                          "type": "bytes",
                          "id": 1
                        },
                        "signatureCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 2
                        },
                        "verifiedDigestCrc32c": {
                          "type": "bool",
                          "id": 3
                        },
                        "name": {
                          "type": "string",
                          "id": 4
                        },
                        "verifiedDataCrc32c": {
                          "type": "bool",
                          "id": 5
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 6
                        }
                      }
                    },
                    "AsymmetricDecryptResponse": {
                      "fields": {
                        "plaintext": {
                          "type": "bytes",
                          "id": 1
                        },
                        "plaintextCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 2
                        },
                        "verifiedCiphertextCrc32c": {
                          "type": "bool",
                          "id": 3
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 4
                        }
                      }
                    },
                    "MacSignResponse": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "mac": {
                          "type": "bytes",
                          "id": 2
                        },
                        "macCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 3
                        },
                        "verifiedDataCrc32c": {
                          "type": "bool",
                          "id": 4
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 5
                        }
                      }
                    },
                    "MacVerifyResponse": {
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "success": {
                          "type": "bool",
                          "id": 2
                        },
                        "verifiedDataCrc32c": {
                          "type": "bool",
                          "id": 3
                        },
                        "verifiedMacCrc32c": {
                          "type": "bool",
                          "id": 4
                        },
                        "verifiedSuccessIntegrity": {
                          "type": "bool",
                          "id": 5
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 6
                        }
                      }
                    },
                    "DecapsulateResponse": {
                      "oneofs": {
                        "_sharedSecretCrc32c": {
                          "oneof": [
                            "sharedSecretCrc32c"
                          ]
                        }
                      },
                      "fields": {
                        "name": {
                          "type": "string",
                          "id": 1
                        },
                        "sharedSecret": {
                          "type": "bytes",
                          "id": 2
                        },
                        "sharedSecretCrc32c": {
                          "type": "int64",
                          "id": 3,
                          "options": {
                            "proto3_optional": true
                          }
                        },
                        "verifiedCiphertextCrc32c": {
                          "type": "bool",
                          "id": 4
                        },
                        "protectionLevel": {
                          "type": "ProtectionLevel",
                          "id": 5
                        }
                      }
                    },
                    "GenerateRandomBytesResponse": {
                      "fields": {
                        "data": {
                          "type": "bytes",
                          "id": 1
                        },
                        "dataCrc32c": {
                          "type": "google.protobuf.Int64Value",
                          "id": 3
                        }
                      }
                    },
                    "Digest": {
                      "oneofs": {
                        "digest": {
                          "oneof": [
                            "sha256",
                            "sha384",
                            "sha512",
                            "externalMu"
                          ]
                        }
                      },
                      "fields": {
                        "sha256": {
                          "type": "bytes",
                          "id": 1
                        },
                        "sha384": {
                          "type": "bytes",
                          "id": 2
                        },
                        "sha512": {
                          "type": "bytes",
                          "id": 3
                        },
                        "externalMu": {
                          "type": "bytes",
                          "id": 4
                        }
                      }
                    },
                    "LocationMetadata": {
                      "fields": {
                        "hsmAvailable": {
                          "type": "bool",
                          "id": 1
                        },
                        "ekmAvailable": {
                          "type": "bool",
                          "id": 2
                        },
                        "hsmSingleTenantAvailable": {
                          "type": "bool",
                          "id": 3
                        }
                      }
                    },
                    "DeleteCryptoKeyMetadata": {
                      "fields": {
                        "retiredResource": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY",
                            "(google.api.resource_reference).type": "cloudkms.googleapis.com/RetiredResource"
                          }
                        }
                      }
                    },
                    "DeleteCryptoKeyVersionMetadata": {
                      "fields": {}
                    }
                  }
                }
              }
            }
          }
        },
        "api": {
          "options": {
            "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations",
            "java_multiple_files": true,
            "java_outer_classname": "ResourceProto",
            "java_package": "com.google.api",
            "objc_class_prefix": "GAPI"
          },
          "nested": {
            "http": {
              "type": "HttpRule",
              "id": 72295728,
              "extend": "google.protobuf.MethodOptions"
            },
            "Http": {
              "fields": {
                "rules": {
                  "rule": "repeated",
                  "type": "HttpRule",
                  "id": 1
                },
                "fullyDecodeReservedExpansion": {
                  "type": "bool",
                  "id": 2
                }
              }
            },
            "HttpRule": {
              "oneofs": {
                "pattern": {
                  "oneof": [
                    "get",
                    "put",
                    "post",
                    "delete",
                    "patch",
                    "custom"
                  ]
                }
              },
              "fields": {
                "selector": {
                  "type": "string",
                  "id": 1
                },
                "get": {
                  "type": "string",
                  "id": 2
                },
                "put": {
                  "type": "string",
                  "id": 3
                },
                "post": {
                  "type": "string",
                  "id": 4
                },
                "delete": {
                  "type": "string",
                  "id": 5
                },
                "patch": {
                  "type": "string",
                  "id": 6
                },
                "custom": {
                  "type": "CustomHttpPattern",
                  "id": 8
                },
                "body": {
                  "type": "string",
                  "id": 7
                },
                "responseBody": {
                  "type": "string",
                  "id": 12
                },
                "additionalBindings": {
                  "rule": "repeated",
                  "type": "HttpRule",
                  "id": 11
                }
              }
            },
            "CustomHttpPattern": {
              "fields": {
                "kind": {
                  "type": "string",
                  "id": 1
                },
                "path": {
                  "type": "string",
                  "id": 2
                }
              }
            },
            "methodSignature": {
              "rule": "repeated",
              "type": "string",
              "id": 1051,
              "extend": "google.protobuf.MethodOptions"
            },
            "defaultHost": {
              "type": "string",
              "id": 1049,
              "extend": "google.protobuf.ServiceOptions"
            },
            "oauthScopes": {
              "type": "string",
              "id": 1050,
              "extend": "google.protobuf.ServiceOptions"
            },
            "apiVersion": {
              "type": "string",
              "id": 525000001,
              "extend": "google.protobuf.ServiceOptions"
            },
            "CommonLanguageSettings": {
              "fields": {
                "referenceDocsUri": {
                  "type": "string",
                  "id": 1,
                  "options": {
                    "deprecated": true
                  }
                },
                "destinations": {
                  "rule": "repeated",
                  "type": "ClientLibraryDestination",
                  "id": 2
                },
                "selectiveGapicGeneration": {
                  "type": "SelectiveGapicGeneration",
                  "id": 3
                }
              }
            },
            "ClientLibrarySettings": {
              "fields": {
                "version": {
                  "type": "string",
                  "id": 1
                },
                "launchStage": {
                  "type": "LaunchStage",
                  "id": 2
                },
                "restNumericEnums": {
                  "type": "bool",
                  "id": 3
                },
                "javaSettings": {
                  "type": "JavaSettings",
                  "id": 21
                },
                "cppSettings": {
                  "type": "CppSettings",
                  "id": 22
                },
                "phpSettings": {
                  "type": "PhpSettings",
                  "id": 23
                },
                "pythonSettings": {
                  "type": "PythonSettings",
                  "id": 24
                },
                "nodeSettings": {
                  "type": "NodeSettings",
                  "id": 25
                },
                "dotnetSettings": {
                  "type": "DotnetSettings",
                  "id": 26
                },
                "rubySettings": {
                  "type": "RubySettings",
                  "id": 27
                },
                "goSettings": {
                  "type": "GoSettings",
                  "id": 28
                }
              }
            },
            "Publishing": {
              "fields": {
                "methodSettings": {
                  "rule": "repeated",
                  "type": "MethodSettings",
                  "id": 2
                },
                "newIssueUri": {
                  "type": "string",
                  "id": 101
                },
                "documentationUri": {
                  "type": "string",
                  "id": 102
                },
                "apiShortName": {
                  "type": "string",
                  "id": 103
                },
                "githubLabel": {
                  "type": "string",
                  "id": 104
                },
                "codeownerGithubTeams": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 105
                },
                "docTagPrefix": {
                  "type": "string",
                  "id": 106
                },
                "organization": {
                  "type": "ClientLibraryOrganization",
                  "id": 107
                },
                "librarySettings": {
                  "rule": "repeated",
                  "type": "ClientLibrarySettings",
                  "id": 109
                },
                "protoReferenceDocumentationUri": {
                  "type": "string",
                  "id": 110
                },
                "restReferenceDocumentationUri": {
                  "type": "string",
                  "id": 111
                }
              }
            },
            "JavaSettings": {
              "fields": {
                "libraryPackage": {
                  "type": "string",
                  "id": 1
                },
                "serviceClassNames": {
                  "keyType": "string",
                  "type": "string",
                  "id": 2
                },
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 3
                }
              }
            },
            "CppSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "PhpSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                },
                "libraryPackage": {
                  "type": "string",
                  "id": 2
                }
              }
            },
            "PythonSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                },
                "experimentalFeatures": {
                  "type": "ExperimentalFeatures",
                  "id": 2
                }
              },
              "nested": {
                "ExperimentalFeatures": {
                  "fields": {
                    "restAsyncIoEnabled": {
                      "type": "bool",
                      "id": 1
                    },
                    "protobufPythonicTypesEnabled": {
                      "type": "bool",
                      "id": 2
                    },
                    "unversionedPackageDisabled": {
                      "type": "bool",
                      "id": 3
                    }
                  }
                }
              }
            },
            "NodeSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "DotnetSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                },
                "renamedServices": {
                  "keyType": "string",
                  "type": "string",
                  "id": 2
                },
                "renamedResources": {
                  "keyType": "string",
                  "type": "string",
                  "id": 3
                },
                "ignoredResources": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 4
                },
                "forcedNamespaceAliases": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 5
                },
                "handwrittenSignatures": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 6
                }
              }
            },
            "RubySettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "GoSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                },
                "renamedServices": {
                  "keyType": "string",
                  "type": "string",
                  "id": 2
                }
              }
            },
            "MethodSettings": {
              "fields": {
                "selector": {
                  "type": "string",
                  "id": 1
                },
                "longRunning": {
                  "type": "LongRunning",
                  "id": 2
                },
                "autoPopulatedFields": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                },
                "batching": {
                  "type": "BatchingConfigProto",
                  "id": 4
                }
              },
              "nested": {
                "LongRunning": {
                  "fields": {
                    "initialPollDelay": {
                      "type": "google.protobuf.Duration",
                      "id": 1
                    },
                    "pollDelayMultiplier": {
                      "type": "float",
                      "id": 2
                    },
                    "maxPollDelay": {
                      "type": "google.protobuf.Duration",
                      "id": 3
                    },
                    "totalPollTimeout": {
                      "type": "google.protobuf.Duration",
                      "id": 4
                    }
                  }
                }
              }
            },
            "ClientLibraryOrganization": {
              "values": {
                "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED": 0,
                "CLOUD": 1,
                "ADS": 2,
                "PHOTOS": 3,
                "STREET_VIEW": 4,
                "SHOPPING": 5,
                "GEO": 6,
                "GENERATIVE_AI": 7
              }
            },
            "ClientLibraryDestination": {
              "values": {
                "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED": 0,
                "GITHUB": 10,
                "PACKAGE_MANAGER": 20
              }
            },
            "SelectiveGapicGeneration": {
              "fields": {
                "methods": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 1
                },
                "generateOmittedAsInternal": {
                  "type": "bool",
                  "id": 2
                }
              }
            },
            "BatchingConfigProto": {
              "fields": {
                "thresholds": {
                  "type": "BatchingSettingsProto",
                  "id": 1
                },
                "batchDescriptor": {
                  "type": "BatchingDescriptorProto",
                  "id": 2
                }
              }
            },
            "BatchingSettingsProto": {
              "fields": {
                "elementCountThreshold": {
                  "type": "int32",
                  "id": 1
                },
                "requestByteThreshold": {
                  "type": "int64",
                  "id": 2
                },
                "delayThreshold": {
                  "type": "google.protobuf.Duration",
                  "id": 3
                },
                "elementCountLimit": {
                  "type": "int32",
                  "id": 4
                },
                "requestByteLimit": {
                  "type": "int32",
                  "id": 5
                },
                "flowControlElementLimit": {
                  "type": "int32",
                  "id": 6
                },
                "flowControlByteLimit": {
                  "type": "int32",
                  "id": 7
                },
                "flowControlLimitExceededBehavior": {
                  "type": "FlowControlLimitExceededBehaviorProto",
                  "id": 8
                }
              }
            },
            "FlowControlLimitExceededBehaviorProto": {
              "values": {
                "UNSET_BEHAVIOR": 0,
                "THROW_EXCEPTION": 1,
                "BLOCK": 2,
                "IGNORE": 3
              }
            },
            "BatchingDescriptorProto": {
              "fields": {
                "batchedField": {
                  "type": "string",
                  "id": 1
                },
                "discriminatorFields": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 2
                },
                "subresponseField": {
                  "type": "string",
                  "id": 3
                }
              }
            },
            "LaunchStage": {
              "values": {
                "LAUNCH_STAGE_UNSPECIFIED": 0,
                "UNIMPLEMENTED": 6,
                "PRELAUNCH": 7,
                "EARLY_ACCESS": 1,
                "ALPHA": 2,
                "BETA": 3,
                "GA": 4,
                "DEPRECATED": 5
              }
            },
            "fieldBehavior": {
              "rule": "repeated",
              "type": "google.api.FieldBehavior",
              "id": 1052,
              "extend": "google.protobuf.FieldOptions",
              "options": {
                "packed": false
              }
            },
            "FieldBehavior": {
              "values": {
                "FIELD_BEHAVIOR_UNSPECIFIED": 0,
                "OPTIONAL": 1,
                "REQUIRED": 2,
                "OUTPUT_ONLY": 3,
                "INPUT_ONLY": 4,
                "IMMUTABLE": 5,
                "UNORDERED_LIST": 6,
                "NON_EMPTY_DEFAULT": 7,
                "IDENTIFIER": 8
              }
            },
            "resourceReference": {
              "type": "google.api.ResourceReference",
              "id": 1055,
              "extend": "google.protobuf.FieldOptions"
            },
            "resourceDefinition": {
              "rule": "repeated",
              "type": "google.api.ResourceDescriptor",
              "id": 1053,
              "extend": "google.protobuf.FileOptions"
            },
            "resource": {
              "type": "google.api.ResourceDescriptor",
              "id": 1053,
              "extend": "google.protobuf.MessageOptions"
            },
            "ResourceDescriptor": {
              "fields": {
                "type": {
                  "type": "string",
                  "id": 1
                },
                "pattern": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 2
                },
                "nameField": {
                  "type": "string",
                  "id": 3
                },
                "history": {
                  "type": "History",
                  "id": 4
                },
                "plural": {
                  "type": "string",
                  "id": 5
                },
                "singular": {
                  "type": "string",
                  "id": 6
                },
                "style": {
                  "rule": "repeated",
                  "type": "Style",
                  "id": 10
                }
              },
              "nested": {
                "History": {
                  "values": {
                    "HISTORY_UNSPECIFIED": 0,
                    "ORIGINALLY_SINGLE_PATTERN": 1,
                    "FUTURE_MULTI_PATTERN": 2
                  }
                },
                "Style": {
                  "values": {
                    "STYLE_UNSPECIFIED": 0,
                    "DECLARATIVE_FRIENDLY": 1
                  }
                }
              }
            },
            "ResourceReference": {
              "fields": {
                "type": {
                  "type": "string",
                  "id": 1
                },
                "childType": {
                  "type": "string",
                  "id": 2
                }
              }
            }
          }
        },
        "protobuf": {
          "options": {
            "go_package": "google.golang.org/protobuf/types/descriptorpb",
            "java_package": "com.google.protobuf",
            "java_outer_classname": "DescriptorProtos",
            "csharp_namespace": "Google.Protobuf.Reflection",
            "objc_class_prefix": "GPB",
            "cc_enable_arenas": true,
            "optimize_for": "SPEED"
          },
          "nested": {
            "FileDescriptorSet": {
              "edition": "proto2",
              "fields": {
                "file": {
                  "rule": "repeated",
                  "type": "FileDescriptorProto",
                  "id": 1
                }
              },
              "extensions": [
                [
                  536000000,
                  536000000
                ]
              ]
            },
            "Edition": {
              "edition": "proto2",
              "values": {
                "EDITION_UNKNOWN": 0,
                "EDITION_LEGACY": 900,
                "EDITION_PROTO2": 998,
                "EDITION_PROTO3": 999,
                "EDITION_2023": 1000,
                "EDITION_2024": 1001,
                "EDITION_2026": 1002,
                "EDITION_UNSTABLE": 9999,
                "EDITION_1_TEST_ONLY": 1,
                "EDITION_2_TEST_ONLY": 2,
                "EDITION_99997_TEST_ONLY": 99997,
                "EDITION_99998_TEST_ONLY": 99998,
                "EDITION_99999_TEST_ONLY": 99999,
                "EDITION_MAX": 2147483647
              }
            },
            "FileDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "package": {
                  "type": "string",
                  "id": 2
                },
                "dependency": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                },
                "publicDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 10
                },
                "weakDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 11
                },
                "optionDependency": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 15
                },
                "messageType": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 4
                },
                "enumType": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 5
                },
                "service": {
                  "rule": "repeated",
                  "type": "ServiceDescriptorProto",
                  "id": 6
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 7
                },
                "options": {
                  "type": "FileOptions",
                  "id": 8
                },
                "sourceCodeInfo": {
                  "type": "SourceCodeInfo",
                  "id": 9
                },
                "syntax": {
                  "type": "string",
                  "id": 12
                },
                "edition": {
                  "type": "Edition",
                  "id": 14
                }
              }
            },
            "DescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "field": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 2
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 6
                },
                "nestedType": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 3
                },
                "enumType": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 4
                },
                "extensionRange": {
                  "rule": "repeated",
                  "type": "ExtensionRange",
                  "id": 5
                },
                "oneofDecl": {
                  "rule": "repeated",
                  "type": "OneofDescriptorProto",
                  "id": 8
                },
                "options": {
                  "type": "MessageOptions",
                  "id": 7
                },
                "reservedRange": {
                  "rule": "repeated",
                  "type": "ReservedRange",
                  "id": 9
                },
                "reservedName": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 10
                },
                "visibility": {
                  "type": "SymbolVisibility",
                  "id": 11
                }
              },
              "nested": {
                "ExtensionRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    },
                    "options": {
                      "type": "ExtensionRangeOptions",
                      "id": 3
                    }
                  }
                },
                "ReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "ExtensionRangeOptions": {
              "edition": "proto2",
              "fields": {
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                },
                "declaration": {
                  "rule": "repeated",
                  "type": "Declaration",
                  "id": 2,
                  "options": {
                    "retention": "RETENTION_SOURCE"
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 50
                },
                "verification": {
                  "type": "VerificationState",
                  "id": 3,
                  "options": {
                    "default": "UNVERIFIED",
                    "retention": "RETENTION_SOURCE"
                  }
                }
              },
              "extensions": [
                [
                  990,
                  998
                ],
                [
                  1000,
                  536870911
                ]
              ],
              "nested": {
                "Declaration": {
                  "fields": {
                    "number": {
                      "type": "int32",
                      "id": 1
                    },
                    "fullName": {
                      "type": "string",
                      "id": 2
                    },
                    "type": {
                      "type": "string",
                      "id": 3
                    },
                    "reserved": {
                      "type": "bool",
                      "id": 5
                    },
                    "repeated": {
                      "type": "bool",
                      "id": 6
                    }
                  },
                  "reserved": [
                    [
                      4,
                      4
                    ]
                  ]
                },
                "VerificationState": {
                  "values": {
                    "DECLARATION": 0,
                    "UNVERIFIED": 1
                  }
                }
              }
            },
            "FieldDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 3
                },
                "label": {
                  "type": "Label",
                  "id": 4
                },
                "type": {
                  "type": "Type",
                  "id": 5
                },
                "typeName": {
                  "type": "string",
                  "id": 6
                },
                "extendee": {
                  "type": "string",
                  "id": 2
                },
                "defaultValue": {
                  "type": "string",
                  "id": 7
                },
                "oneofIndex": {
                  "type": "int32",
                  "id": 9
                },
                "jsonName": {
                  "type": "string",
                  "id": 10
                },
                "options": {
                  "type": "FieldOptions",
                  "id": 8
                },
                "proto3Optional": {
                  "type": "bool",
                  "id": 17
                }
              },
              "nested": {
                "Type": {
                  "values": {
                    "TYPE_DOUBLE": 1,
                    "TYPE_FLOAT": 2,
                    "TYPE_INT64": 3,
                    "TYPE_UINT64": 4,
                    "TYPE_INT32": 5,
                    "TYPE_FIXED64": 6,
                    "TYPE_FIXED32": 7,
                    "TYPE_BOOL": 8,
                    "TYPE_STRING": 9,
                    "TYPE_GROUP": 10,
                    "TYPE_MESSAGE": 11,
                    "TYPE_BYTES": 12,
                    "TYPE_UINT32": 13,
                    "TYPE_ENUM": 14,
                    "TYPE_SFIXED32": 15,
                    "TYPE_SFIXED64": 16,
                    "TYPE_SINT32": 17,
                    "TYPE_SINT64": 18
                  }
                },
                "Label": {
                  "values": {
                    "LABEL_OPTIONAL": 1,
                    "LABEL_REPEATED": 3,
                    "LABEL_REQUIRED": 2
                  }
                }
              }
            },
            "OneofDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "options": {
                  "type": "OneofOptions",
                  "id": 2
                }
              }
            },
            "EnumDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "rule": "repeated",
                  "type": "EnumValueDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "EnumOptions",
                  "id": 3
                },
                "reservedRange": {
                  "rule": "repeated",
                  "type": "EnumReservedRange",
                  "id": 4
                },
                "reservedName": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 5
                },
                "visibility": {
                  "type": "SymbolVisibility",
                  "id": 6
                }
              },
              "nested": {
                "EnumReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "EnumValueDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 2
                },
                "options": {
                  "type": "EnumValueOptions",
                  "id": 3
                }
              }
            },
            "ServiceDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "method": {
                  "rule": "repeated",
                  "type": "MethodDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "ServiceOptions",
                  "id": 3
                }
              },
              "reserved": [
                [
                  4,
                  4
                ],
                "stream"
              ]
            },
            "MethodDescriptorProto": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "inputType": {
                  "type": "string",
                  "id": 2
                },
                "outputType": {
                  "type": "string",
                  "id": 3
                },
                "options": {
                  "type": "MethodOptions",
                  "id": 4
                },
                "clientStreaming": {
                  "type": "bool",
                  "id": 5,
                  "options": {
                    "default": false
                  }
                },
                "serverStreaming": {
                  "type": "bool",
                  "id": 6,
                  "options": {
                    "default": false
                  }
                }
              }
            },
            "FileOptions": {
              "edition": "proto2",
              "fields": {
                "javaPackage": {
                  "type": "string",
                  "id": 1
                },
                "javaOuterClassname": {
                  "type": "string",
                  "id": 8
                },
                "javaMultipleFiles": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false,
                    "feature_support.edition_introduced": "EDITION_PROTO2",
                    "feature_support.edition_removed": "EDITION_2024",
                    "feature_support.removal_error": "This behavior is enabled by default in editions 2024 and above. To disable it, you can set `features.(pb.java).nest_in_file_class = YES` on individual messages, enums, or services."
                  }
                },
                "javaGenerateEqualsAndHash": {
                  "type": "bool",
                  "id": 20,
                  "options": {
                    "deprecated": true
                  }
                },
                "javaStringCheckUtf8": {
                  "type": "bool",
                  "id": 27,
                  "options": {
                    "default": false
                  }
                },
                "optimizeFor": {
                  "type": "OptimizeMode",
                  "id": 9,
                  "options": {
                    "default": "SPEED"
                  }
                },
                "goPackage": {
                  "type": "string",
                  "id": 11
                },
                "ccGenericServices": {
                  "type": "bool",
                  "id": 16,
                  "options": {
                    "default": false
                  }
                },
                "javaGenericServices": {
                  "type": "bool",
                  "id": 17,
                  "options": {
                    "default": false
                  }
                },
                "pyGenericServices": {
                  "type": "bool",
                  "id": 18,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 23,
                  "options": {
                    "default": false
                  }
                },
                "ccEnableArenas": {
                  "type": "bool",
                  "id": 31,
                  "options": {
                    "default": true,
                    "feature_support.edition_removed": "EDITION_2026",
                    "feature_support.removal_error": "cc_enable_arenas is enabled by default in every edition and overrides are ignored.This option is removed in editions 2026 and above."
                  }
                },
                "objcClassPrefix": {
                  "type": "string",
                  "id": 36
                },
                "csharpNamespace": {
                  "type": "string",
                  "id": 37
                },
                "swiftPrefix": {
                  "type": "string",
                  "id": 39
                },
                "phpClassPrefix": {
                  "type": "string",
                  "id": 40
                },
                "phpNamespace": {
                  "type": "string",
                  "id": 41
                },
                "phpMetadataNamespace": {
                  "type": "string",
                  "id": 44
                },
                "rubyPackage": {
                  "type": "string",
                  "id": 45
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 50
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  990,
                  998
                ],
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  42,
                  42
                ],
                "php_generic_services",
                [
                  38,
                  38
                ]
              ],
              "nested": {
                "OptimizeMode": {
                  "values": {
                    "SPEED": 1,
                    "CODE_SIZE": 2,
                    "LITE_RUNTIME": 3
                  }
                }
              }
            },
            "MessageOptions": {
              "edition": "proto2",
              "fields": {
                "messageSetWireFormat": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "noStandardDescriptorAccessor": {
                  "type": "bool",
                  "id": 2,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "mapEntry": {
                  "type": "bool",
                  "id": 7
                },
                "deprecatedLegacyJsonFieldConflicts": {
                  "type": "bool",
                  "id": 11,
                  "options": {
                    "deprecated": true
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 12
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  990,
                  998
                ],
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ],
                [
                  5,
                  5
                ],
                [
                  6,
                  6
                ],
                [
                  8,
                  8
                ],
                [
                  9,
                  9
                ]
              ]
            },
            "FieldOptions": {
              "edition": "proto2",
              "fields": {
                "ctype": {
                  "type": "CType",
                  "id": 1,
                  "options": {
                    "default": "STRING"
                  }
                },
                "packed": {
                  "type": "bool",
                  "id": 2
                },
                "jstype": {
                  "type": "JSType",
                  "id": 6,
                  "options": {
                    "default": "JS_NORMAL"
                  }
                },
                "lazy": {
                  "type": "bool",
                  "id": 5,
                  "options": {
                    "default": false
                  }
                },
                "unverifiedLazy": {
                  "type": "bool",
                  "id": 15,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "weak": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false,
                    "deprecated": true
                  }
                },
                "debugRedact": {
                  "type": "bool",
                  "id": 16,
                  "options": {
                    "default": false
                  }
                },
                "retention": {
                  "type": "OptionRetention",
                  "id": 17
                },
                "targets": {
                  "rule": "repeated",
                  "type": "OptionTargetType",
                  "id": 19
                },
                "editionDefaults": {
                  "rule": "repeated",
                  "type": "EditionDefault",
                  "id": 20
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 21
                },
                "featureSupport": {
                  "type": "FeatureSupport",
                  "id": 22
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  990,
                  998
                ],
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ],
                [
                  18,
                  18
                ]
              ],
              "nested": {
                "CType": {
                  "values": {
                    "STRING": 0,
                    "CORD": 1,
                    "STRING_PIECE": 2
                  }
                },
                "JSType": {
                  "values": {
                    "JS_NORMAL": 0,
                    "JS_STRING": 1,
                    "JS_NUMBER": 2
                  }
                },
                "OptionRetention": {
                  "values": {
                    "RETENTION_UNKNOWN": 0,
                    "RETENTION_RUNTIME": 1,
                    "RETENTION_SOURCE": 2
                  }
                },
                "OptionTargetType": {
                  "values": {
                    "TARGET_TYPE_UNKNOWN": 0,
                    "TARGET_TYPE_FILE": 1,
                    "TARGET_TYPE_EXTENSION_RANGE": 2,
                    "TARGET_TYPE_MESSAGE": 3,
                    "TARGET_TYPE_FIELD": 4,
                    "TARGET_TYPE_ONEOF": 5,
                    "TARGET_TYPE_ENUM": 6,
                    "TARGET_TYPE_ENUM_ENTRY": 7,
                    "TARGET_TYPE_SERVICE": 8,
                    "TARGET_TYPE_METHOD": 9
                  }
                },
                "EditionDefault": {
                  "fields": {
                    "edition": {
                      "type": "Edition",
                      "id": 3
                    },
                    "value": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "FeatureSupport": {
                  "fields": {
                    "editionIntroduced": {
                      "type": "Edition",
                      "id": 1
                    },
                    "editionDeprecated": {
                      "type": "Edition",
                      "id": 2
                    },
                    "deprecationWarning": {
                      "type": "string",
                      "id": 3
                    },
                    "editionRemoved": {
                      "type": "Edition",
                      "id": 4
                    },
                    "removalError": {
                      "type": "string",
                      "id": 5
                    }
                  }
                }
              }
            },
            "OneofOptions": {
              "edition": "proto2",
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 1
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  990,
                  998
                ],
                [
                  1000,
                  536870911
                ]
              ]
            },
            "EnumOptions": {
              "edition": "proto2",
              "fields": {
                "allowAlias": {
                  "type": "bool",
                  "id": 2
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "deprecatedLegacyJsonFieldConflicts": {
                  "type": "bool",
                  "id": 6,
                  "options": {
                    "deprecated": true
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 7
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  990,
                  998
                ],
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  5,
                  5
                ]
              ]
            },
            "EnumValueOptions": {
              "edition": "proto2",
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 2
                },
                "debugRedact": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "featureSupport": {
                  "type": "FieldOptions.FeatureSupport",
                  "id": 4
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  990,
                  998
                ],
                [
                  1000,
                  536870911
                ]
              ]
            },
            "ServiceOptions": {
              "edition": "proto2",
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 34
                },
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  990,
                  998
                ],
                [
                  1000,
                  536870911
                ]
              ]
            },
            "MethodOptions": {
              "edition": "proto2",
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "idempotencyLevel": {
                  "type": "IdempotencyLevel",
                  "id": 34,
                  "options": {
                    "default": "IDEMPOTENCY_UNKNOWN"
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 35
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  990,
                  998
                ],
                [
                  1000,
                  536870911
                ]
              ],
              "nested": {
                "IdempotencyLevel": {
                  "values": {
                    "IDEMPOTENCY_UNKNOWN": 0,
                    "NO_SIDE_EFFECTS": 1,
                    "IDEMPOTENT": 2
                  }
                }
              }
            },
            "UninterpretedOption": {
              "edition": "proto2",
              "fields": {
                "name": {
                  "rule": "repeated",
                  "type": "NamePart",
                  "id": 2
                },
                "identifierValue": {
                  "type": "string",
                  "id": 3
                },
                "positiveIntValue": {
                  "type": "uint64",
                  "id": 4
                },
                "negativeIntValue": {
                  "type": "int64",
                  "id": 5
                },
                "doubleValue": {
                  "type": "double",
                  "id": 6
                },
                "stringValue": {
                  "type": "bytes",
                  "id": 7
                },
                "aggregateValue": {
                  "type": "string",
                  "id": 8
                }
              },
              "nested": {
                "NamePart": {
                  "fields": {
                    "namePart": {
                      "rule": "required",
                      "type": "string",
                      "id": 1
                    },
                    "isExtension": {
                      "rule": "required",
                      "type": "bool",
                      "id": 2
                    }
                  }
                }
              }
            },
            "FeatureSet": {
              "edition": "proto2",
              "fields": {
                "fieldPresence": {
                  "type": "FieldPresence",
                  "id": 1,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_2023",
                    "edition_defaults.value": "EXPLICIT"
                  }
                },
                "enumType": {
                  "type": "EnumType",
                  "id": 2,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "OPEN"
                  }
                },
                "repeatedFieldEncoding": {
                  "type": "RepeatedFieldEncoding",
                  "id": 3,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "PACKED"
                  }
                },
                "utf8Validation": {
                  "type": "Utf8Validation",
                  "id": 4,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "VERIFY"
                  }
                },
                "messageEncoding": {
                  "type": "MessageEncoding",
                  "id": 5,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_LEGACY",
                    "edition_defaults.value": "LENGTH_PREFIXED"
                  }
                },
                "jsonFormat": {
                  "type": "JsonFormat",
                  "id": 6,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "ALLOW"
                  }
                },
                "enforceNamingStyle": {
                  "type": "EnforceNamingStyle",
                  "id": 7,
                  "options": {
                    "retention": "RETENTION_SOURCE",
                    "targets": "TARGET_TYPE_METHOD",
                    "feature_support.edition_introduced": "EDITION_2024",
                    "edition_defaults.edition": "EDITION_2026",
                    "edition_defaults.value": "STYLE2026"
                  }
                },
                "defaultSymbolVisibility": {
                  "type": "VisibilityFeature.DefaultSymbolVisibility",
                  "id": 8,
                  "options": {
                    "retention": "RETENTION_SOURCE",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2024",
                    "edition_defaults.edition": "EDITION_2024",
                    "edition_defaults.value": "EXPORT_TOP_LEVEL"
                  }
                },
                "enforceProtoLimits": {
                  "type": "ProtoLimitsFeature.EnforceProtoLimits",
                  "id": 9,
                  "options": {
                    "retention": "RETENTION_SOURCE",
                    "targets": "TARGET_TYPE_ONEOF",
                    "feature_support.edition_introduced": "EDITION_2026",
                    "edition_defaults.edition": "EDITION_2026",
                    "edition_defaults.value": "PROTO_LIMITS2026"
                  }
                }
              },
              "extensions": [
                [
                  1000,
                  9994
                ],
                [
                  9995,
                  9999
                ],
                [
                  10000,
                  10000
                ]
              ],
              "reserved": [
                [
                  999,
                  999
                ]
              ],
              "nested": {
                "FieldPresence": {
                  "values": {
                    "FIELD_PRESENCE_UNKNOWN": 0,
                    "EXPLICIT": 1,
                    "IMPLICIT": 2,
                    "LEGACY_REQUIRED": 3
                  }
                },
                "EnumType": {
                  "values": {
                    "ENUM_TYPE_UNKNOWN": 0,
                    "OPEN": 1,
                    "CLOSED": 2
                  }
                },
                "RepeatedFieldEncoding": {
                  "values": {
                    "REPEATED_FIELD_ENCODING_UNKNOWN": 0,
                    "PACKED": 1,
                    "EXPANDED": 2
                  }
                },
                "Utf8Validation": {
                  "values": {
                    "UTF8_VALIDATION_UNKNOWN": 0,
                    "VERIFY": 2,
                    "NONE": 3
                  },
                  "reserved": [
                    [
                      1,
                      1
                    ]
                  ]
                },
                "MessageEncoding": {
                  "values": {
                    "MESSAGE_ENCODING_UNKNOWN": 0,
                    "LENGTH_PREFIXED": 1,
                    "DELIMITED": 2
                  }
                },
                "JsonFormat": {
                  "values": {
                    "JSON_FORMAT_UNKNOWN": 0,
                    "ALLOW": 1,
                    "LEGACY_BEST_EFFORT": 2
                  }
                },
                "EnforceNamingStyle": {
                  "values": {
                    "ENFORCE_NAMING_STYLE_UNKNOWN": 0,
                    "STYLE2024": 1,
                    "STYLE_LEGACY": 2,
                    "STYLE2026": 3
                  }
                },
                "VisibilityFeature": {
                  "fields": {},
                  "reserved": [
                    [
                      1,
                      536870911
                    ]
                  ],
                  "nested": {
                    "DefaultSymbolVisibility": {
                      "values": {
                        "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0,
                        "EXPORT_ALL": 1,
                        "EXPORT_TOP_LEVEL": 2,
                        "LOCAL_ALL": 3,
                        "STRICT": 4
                      }
                    }
                  }
                },
                "ProtoLimitsFeature": {
                  "fields": {},
                  "nested": {
                    "EnforceProtoLimits": {
                      "values": {
                        "PROTO_LIMITS_UNKNOWN": 0,
                        "LEGACY_NO_EXPLICIT_LIMITS": 1,
                        "PROTO_LIMITS2026": 2
                      }
                    }
                  }
                }
              }
            },
            "FeatureSetDefaults": {
              "edition": "proto2",
              "fields": {
                "defaults": {
                  "rule": "repeated",
                  "type": "FeatureSetEditionDefault",
                  "id": 1
                },
                "minimumEdition": {
                  "type": "Edition",
                  "id": 4
                },
                "maximumEdition": {
                  "type": "Edition",
                  "id": 5
                }
              },
              "nested": {
                "FeatureSetEditionDefault": {
                  "fields": {
                    "edition": {
                      "type": "Edition",
                      "id": 3
                    },
                    "overridableFeatures": {
                      "type": "FeatureSet",
                      "id": 4
                    },
                    "fixedFeatures": {
                      "type": "FeatureSet",
                      "id": 5
                    }
                  },
                  "reserved": [
                    [
                      1,
                      1
                    ],
                    [
                      2,
                      2
                    ],
                    "features"
                  ]
                }
              }
            },
            "SourceCodeInfo": {
              "edition": "proto2",
              "fields": {
                "location": {
                  "rule": "repeated",
                  "type": "Location",
                  "id": 1
                }
              },
              "extensions": [
                [
                  536000000,
                  536000000
                ]
              ],
              "nested": {
                "Location": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1,
                      "options": {
                        "packed": true
                      }
                    },
                    "span": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 2,
                      "options": {
                        "packed": true
                      }
                    },
                    "leadingComments": {
                      "type": "string",
                      "id": 3
                    },
                    "trailingComments": {
                      "type": "string",
                      "id": 4
                    },
                    "leadingDetachedComments": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 6
                    }
                  }
                }
              }
            },
            "GeneratedCodeInfo": {
              "edition": "proto2",
              "fields": {
                "annotation": {
                  "rule": "repeated",
                  "type": "Annotation",
                  "id": 1
                }
              },
              "nested": {
                "Annotation": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1,
                      "options": {
                        "packed": true
                      }
                    },
                    "sourceFile": {
                      "type": "string",
                      "id": 2
                    },
                    "begin": {
                      "type": "int32",
                      "id": 3
                    },
                    "end": {
                      "type": "int32",
                      "id": 4
                    },
                    "semantic": {
                      "type": "Semantic",
                      "id": 5
                    }
                  },
                  "nested": {
                    "Semantic": {
                      "values": {
                        "NONE": 0,
                        "SET": 1,
                        "ALIAS": 2
                      }
                    }
                  }
                }
              }
            },
            "SymbolVisibility": {
              "edition": "proto2",
              "values": {
                "VISIBILITY_UNSET": 0,
                "VISIBILITY_LOCAL": 1,
                "VISIBILITY_EXPORT": 2
              }
            },
            "Duration": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "id": 2
                }
              }
            },
            "Any": {
              "fields": {
                "type_url": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "type": "bytes",
                  "id": 2
                }
              }
            },
            "Empty": {
              "fields": {}
            },
            "FieldMask": {
              "fields": {
                "paths": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 1
                }
              }
            },
            "Timestamp": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "id": 2
                }
              }
            },
            "DoubleValue": {
              "fields": {
                "value": {
                  "type": "double",
                  "id": 1
                }
              }
            },
            "FloatValue": {
              "fields": {
                "value": {
                  "type": "float",
                  "id": 1
                }
              }
            },
            "Int64Value": {
              "fields": {
                "value": {
                  "type": "int64",
                  "id": 1
                }
              }
            },
            "UInt64Value": {
              "fields": {
                "value": {
                  "type": "uint64",
                  "id": 1
                }
              }
            },
            "Int32Value": {
              "fields": {
                "value": {
                  "type": "int32",
                  "id": 1
                }
              }
            },
            "UInt32Value": {
              "fields": {
                "value": {
                  "type": "uint32",
                  "id": 1
                }
              }
            },
            "BoolValue": {
              "fields": {
                "value": {
                  "type": "bool",
                  "id": 1
                }
              }
            },
            "StringValue": {
              "fields": {
                "value": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "BytesValue": {
              "fields": {
                "value": {
                  "type": "bytes",
                  "id": 1
                }
              }
            }
          }
        },
        "longrunning": {
          "options": {
            "csharp_namespace": "Google.LongRunning",
            "go_package": "cloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb",
            "java_multiple_files": true,
            "java_outer_classname": "OperationsProto",
            "java_package": "com.google.longrunning",
            "objc_class_prefix": "GLRUN",
            "php_namespace": "Google\\LongRunning"
          },
          "nested": {
            "operationInfo": {
              "type": "google.longrunning.OperationInfo",
              "id": 1049,
              "extend": "google.protobuf.MethodOptions"
            },
            "Operations": {
              "options": {
                "(google.api.default_host)": "longrunning.googleapis.com"
              },
              "methods": {
                "ListOperations": {
                  "requestType": "ListOperationsRequest",
                  "responseType": "ListOperationsResponse",
                  "options": {
                    "(google.api.http).get": "/v1/{name=operations}",
                    "(google.api.method_signature)": "name,filter"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "get": "/v1/{name=operations}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name,filter"
                    }
                  ]
                },
                "GetOperation": {
                  "requestType": "GetOperationRequest",
                  "responseType": "Operation",
                  "options": {
                    "(google.api.http).get": "/v1/{name=operations/**}",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "get": "/v1/{name=operations/**}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "DeleteOperation": {
                  "requestType": "DeleteOperationRequest",
                  "responseType": "google.protobuf.Empty",
                  "options": {
                    "(google.api.http).delete": "/v1/{name=operations/**}",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "delete": "/v1/{name=operations/**}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "CancelOperation": {
                  "requestType": "CancelOperationRequest",
                  "responseType": "google.protobuf.Empty",
                  "options": {
                    "(google.api.http).post": "/v1/{name=operations/**}:cancel",
                    "(google.api.http).body": "*",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "post": "/v1/{name=operations/**}:cancel",
                        "body": "*"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "WaitOperation": {
                  "requestType": "WaitOperationRequest",
                  "responseType": "Operation"
                }
              }
            },
            "Operation": {
              "oneofs": {
                "result": {
                  "oneof": [
                    "error",
                    "response"
                  ]
                }
              },
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "metadata": {
                  "type": "google.protobuf.Any",
                  "id": 2
                },
                "done": {
                  "type": "bool",
                  "id": 3
                },
                "error": {
                  "type": "google.rpc.Status",
                  "id": 4
                },
                "response": {
                  "type": "google.protobuf.Any",
                  "id": 5
                }
              }
            },
            "GetOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "ListOperationsRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 4
                },
                "filter": {
                  "type": "string",
                  "id": 1
                },
                "pageSize": {
                  "type": "int32",
                  "id": 2
                },
                "pageToken": {
                  "type": "string",
                  "id": 3
                },
                "returnPartialSuccess": {
                  "type": "bool",
                  "id": 5
                }
              }
            },
            "ListOperationsResponse": {
              "fields": {
                "operations": {
                  "rule": "repeated",
                  "type": "Operation",
                  "id": 1
                },
                "nextPageToken": {
                  "type": "string",
                  "id": 2
                },
                "unreachable": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3,
                  "options": {
                    "(google.api.field_behavior)": "UNORDERED_LIST"
                  }
                }
              }
            },
            "CancelOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "DeleteOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "WaitOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "timeout": {
                  "type": "google.protobuf.Duration",
                  "id": 2
                }
              }
            },
            "OperationInfo": {
              "fields": {
                "responseType": {
                  "type": "string",
                  "id": 1
                },
                "metadataType": {
                  "type": "string",
                  "id": 2
                }
              }
            }
          }
        },
        "rpc": {
          "options": {
            "go_package": "google.golang.org/genproto/googleapis/rpc/status;status",
            "java_multiple_files": true,
            "java_outer_classname": "StatusProto",
            "java_package": "com.google.rpc",
            "objc_class_prefix": "RPC"
          },
          "nested": {
            "Status": {
              "fields": {
                "code": {
                  "type": "int32",
                  "id": 1
                },
                "message": {
                  "type": "string",
                  "id": 2
                },
                "details": {
                  "rule": "repeated",
                  "type": "google.protobuf.Any",
                  "id": 3
                }
              }
            }
          }
        }
      }
    }
  }
}