{
  "options": {
    "syntax": "proto3"
  },
  "nested": {
    "google": {
      "nested": {
        "pubsub": {
          "nested": {
            "v1": {
              "options": {
                "cc_enable_arenas": true,
                "csharp_namespace": "Google.Cloud.PubSub.V1",
                "go_package": "cloud.google.com/go/pubsub/apiv1/pubsubpb;pubsubpb",
                "java_multiple_files": true,
                "java_outer_classname": "SchemaProto",
                "java_package": "com.google.pubsub.v1",
                "php_namespace": "Google\\Cloud\\PubSub\\V1",
                "ruby_package": "Google::Cloud::PubSub::V1"
              },
              "nested": {
                "Publisher": {
                  "options": {
                    "(google.api.default_host)": "pubsub.googleapis.com",
                    "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/pubsub"
                  },
                  "methods": {
                    "CreateTopic": {
                      "requestType": "Topic",
                      "responseType": "Topic",
                      "options": {
                        "(google.api.http).put": "/v1/{name=projects/*/topics/*}",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "put": "/v1/{name=projects/*/topics/*}",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    },
                    "UpdateTopic": {
                      "requestType": "UpdateTopicRequest",
                      "responseType": "Topic",
                      "options": {
                        "(google.api.http).patch": "/v1/{topic.name=projects/*/topics/*}",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "topic,update_mask"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "patch": "/v1/{topic.name=projects/*/topics/*}",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "topic,update_mask"
                        }
                      ]
                    },
                    "Publish": {
                      "requestType": "PublishRequest",
                      "responseType": "PublishResponse",
                      "options": {
                        "(google.api.http).post": "/v1/{topic=projects/*/topics/*}:publish",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "topic,messages"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{topic=projects/*/topics/*}:publish",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "topic,messages"
                        }
                      ]
                    },
                    "GetTopic": {
                      "requestType": "GetTopicRequest",
                      "responseType": "Topic",
                      "options": {
                        "(google.api.http).get": "/v1/{topic=projects/*/topics/*}",
                        "(google.api.method_signature)": "topic"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{topic=projects/*/topics/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "topic"
                        }
                      ]
                    },
                    "ListTopics": {
                      "requestType": "ListTopicsRequest",
                      "responseType": "ListTopicsResponse",
                      "options": {
                        "(google.api.http).get": "/v1/{project=projects/*}/topics",
                        "(google.api.method_signature)": "project"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{project=projects/*}/topics"
                          }
                        },
                        {
                          "(google.api.method_signature)": "project"
                        }
                      ]
                    },
                    "ListTopicSubscriptions": {
                      "requestType": "ListTopicSubscriptionsRequest",
                      "responseType": "ListTopicSubscriptionsResponse",
                      "options": {
                        "(google.api.http).get": "/v1/{topic=projects/*/topics/*}/subscriptions",
                        "(google.api.method_signature)": "topic"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{topic=projects/*/topics/*}/subscriptions"
                          }
                        },
                        {
                          "(google.api.method_signature)": "topic"
                        }
                      ]
                    },
                    "ListTopicSnapshots": {
                      "requestType": "ListTopicSnapshotsRequest",
                      "responseType": "ListTopicSnapshotsResponse",
                      "options": {
                        "(google.api.http).get": "/v1/{topic=projects/*/topics/*}/snapshots",
                        "(google.api.method_signature)": "topic"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{topic=projects/*/topics/*}/snapshots"
                          }
                        },
                        {
                          "(google.api.method_signature)": "topic"
                        }
                      ]
                    },
                    "DeleteTopic": {
                      "requestType": "DeleteTopicRequest",
                      "responseType": "google.protobuf.Empty",
                      "options": {
                        "(google.api.http).delete": "/v1/{topic=projects/*/topics/*}",
                        "(google.api.method_signature)": "topic"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "delete": "/v1/{topic=projects/*/topics/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "topic"
                        }
                      ]
                    },
                    "DetachSubscription": {
                      "requestType": "DetachSubscriptionRequest",
                      "responseType": "DetachSubscriptionResponse",
                      "options": {
                        "(google.api.http).post": "/v1/{subscription=projects/*/subscriptions/*}:detach"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{subscription=projects/*/subscriptions/*}:detach"
                          }
                        }
                      ]
                    }
                  }
                },
                "MessageStoragePolicy": {
                  "fields": {
                    "allowedPersistenceRegions": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "enforceInTransit": {
                      "type": "bool",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "SchemaSettings": {
                  "fields": {
                    "schema": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Schema"
                      }
                    },
                    "encoding": {
                      "type": "Encoding",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "firstRevisionId": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "lastRevisionId": {
                      "type": "string",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "IngestionDataSourceSettings": {
                  "oneofs": {
                    "source": {
                      "oneof": [
                        "awsKinesis",
                        "cloudStorage",
                        "azureEventHubs",
                        "awsMsk",
                        "confluentCloud"
                      ]
                    }
                  },
                  "fields": {
                    "awsKinesis": {
                      "type": "AwsKinesis",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "cloudStorage": {
                      "type": "CloudStorage",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "azureEventHubs": {
                      "type": "AzureEventHubs",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "awsMsk": {
                      "type": "AwsMsk",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "confluentCloud": {
                      "type": "ConfluentCloud",
                      "id": 6,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "platformLogsSettings": {
                      "type": "PlatformLogsSettings",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "AwsKinesis": {
                      "fields": {
                        "state": {
                          "type": "State",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "streamArn": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "consumerArn": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "awsRoleArn": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "gcpServiceAccount": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "ACTIVE": 1,
                            "KINESIS_PERMISSION_DENIED": 2,
                            "PUBLISH_PERMISSION_DENIED": 3,
                            "STREAM_NOT_FOUND": 4,
                            "CONSUMER_NOT_FOUND": 5
                          }
                        }
                      }
                    },
                    "CloudStorage": {
                      "oneofs": {
                        "inputFormat": {
                          "oneof": [
                            "textFormat",
                            "avroFormat",
                            "pubsubAvroFormat"
                          ]
                        }
                      },
                      "fields": {
                        "state": {
                          "type": "State",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "bucket": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "textFormat": {
                          "type": "TextFormat",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "avroFormat": {
                          "type": "AvroFormat",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "pubsubAvroFormat": {
                          "type": "PubSubAvroFormat",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "minimumObjectCreateTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "matchGlob": {
                          "type": "string",
                          "id": 9,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "ACTIVE": 1,
                            "CLOUD_STORAGE_PERMISSION_DENIED": 2,
                            "PUBLISH_PERMISSION_DENIED": 3,
                            "BUCKET_NOT_FOUND": 4,
                            "TOO_MANY_OBJECTS": 5
                          }
                        },
                        "TextFormat": {
                          "oneofs": {
                            "_delimiter": {
                              "oneof": [
                                "delimiter"
                              ]
                            }
                          },
                          "fields": {
                            "delimiter": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL",
                                "proto3_optional": true
                              }
                            }
                          }
                        },
                        "AvroFormat": {
                          "fields": {}
                        },
                        "PubSubAvroFormat": {
                          "fields": {}
                        }
                      }
                    },
                    "AzureEventHubs": {
                      "fields": {
                        "state": {
                          "type": "State",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "resourceGroup": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "namespace": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "eventHub": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "clientId": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "tenantId": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "subscriptionId": {
                          "type": "string",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "gcpServiceAccount": {
                          "type": "string",
                          "id": 8,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "ACTIVE": 1,
                            "EVENT_HUBS_PERMISSION_DENIED": 2,
                            "PUBLISH_PERMISSION_DENIED": 3,
                            "NAMESPACE_NOT_FOUND": 4,
                            "EVENT_HUB_NOT_FOUND": 5,
                            "SUBSCRIPTION_NOT_FOUND": 6,
                            "RESOURCE_GROUP_NOT_FOUND": 7
                          }
                        }
                      }
                    },
                    "AwsMsk": {
                      "fields": {
                        "state": {
                          "type": "State",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "clusterArn": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "topic": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "awsRoleArn": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "gcpServiceAccount": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "ACTIVE": 1,
                            "MSK_PERMISSION_DENIED": 2,
                            "PUBLISH_PERMISSION_DENIED": 3,
                            "CLUSTER_NOT_FOUND": 4,
                            "TOPIC_NOT_FOUND": 5
                          }
                        }
                      }
                    },
                    "ConfluentCloud": {
                      "fields": {
                        "state": {
                          "type": "State",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "bootstrapServer": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "clusterId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "topic": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "identityPoolId": {
                          "type": "string",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "gcpServiceAccount": {
                          "type": "string",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "ACTIVE": 1,
                            "CONFLUENT_CLOUD_PERMISSION_DENIED": 2,
                            "PUBLISH_PERMISSION_DENIED": 3,
                            "UNREACHABLE_BOOTSTRAP_SERVER": 4,
                            "CLUSTER_NOT_FOUND": 5,
                            "TOPIC_NOT_FOUND": 6
                          }
                        }
                      }
                    }
                  }
                },
                "PlatformLogsSettings": {
                  "fields": {
                    "severity": {
                      "type": "Severity",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "Severity": {
                      "values": {
                        "SEVERITY_UNSPECIFIED": 0,
                        "DISABLED": 1,
                        "DEBUG": 2,
                        "INFO": 3,
                        "WARNING": 4,
                        "ERROR": 5
                      }
                    }
                  }
                },
                "IngestionFailureEvent": {
                  "oneofs": {
                    "failure": {
                      "oneof": [
                        "cloudStorageFailure",
                        "awsMskFailure",
                        "azureEventHubsFailure",
                        "confluentCloudFailure"
                      ]
                    }
                  },
                  "fields": {
                    "topic": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "errorMessage": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "cloudStorageFailure": {
                      "type": "CloudStorageFailure",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "awsMskFailure": {
                      "type": "AwsMskFailureReason",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "azureEventHubsFailure": {
                      "type": "AzureEventHubsFailureReason",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "confluentCloudFailure": {
                      "type": "ConfluentCloudFailureReason",
                      "id": 6,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "ApiViolationReason": {
                      "fields": {}
                    },
                    "AvroFailureReason": {
                      "fields": {}
                    },
                    "CloudStorageFailure": {
                      "oneofs": {
                        "reason": {
                          "oneof": [
                            "avroFailureReason",
                            "apiViolationReason"
                          ]
                        }
                      },
                      "fields": {
                        "bucket": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "objectName": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "objectGeneration": {
                          "type": "int64",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "avroFailureReason": {
                          "type": "AvroFailureReason",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "apiViolationReason": {
                          "type": "ApiViolationReason",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "AwsMskFailureReason": {
                      "oneofs": {
                        "reason": {
                          "oneof": [
                            "apiViolationReason"
                          ]
                        }
                      },
                      "fields": {
                        "clusterArn": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "kafkaTopic": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "partitionId": {
                          "type": "int64",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "offset": {
                          "type": "int64",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "apiViolationReason": {
                          "type": "ApiViolationReason",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "AzureEventHubsFailureReason": {
                      "oneofs": {
                        "reason": {
                          "oneof": [
                            "apiViolationReason"
                          ]
                        }
                      },
                      "fields": {
                        "namespace": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "eventHub": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "partitionId": {
                          "type": "int64",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "offset": {
                          "type": "int64",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "apiViolationReason": {
                          "type": "ApiViolationReason",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ConfluentCloudFailureReason": {
                      "oneofs": {
                        "reason": {
                          "oneof": [
                            "apiViolationReason"
                          ]
                        }
                      },
                      "fields": {
                        "clusterId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "kafkaTopic": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "partitionId": {
                          "type": "int64",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "offset": {
                          "type": "int64",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "apiViolationReason": {
                          "type": "ApiViolationReason",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    }
                  }
                },
                "Topic": {
                  "options": {
                    "(google.api.resource).type": "pubsub.googleapis.com/Topic",
                    "(google.api.resource).pattern": "_deleted-topic_"
                  },
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "labels": {
                      "keyType": "string",
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "messageStoragePolicy": {
                      "type": "MessageStoragePolicy",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "kmsKeyName": {
                      "type": "string",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "schemaSettings": {
                      "type": "SchemaSettings",
                      "id": 6,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "satisfiesPzs": {
                      "type": "bool",
                      "id": 7,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "messageRetentionDuration": {
                      "type": "google.protobuf.Duration",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "state": {
                      "type": "State",
                      "id": 9,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "ingestionDataSourceSettings": {
                      "type": "IngestionDataSourceSettings",
                      "id": 10,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "State": {
                      "values": {
                        "STATE_UNSPECIFIED": 0,
                        "ACTIVE": 1,
                        "INGESTION_RESOURCE_ERROR": 2
                      }
                    }
                  }
                },
                "PubsubMessage": {
                  "fields": {
                    "data": {
                      "type": "bytes",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "attributes": {
                      "keyType": "string",
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "messageId": {
                      "type": "string",
                      "id": 3
                    },
                    "publishTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 4
                    },
                    "orderingKey": {
                      "type": "string",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "GetTopicRequest": {
                  "fields": {
                    "topic": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Topic"
                      }
                    }
                  }
                },
                "UpdateTopicRequest": {
                  "fields": {
                    "topic": {
                      "type": "Topic",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "updateMask": {
                      "type": "google.protobuf.FieldMask",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "PublishRequest": {
                  "fields": {
                    "topic": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Topic"
                      }
                    },
                    "messages": {
                      "rule": "repeated",
                      "type": "PubsubMessage",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "PublishResponse": {
                  "fields": {
                    "messageIds": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ListTopicsRequest": {
                  "fields": {
                    "project": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
                      }
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ListTopicsResponse": {
                  "fields": {
                    "topics": {
                      "rule": "repeated",
                      "type": "Topic",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ListTopicSubscriptionsRequest": {
                  "fields": {
                    "topic": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Topic"
                      }
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ListTopicSubscriptionsResponse": {
                  "fields": {
                    "subscriptions": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ListTopicSnapshotsRequest": {
                  "fields": {
                    "topic": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Topic"
                      }
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ListTopicSnapshotsResponse": {
                  "fields": {
                    "snapshots": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "DeleteTopicRequest": {
                  "fields": {
                    "topic": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Topic"
                      }
                    }
                  }
                },
                "DetachSubscriptionRequest": {
                  "fields": {
                    "subscription": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    }
                  }
                },
                "DetachSubscriptionResponse": {
                  "fields": {}
                },
                "Subscriber": {
                  "options": {
                    "(google.api.default_host)": "pubsub.googleapis.com",
                    "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/pubsub"
                  },
                  "methods": {
                    "CreateSubscription": {
                      "requestType": "Subscription",
                      "responseType": "Subscription",
                      "options": {
                        "(google.api.http).put": "/v1/{name=projects/*/subscriptions/*}",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "name,topic,push_config,ack_deadline_seconds"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "put": "/v1/{name=projects/*/subscriptions/*}",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name,topic,push_config,ack_deadline_seconds"
                        }
                      ]
                    },
                    "GetSubscription": {
                      "requestType": "GetSubscriptionRequest",
                      "responseType": "Subscription",
                      "options": {
                        "(google.api.http).get": "/v1/{subscription=projects/*/subscriptions/*}",
                        "(google.api.method_signature)": "subscription"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{subscription=projects/*/subscriptions/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "subscription"
                        }
                      ]
                    },
                    "UpdateSubscription": {
                      "requestType": "UpdateSubscriptionRequest",
                      "responseType": "Subscription",
                      "options": {
                        "(google.api.http).patch": "/v1/{subscription.name=projects/*/subscriptions/*}",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "subscription,update_mask"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "patch": "/v1/{subscription.name=projects/*/subscriptions/*}",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "subscription,update_mask"
                        }
                      ]
                    },
                    "ListSubscriptions": {
                      "requestType": "ListSubscriptionsRequest",
                      "responseType": "ListSubscriptionsResponse",
                      "options": {
                        "(google.api.http).get": "/v1/{project=projects/*}/subscriptions",
                        "(google.api.method_signature)": "project"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{project=projects/*}/subscriptions"
                          }
                        },
                        {
                          "(google.api.method_signature)": "project"
                        }
                      ]
                    },
                    "DeleteSubscription": {
                      "requestType": "DeleteSubscriptionRequest",
                      "responseType": "google.protobuf.Empty",
                      "options": {
                        "(google.api.http).delete": "/v1/{subscription=projects/*/subscriptions/*}",
                        "(google.api.method_signature)": "subscription"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "delete": "/v1/{subscription=projects/*/subscriptions/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "subscription"
                        }
                      ]
                    },
                    "ModifyAckDeadline": {
                      "requestType": "ModifyAckDeadlineRequest",
                      "responseType": "google.protobuf.Empty",
                      "options": {
                        "(google.api.http).post": "/v1/{subscription=projects/*/subscriptions/*}:modifyAckDeadline",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "subscription,ack_ids,ack_deadline_seconds"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{subscription=projects/*/subscriptions/*}:modifyAckDeadline",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "subscription,ack_ids,ack_deadline_seconds"
                        }
                      ]
                    },
                    "Acknowledge": {
                      "requestType": "AcknowledgeRequest",
                      "responseType": "google.protobuf.Empty",
                      "options": {
                        "(google.api.http).post": "/v1/{subscription=projects/*/subscriptions/*}:acknowledge",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "subscription,ack_ids"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{subscription=projects/*/subscriptions/*}:acknowledge",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "subscription,ack_ids"
                        }
                      ]
                    },
                    "Pull": {
                      "requestType": "PullRequest",
                      "responseType": "PullResponse",
                      "options": {
                        "(google.api.http).post": "/v1/{subscription=projects/*/subscriptions/*}:pull",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "subscription,max_messages"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{subscription=projects/*/subscriptions/*}:pull",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "subscription,return_immediately,max_messages"
                        },
                        {
                          "(google.api.method_signature)": "subscription,max_messages"
                        }
                      ]
                    },
                    "StreamingPull": {
                      "requestType": "StreamingPullRequest",
                      "requestStream": true,
                      "responseType": "StreamingPullResponse",
                      "responseStream": true
                    },
                    "ModifyPushConfig": {
                      "requestType": "ModifyPushConfigRequest",
                      "responseType": "google.protobuf.Empty",
                      "options": {
                        "(google.api.http).post": "/v1/{subscription=projects/*/subscriptions/*}:modifyPushConfig",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "subscription,push_config"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{subscription=projects/*/subscriptions/*}:modifyPushConfig",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "subscription,push_config"
                        }
                      ]
                    },
                    "GetSnapshot": {
                      "requestType": "GetSnapshotRequest",
                      "responseType": "Snapshot",
                      "options": {
                        "(google.api.http).get": "/v1/{snapshot=projects/*/snapshots/*}",
                        "(google.api.method_signature)": "snapshot"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{snapshot=projects/*/snapshots/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "snapshot"
                        }
                      ]
                    },
                    "ListSnapshots": {
                      "requestType": "ListSnapshotsRequest",
                      "responseType": "ListSnapshotsResponse",
                      "options": {
                        "(google.api.http).get": "/v1/{project=projects/*}/snapshots",
                        "(google.api.method_signature)": "project"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{project=projects/*}/snapshots"
                          }
                        },
                        {
                          "(google.api.method_signature)": "project"
                        }
                      ]
                    },
                    "CreateSnapshot": {
                      "requestType": "CreateSnapshotRequest",
                      "responseType": "Snapshot",
                      "options": {
                        "(google.api.http).put": "/v1/{name=projects/*/snapshots/*}",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "name,subscription"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "put": "/v1/{name=projects/*/snapshots/*}",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name,subscription"
                        }
                      ]
                    },
                    "UpdateSnapshot": {
                      "requestType": "UpdateSnapshotRequest",
                      "responseType": "Snapshot",
                      "options": {
                        "(google.api.http).patch": "/v1/{snapshot.name=projects/*/snapshots/*}",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "snapshot,update_mask"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "patch": "/v1/{snapshot.name=projects/*/snapshots/*}",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "snapshot,update_mask"
                        }
                      ]
                    },
                    "DeleteSnapshot": {
                      "requestType": "DeleteSnapshotRequest",
                      "responseType": "google.protobuf.Empty",
                      "options": {
                        "(google.api.http).delete": "/v1/{snapshot=projects/*/snapshots/*}",
                        "(google.api.method_signature)": "snapshot"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "delete": "/v1/{snapshot=projects/*/snapshots/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "snapshot"
                        }
                      ]
                    },
                    "Seek": {
                      "requestType": "SeekRequest",
                      "responseType": "SeekResponse",
                      "options": {
                        "(google.api.http).post": "/v1/{subscription=projects/*/subscriptions/*}:seek",
                        "(google.api.http).body": "*"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{subscription=projects/*/subscriptions/*}:seek",
                            "body": "*"
                          }
                        }
                      ]
                    }
                  }
                },
                "Subscription": {
                  "options": {
                    "(google.api.resource).type": "pubsub.googleapis.com/Subscription",
                    "(google.api.resource).pattern": "projects/{project}/subscriptions/{subscription}"
                  },
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "topic": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Topic"
                      }
                    },
                    "pushConfig": {
                      "type": "PushConfig",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "bigqueryConfig": {
                      "type": "BigQueryConfig",
                      "id": 18,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "cloudStorageConfig": {
                      "type": "CloudStorageConfig",
                      "id": 22,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "ackDeadlineSeconds": {
                      "type": "int32",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "retainAckedMessages": {
                      "type": "bool",
                      "id": 7,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "messageRetentionDuration": {
                      "type": "google.protobuf.Duration",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "labels": {
                      "keyType": "string",
                      "type": "string",
                      "id": 9,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "enableMessageOrdering": {
                      "type": "bool",
                      "id": 10,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "expirationPolicy": {
                      "type": "ExpirationPolicy",
                      "id": 11,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "filter": {
                      "type": "string",
                      "id": 12,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "deadLetterPolicy": {
                      "type": "DeadLetterPolicy",
                      "id": 13,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "retryPolicy": {
                      "type": "RetryPolicy",
                      "id": 14,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "detached": {
                      "type": "bool",
                      "id": 15,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "enableExactlyOnceDelivery": {
                      "type": "bool",
                      "id": 16,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "topicMessageRetentionDuration": {
                      "type": "google.protobuf.Duration",
                      "id": 17,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "state": {
                      "type": "State",
                      "id": 19,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "analyticsHubSubscriptionInfo": {
                      "type": "AnalyticsHubSubscriptionInfo",
                      "id": 23,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    }
                  },
                  "nested": {
                    "State": {
                      "values": {
                        "STATE_UNSPECIFIED": 0,
                        "ACTIVE": 1,
                        "RESOURCE_ERROR": 2
                      }
                    },
                    "AnalyticsHubSubscriptionInfo": {
                      "fields": {
                        "listing": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "subscription": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    }
                  }
                },
                "RetryPolicy": {
                  "fields": {
                    "minimumBackoff": {
                      "type": "google.protobuf.Duration",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "maximumBackoff": {
                      "type": "google.protobuf.Duration",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "DeadLetterPolicy": {
                  "fields": {
                    "deadLetterTopic": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "maxDeliveryAttempts": {
                      "type": "int32",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ExpirationPolicy": {
                  "fields": {
                    "ttl": {
                      "type": "google.protobuf.Duration",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "PushConfig": {
                  "oneofs": {
                    "authenticationMethod": {
                      "oneof": [
                        "oidcToken"
                      ]
                    },
                    "wrapper": {
                      "oneof": [
                        "pubsubWrapper",
                        "noWrapper"
                      ]
                    }
                  },
                  "fields": {
                    "pushEndpoint": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "attributes": {
                      "keyType": "string",
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "oidcToken": {
                      "type": "OidcToken",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "pubsubWrapper": {
                      "type": "PubsubWrapper",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "noWrapper": {
                      "type": "NoWrapper",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "OidcToken": {
                      "fields": {
                        "serviceAccountEmail": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "audience": {
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "PubsubWrapper": {
                      "fields": {}
                    },
                    "NoWrapper": {
                      "fields": {
                        "writeMetadata": {
                          "type": "bool",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    }
                  }
                },
                "BigQueryConfig": {
                  "fields": {
                    "table": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "useTopicSchema": {
                      "type": "bool",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "writeMetadata": {
                      "type": "bool",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "dropUnknownFields": {
                      "type": "bool",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "state": {
                      "type": "State",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "useTableSchema": {
                      "type": "bool",
                      "id": 6,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "serviceAccountEmail": {
                      "type": "string",
                      "id": 7,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "State": {
                      "values": {
                        "STATE_UNSPECIFIED": 0,
                        "ACTIVE": 1,
                        "PERMISSION_DENIED": 2,
                        "NOT_FOUND": 3,
                        "SCHEMA_MISMATCH": 4,
                        "IN_TRANSIT_LOCATION_RESTRICTION": 5
                      }
                    }
                  }
                },
                "CloudStorageConfig": {
                  "oneofs": {
                    "outputFormat": {
                      "oneof": [
                        "textConfig",
                        "avroConfig"
                      ]
                    }
                  },
                  "fields": {
                    "bucket": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "filenamePrefix": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "filenameSuffix": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "filenameDatetimeFormat": {
                      "type": "string",
                      "id": 10,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "textConfig": {
                      "type": "TextConfig",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "avroConfig": {
                      "type": "AvroConfig",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "maxDuration": {
                      "type": "google.protobuf.Duration",
                      "id": 6,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "maxBytes": {
                      "type": "int64",
                      "id": 7,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "maxMessages": {
                      "type": "int64",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "state": {
                      "type": "State",
                      "id": 9,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "serviceAccountEmail": {
                      "type": "string",
                      "id": 11,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "TextConfig": {
                      "fields": {}
                    },
                    "AvroConfig": {
                      "fields": {
                        "writeMetadata": {
                          "type": "bool",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "useTopicSchema": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "State": {
                      "values": {
                        "STATE_UNSPECIFIED": 0,
                        "ACTIVE": 1,
                        "PERMISSION_DENIED": 2,
                        "NOT_FOUND": 3,
                        "IN_TRANSIT_LOCATION_RESTRICTION": 4,
                        "SCHEMA_MISMATCH": 5
                      }
                    }
                  }
                },
                "ReceivedMessage": {
                  "fields": {
                    "ackId": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "message": {
                      "type": "PubsubMessage",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "deliveryAttempt": {
                      "type": "int32",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "GetSubscriptionRequest": {
                  "fields": {
                    "subscription": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    }
                  }
                },
                "UpdateSubscriptionRequest": {
                  "fields": {
                    "subscription": {
                      "type": "Subscription",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "updateMask": {
                      "type": "google.protobuf.FieldMask",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "ListSubscriptionsRequest": {
                  "fields": {
                    "project": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
                      }
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ListSubscriptionsResponse": {
                  "fields": {
                    "subscriptions": {
                      "rule": "repeated",
                      "type": "Subscription",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "DeleteSubscriptionRequest": {
                  "fields": {
                    "subscription": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    }
                  }
                },
                "ModifyPushConfigRequest": {
                  "fields": {
                    "subscription": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    },
                    "pushConfig": {
                      "type": "PushConfig",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "PullRequest": {
                  "fields": {
                    "subscription": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    },
                    "returnImmediately": {
                      "type": "bool",
                      "id": 2,
                      "options": {
                        "deprecated": true,
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "maxMessages": {
                      "type": "int32",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "PullResponse": {
                  "fields": {
                    "receivedMessages": {
                      "rule": "repeated",
                      "type": "ReceivedMessage",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ModifyAckDeadlineRequest": {
                  "fields": {
                    "subscription": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    },
                    "ackIds": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "ackDeadlineSeconds": {
                      "type": "int32",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "AcknowledgeRequest": {
                  "fields": {
                    "subscription": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    },
                    "ackIds": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "StreamingPullRequest": {
                  "fields": {
                    "subscription": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    },
                    "ackIds": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "modifyDeadlineSeconds": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "modifyDeadlineAckIds": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "streamAckDeadlineSeconds": {
                      "type": "int32",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "clientId": {
                      "type": "string",
                      "id": 6,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "maxOutstandingMessages": {
                      "type": "int64",
                      "id": 7,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "maxOutstandingBytes": {
                      "type": "int64",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "StreamingPullResponse": {
                  "fields": {
                    "receivedMessages": {
                      "rule": "repeated",
                      "type": "ReceivedMessage",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "acknowledgeConfirmation": {
                      "type": "AcknowledgeConfirmation",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "modifyAckDeadlineConfirmation": {
                      "type": "ModifyAckDeadlineConfirmation",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "subscriptionProperties": {
                      "type": "SubscriptionProperties",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "AcknowledgeConfirmation": {
                      "fields": {
                        "ackIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "invalidAckIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "unorderedAckIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "temporaryFailedAckIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "ModifyAckDeadlineConfirmation": {
                      "fields": {
                        "ackIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "invalidAckIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "temporaryFailedAckIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    },
                    "SubscriptionProperties": {
                      "fields": {
                        "exactlyOnceDeliveryEnabled": {
                          "type": "bool",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        },
                        "messageOrderingEnabled": {
                          "type": "bool",
                          "id": 2,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      }
                    }
                  }
                },
                "CreateSnapshotRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Snapshot"
                      }
                    },
                    "subscription": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    },
                    "labels": {
                      "keyType": "string",
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "UpdateSnapshotRequest": {
                  "fields": {
                    "snapshot": {
                      "type": "Snapshot",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "updateMask": {
                      "type": "google.protobuf.FieldMask",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "Snapshot": {
                  "options": {
                    "(google.api.resource).type": "pubsub.googleapis.com/Snapshot",
                    "(google.api.resource).pattern": "projects/{project}/snapshots/{snapshot}"
                  },
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "topic": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Topic"
                      }
                    },
                    "expireTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "labels": {
                      "keyType": "string",
                      "type": "string",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "GetSnapshotRequest": {
                  "fields": {
                    "snapshot": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Snapshot"
                      }
                    }
                  }
                },
                "ListSnapshotsRequest": {
                  "fields": {
                    "project": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
                      }
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ListSnapshotsResponse": {
                  "fields": {
                    "snapshots": {
                      "rule": "repeated",
                      "type": "Snapshot",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "DeleteSnapshotRequest": {
                  "fields": {
                    "snapshot": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Snapshot"
                      }
                    }
                  }
                },
                "SeekRequest": {
                  "oneofs": {
                    "target": {
                      "oneof": [
                        "time",
                        "snapshot"
                      ]
                    }
                  },
                  "fields": {
                    "subscription": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Subscription"
                      }
                    },
                    "time": {
                      "type": "google.protobuf.Timestamp",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "snapshot": {
                      "type": "string",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Snapshot"
                      }
                    }
                  }
                },
                "SeekResponse": {
                  "fields": {}
                },
                "SchemaService": {
                  "options": {
                    "(google.api.default_host)": "pubsub.googleapis.com",
                    "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/pubsub"
                  },
                  "methods": {
                    "CreateSchema": {
                      "requestType": "CreateSchemaRequest",
                      "responseType": "Schema",
                      "options": {
                        "(google.api.http).post": "/v1/{parent=projects/*}/schemas",
                        "(google.api.http).body": "schema",
                        "(google.api.method_signature)": "parent,schema,schema_id"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{parent=projects/*}/schemas",
                            "body": "schema"
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent,schema,schema_id"
                        }
                      ]
                    },
                    "GetSchema": {
                      "requestType": "GetSchemaRequest",
                      "responseType": "Schema",
                      "options": {
                        "(google.api.http).get": "/v1/{name=projects/*/schemas/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{name=projects/*/schemas/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    },
                    "ListSchemas": {
                      "requestType": "ListSchemasRequest",
                      "responseType": "ListSchemasResponse",
                      "options": {
                        "(google.api.http).get": "/v1/{parent=projects/*}/schemas",
                        "(google.api.method_signature)": "parent"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{parent=projects/*}/schemas"
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent"
                        }
                      ]
                    },
                    "ListSchemaRevisions": {
                      "requestType": "ListSchemaRevisionsRequest",
                      "responseType": "ListSchemaRevisionsResponse",
                      "options": {
                        "(google.api.http).get": "/v1/{name=projects/*/schemas/*}:listRevisions",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "get": "/v1/{name=projects/*/schemas/*}:listRevisions"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    },
                    "CommitSchema": {
                      "requestType": "CommitSchemaRequest",
                      "responseType": "Schema",
                      "options": {
                        "(google.api.http).post": "/v1/{name=projects/*/schemas/*}:commit",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "name,schema"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{name=projects/*/schemas/*}:commit",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name,schema"
                        }
                      ]
                    },
                    "RollbackSchema": {
                      "requestType": "RollbackSchemaRequest",
                      "responseType": "Schema",
                      "options": {
                        "(google.api.http).post": "/v1/{name=projects/*/schemas/*}:rollback",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "name,revision_id"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{name=projects/*/schemas/*}:rollback",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name,revision_id"
                        }
                      ]
                    },
                    "DeleteSchemaRevision": {
                      "requestType": "DeleteSchemaRevisionRequest",
                      "responseType": "Schema",
                      "options": {
                        "(google.api.http).delete": "/v1/{name=projects/*/schemas/*}:deleteRevision",
                        "(google.api.method_signature)": "name,revision_id"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "delete": "/v1/{name=projects/*/schemas/*}:deleteRevision"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name,revision_id"
                        }
                      ]
                    },
                    "DeleteSchema": {
                      "requestType": "DeleteSchemaRequest",
                      "responseType": "google.protobuf.Empty",
                      "options": {
                        "(google.api.http).delete": "/v1/{name=projects/*/schemas/*}",
                        "(google.api.method_signature)": "name"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "delete": "/v1/{name=projects/*/schemas/*}"
                          }
                        },
                        {
                          "(google.api.method_signature)": "name"
                        }
                      ]
                    },
                    "ValidateSchema": {
                      "requestType": "ValidateSchemaRequest",
                      "responseType": "ValidateSchemaResponse",
                      "options": {
                        "(google.api.http).post": "/v1/{parent=projects/*}/schemas:validate",
                        "(google.api.http).body": "*",
                        "(google.api.method_signature)": "parent,schema"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{parent=projects/*}/schemas:validate",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.method_signature)": "parent,schema"
                        }
                      ]
                    },
                    "ValidateMessage": {
                      "requestType": "ValidateMessageRequest",
                      "responseType": "ValidateMessageResponse",
                      "options": {
                        "(google.api.http).post": "/v1/{parent=projects/*}/schemas:validateMessage",
                        "(google.api.http).body": "*"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/{parent=projects/*}/schemas:validateMessage",
                            "body": "*"
                          }
                        }
                      ]
                    }
                  }
                },
                "Schema": {
                  "options": {
                    "(google.api.resource).type": "pubsub.googleapis.com/Schema",
                    "(google.api.resource).pattern": "projects/{project}/schemas/{schema}"
                  },
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "type": {
                      "type": "Type",
                      "id": 2
                    },
                    "definition": {
                      "type": "string",
                      "id": 3
                    },
                    "revisionId": {
                      "type": "string",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    },
                    "revisionCreateTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 6,
                      "options": {
                        "(google.api.field_behavior)": "OUTPUT_ONLY"
                      }
                    }
                  },
                  "nested": {
                    "Type": {
                      "values": {
                        "TYPE_UNSPECIFIED": 0,
                        "PROTOCOL_BUFFER": 1,
                        "AVRO": 2
                      }
                    }
                  }
                },
                "SchemaView": {
                  "values": {
                    "SCHEMA_VIEW_UNSPECIFIED": 0,
                    "BASIC": 1,
                    "FULL": 2
                  }
                },
                "CreateSchemaRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).child_type": "pubsub.googleapis.com/Schema"
                      }
                    },
                    "schema": {
                      "type": "Schema",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "schemaId": {
                      "type": "string",
                      "id": 3
                    }
                  }
                },
                "GetSchemaRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Schema"
                      }
                    },
                    "view": {
                      "type": "SchemaView",
                      "id": 2
                    }
                  }
                },
                "ListSchemasRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
                      }
                    },
                    "view": {
                      "type": "SchemaView",
                      "id": 2
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 3
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 4
                    }
                  }
                },
                "ListSchemasResponse": {
                  "fields": {
                    "schemas": {
                      "rule": "repeated",
                      "type": "Schema",
                      "id": 1
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "ListSchemaRevisionsRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Schema"
                      }
                    },
                    "view": {
                      "type": "SchemaView",
                      "id": 2
                    },
                    "pageSize": {
                      "type": "int32",
                      "id": 3
                    },
                    "pageToken": {
                      "type": "string",
                      "id": 4
                    }
                  }
                },
                "ListSchemaRevisionsResponse": {
                  "fields": {
                    "schemas": {
                      "rule": "repeated",
                      "type": "Schema",
                      "id": 1
                    },
                    "nextPageToken": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "CommitSchemaRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Schema"
                      }
                    },
                    "schema": {
                      "type": "Schema",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "RollbackSchemaRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Schema"
                      }
                    },
                    "revisionId": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "DeleteSchemaRevisionRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Schema"
                      }
                    },
                    "revisionId": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "deprecated": true,
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "DeleteSchemaRequest": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Schema"
                      }
                    }
                  }
                },
                "ValidateSchemaRequest": {
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
                      }
                    },
                    "schema": {
                      "type": "Schema",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "ValidateSchemaResponse": {
                  "fields": {}
                },
                "ValidateMessageRequest": {
                  "oneofs": {
                    "schemaSpec": {
                      "oneof": [
                        "name",
                        "schema"
                      ]
                    }
                  },
                  "fields": {
                    "parent": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED",
                        "(google.api.resource_reference).type": "cloudresourcemanager.googleapis.com/Project"
                      }
                    },
                    "name": {
                      "type": "string",
                      "id": 2,
                      "options": {
                        "(google.api.resource_reference).type": "pubsub.googleapis.com/Schema"
                      }
                    },
                    "schema": {
                      "type": "Schema",
                      "id": 3
                    },
                    "message": {
                      "type": "bytes",
                      "id": 4
                    },
                    "encoding": {
                      "type": "Encoding",
                      "id": 5
                    }
                  }
                },
                "ValidateMessageResponse": {
                  "fields": {}
                },
                "Encoding": {
                  "values": {
                    "ENCODING_UNSPECIFIED": 0,
                    "JSON": 1,
                    "BINARY": 2
                  }
                }
              }
            }
          }
        },
        "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",
            "cc_enable_arenas": true
          },
          "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
                }
              }
            },
            "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
                }
              }
            },
            "PythonSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "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
                }
              }
            },
            "MethodSettings": {
              "fields": {
                "selector": {
                  "type": "string",
                  "id": 1
                },
                "longRunning": {
                  "type": "LongRunning",
                  "id": 2
                },
                "autoPopulatedFields": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                }
              },
              "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
              }
            },
            "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": {
              "fields": {
                "file": {
                  "rule": "repeated",
                  "type": "FileDescriptorProto",
                  "id": 1
                }
              }
            },
            "Edition": {
              "values": {
                "EDITION_UNKNOWN": 0,
                "EDITION_PROTO2": 998,
                "EDITION_PROTO3": 999,
                "EDITION_2023": 1000,
                "EDITION_2024": 1001,
                "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": {
              "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,
                  "options": {
                    "packed": false
                  }
                },
                "weakDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 11,
                  "options": {
                    "packed": false
                  }
                },
                "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": {
              "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
                }
              },
              "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": {
              "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": [
                [
                  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": {
              "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": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "options": {
                  "type": "OneofOptions",
                  "id": 2
                }
              }
            },
            "EnumDescriptorProto": {
              "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
                }
              },
              "nested": {
                "EnumReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "EnumValueDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 2
                },
                "options": {
                  "type": "EnumValueOptions",
                  "id": 3
                }
              }
            },
            "ServiceDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "method": {
                  "rule": "repeated",
                  "type": "MethodDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "ServiceOptions",
                  "id": 3
                }
              }
            },
            "MethodDescriptorProto": {
              "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": {
              "fields": {
                "javaPackage": {
                  "type": "string",
                  "id": 1
                },
                "javaOuterClassname": {
                  "type": "string",
                  "id": 8
                },
                "javaMultipleFiles": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false
                  }
                },
                "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
                  }
                },
                "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": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  42,
                  42
                ],
                [
                  38,
                  38
                ]
              ],
              "nested": {
                "OptimizeMode": {
                  "values": {
                    "SPEED": 1,
                    "CODE_SIZE": 2,
                    "LITE_RUNTIME": 3
                  }
                }
              }
            },
            "MessageOptions": {
              "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": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ],
                [
                  5,
                  5
                ],
                [
                  6,
                  6
                ],
                [
                  8,
                  8
                ],
                [
                  9,
                  9
                ]
              ]
            },
            "FieldOptions": {
              "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
                  }
                },
                "debugRedact": {
                  "type": "bool",
                  "id": 16,
                  "options": {
                    "default": false
                  }
                },
                "retention": {
                  "type": "OptionRetention",
                  "id": 17
                },
                "targets": {
                  "rule": "repeated",
                  "type": "OptionTargetType",
                  "id": 19,
                  "options": {
                    "packed": false
                  }
                },
                "editionDefaults": {
                  "rule": "repeated",
                  "type": "EditionDefault",
                  "id": 20
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 21
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  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
                    }
                  }
                }
              }
            },
            "OneofOptions": {
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 1
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "EnumOptions": {
              "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": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  5,
                  5
                ]
              ]
            },
            "EnumValueOptions": {
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 2
                },
                "debugRedact": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "ServiceOptions": {
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 34
                },
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "MethodOptions": {
              "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": [
                [
                  1000,
                  536870911
                ]
              ],
              "nested": {
                "IdempotencyLevel": {
                  "values": {
                    "IDEMPOTENCY_UNKNOWN": 0,
                    "NO_SIDE_EFFECTS": 1,
                    "IDEMPOTENT": 2
                  }
                }
              }
            },
            "UninterpretedOption": {
              "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": {
              "fields": {
                "fieldPresence": {
                  "type": "FieldPresence",
                  "id": 1,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_2023",
                    "edition_defaults.value": "EXPLICIT"
                  }
                },
                "enumType": {
                  "type": "EnumType",
                  "id": 2,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "OPEN"
                  }
                },
                "repeatedFieldEncoding": {
                  "type": "RepeatedFieldEncoding",
                  "id": 3,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "PACKED"
                  }
                },
                "utf8Validation": {
                  "type": "Utf8Validation",
                  "id": 4,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "VERIFY"
                  }
                },
                "messageEncoding": {
                  "type": "MessageEncoding",
                  "id": 5,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO2",
                    "edition_defaults.value": "LENGTH_PREFIXED"
                  }
                },
                "jsonFormat": {
                  "type": "JsonFormat",
                  "id": 6,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "ALLOW"
                  }
                }
              },
              "extensions": [
                [
                  1000,
                  1000
                ],
                [
                  1001,
                  1001
                ],
                [
                  1002,
                  1002
                ],
                [
                  9990,
                  9990
                ],
                [
                  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
                  }
                },
                "MessageEncoding": {
                  "values": {
                    "MESSAGE_ENCODING_UNKNOWN": 0,
                    "LENGTH_PREFIXED": 1,
                    "DELIMITED": 2
                  }
                },
                "JsonFormat": {
                  "values": {
                    "JSON_FORMAT_UNKNOWN": 0,
                    "ALLOW": 1,
                    "LEGACY_BEST_EFFORT": 2
                  }
                }
              }
            },
            "FeatureSetDefaults": {
              "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
                    },
                    "features": {
                      "type": "FeatureSet",
                      "id": 2
                    }
                  }
                }
              }
            },
            "SourceCodeInfo": {
              "fields": {
                "location": {
                  "rule": "repeated",
                  "type": "Location",
                  "id": 1
                }
              },
              "nested": {
                "Location": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1
                    },
                    "span": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 2
                    },
                    "leadingComments": {
                      "type": "string",
                      "id": 3
                    },
                    "trailingComments": {
                      "type": "string",
                      "id": 4
                    },
                    "leadingDetachedComments": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 6
                    }
                  }
                }
              }
            },
            "GeneratedCodeInfo": {
              "fields": {
                "annotation": {
                  "rule": "repeated",
                  "type": "Annotation",
                  "id": 1
                }
              },
              "nested": {
                "Annotation": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1
                    },
                    "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
                      }
                    }
                  }
                }
              }
            },
            "Duration": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "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
                }
              }
            }
          }
        }
      }
    }
  }
}