google-cloud-firestore-v1 0.10.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +72 -101
- data/README.md +2 -2
- data/lib/google/cloud/firestore/v1/firestore/client.rb +81 -29
- data/lib/google/cloud/firestore/v1/firestore/rest/client.rb +307 -20
- data/lib/google/cloud/firestore/v1/firestore/rest/service_stub.rb +37 -16
- data/lib/google/cloud/firestore/v1/version.rb +1 -1
- data/lib/google/firestore/v1/aggregation_result_pb.rb +25 -4
- data/lib/google/firestore/v1/bloom_filter_pb.rb +43 -0
- data/lib/google/firestore/v1/common_pb.rb +25 -24
- data/lib/google/firestore/v1/document_pb.rb +26 -28
- data/lib/google/firestore/v1/firestore_pb.rb +33 -219
- data/lib/google/firestore/v1/firestore_services_pb.rb +3 -3
- data/lib/google/firestore/v1/query_pb.rb +28 -96
- data/lib/google/firestore/v1/write_pb.rb +29 -53
- data/proto_docs/google/api/client.rb +81 -4
- data/proto_docs/google/api/field_behavior.rb +14 -0
- data/proto_docs/google/firestore/v1/bloom_filter.rb +79 -0
- data/proto_docs/google/firestore/v1/common.rb +7 -1
- data/proto_docs/google/firestore/v1/document.rb +12 -12
- data/proto_docs/google/firestore/v1/firestore.rb +58 -11
- data/proto_docs/google/firestore/v1/query.rb +82 -12
- data/proto_docs/google/firestore/v1/write.rb +18 -0
- data/proto_docs/google/protobuf/any.rb +9 -5
- data/proto_docs/google/protobuf/struct.rb +1 -1
- data/proto_docs/google/protobuf/timestamp.rb +1 -3
- metadata +11 -8
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 97603f5a11ccca21c44b6f5b7dfb0af5e104b28608d4ac4280b35ed00d78c77e
         | 
| 4 | 
            +
              data.tar.gz: 34bc1c7cff85c6fa452f050b0a6b7383f75170ac594ecccb363cc42e3069e803
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ad8af79463ff02cde0ad45a5ff3df195c109db00659b85ed0934c3debc357c6d02692530651ee83aa9c851425de76b6c544fa69f4c857ea7261b2cfab13e8088
         | 
| 7 | 
            +
              data.tar.gz: cf9109fe38904af4413eab2acbe6b2351d81802bacd42ceeade152d769a7a5fcd0cace3d2d825cbac9e7b805bd6c0437f89e011692b8d474b9f04b74e47d9184
         | 
    
        data/AUTHENTICATION.md
    CHANGED
    
    | @@ -1,151 +1,122 @@ | |
| 1 1 | 
             
            # Authentication
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
            [ | 
| 5 | 
            -
             | 
| 6 | 
            -
            [Google Cloud Platform environments](#google-cloud-platform-environments) the
         | 
| 7 | 
            -
            credentials will be discovered automatically. When running on other
         | 
| 8 | 
            -
            environments, the Service Account credentials can be specified by providing the
         | 
| 9 | 
            -
            path to the
         | 
| 10 | 
            -
            [JSON keyfile](https://cloud.google.com/iam/docs/managing-service-account-keys)
         | 
| 11 | 
            -
            for the account (or the JSON itself) in
         | 
| 12 | 
            -
            [environment variables](#environment-variables). Additionally, Cloud SDK
         | 
| 13 | 
            -
            credentials can also be discovered automatically, but this is only recommended
         | 
| 14 | 
            -
            during development.
         | 
| 3 | 
            +
            The recommended way to authenticate to the google-cloud-firestore-v1 library is to use
         | 
| 4 | 
            +
            [Application Default Credentials (ADC)](https://cloud.google.com/docs/authentication/application-default-credentials).
         | 
| 5 | 
            +
            To review all of your authentication options, see [Credentials lookup](#credential-lookup).
         | 
| 15 6 |  | 
| 16 7 | 
             
            ## Quickstart
         | 
| 17 8 |  | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 9 | 
            +
            The following example shows how to set up authentication for a local development
         | 
| 10 | 
            +
            environment with your user credentials. 
         | 
| 20 11 |  | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
            ```
         | 
| 24 | 
            -
             | 
| 25 | 
            -
            3. Initialize the client.
         | 
| 12 | 
            +
            **NOTE:** This method is _not_ recommended for running in production. User credentials
         | 
| 13 | 
            +
            should be used only during development.
         | 
| 26 14 |  | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 15 | 
            +
            1. [Download and install the Google Cloud CLI](https://cloud.google.com/sdk).
         | 
| 16 | 
            +
            2. Set up a local ADC file with your user credentials:
         | 
| 29 17 |  | 
| 30 | 
            -
             | 
| 18 | 
            +
            ```sh
         | 
| 19 | 
            +
            gcloud auth application-default login
         | 
| 31 20 | 
             
            ```
         | 
| 32 21 |  | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
            The google-cloud-firestore-v1 library aims to make authentication
         | 
| 36 | 
            -
            as simple as possible, and provides several mechanisms to configure your system
         | 
| 37 | 
            -
            without requiring **Service Account Credentials** directly in code.
         | 
| 38 | 
            -
             | 
| 39 | 
            -
            **Credentials** are discovered in the following order:
         | 
| 40 | 
            -
             | 
| 41 | 
            -
            1. Specify credentials in method arguments
         | 
| 42 | 
            -
            2. Specify credentials in configuration
         | 
| 43 | 
            -
            3. Discover credentials path in environment variables
         | 
| 44 | 
            -
            4. Discover credentials JSON in environment variables
         | 
| 45 | 
            -
            5. Discover credentials file in the Cloud SDK's path
         | 
| 46 | 
            -
            6. Discover GCP credentials
         | 
| 47 | 
            -
             | 
| 48 | 
            -
            ### Google Cloud Platform environments
         | 
| 22 | 
            +
            3. Write code as if already authenticated.
         | 
| 49 23 |  | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
            Functions (GCF) and Cloud Run, **Credentials** are discovered automatically.
         | 
| 53 | 
            -
            Code should be written as if already authenticated.
         | 
| 24 | 
            +
            For more information about setting up authentication for a local development environment, see
         | 
| 25 | 
            +
            [Set up Application Default Credentials](https://cloud.google.com/docs/authentication/provide-credentials-adc#local-dev).
         | 
| 54 26 |  | 
| 55 | 
            -
             | 
| 27 | 
            +
            ## Credential Lookup
         | 
| 56 28 |  | 
| 57 | 
            -
            The  | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
            **Credentials JSON** file can be stored in the environment variable, or the
         | 
| 62 | 
            -
            **Credentials JSON** itself can be stored for environments such as Docker
         | 
| 63 | 
            -
            containers where writing files is difficult or not encouraged.
         | 
| 29 | 
            +
            The google-cloud-firestore-v1 library provides several mechanisms to configure your system.
         | 
| 30 | 
            +
            Generally, using Application Default Credentials to facilitate automatic 
         | 
| 31 | 
            +
            credentials discovery is the easist method. But if you need to explicitly specify
         | 
| 32 | 
            +
            credentials, there are several methods available to you.
         | 
| 64 33 |  | 
| 65 | 
            -
             | 
| 66 | 
            -
            checks for credentials are configured on the service Credentials class (such as
         | 
| 67 | 
            -
            {::Google::Cloud::Firestore::V1::Firestore::Credentials}):
         | 
| 34 | 
            +
            Credentials are accepted in the following ways, in the following order or precedence:
         | 
| 68 35 |  | 
| 69 | 
            -
             | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 72 | 
            -
             | 
| 73 | 
            -
             | 
| 36 | 
            +
            1. Credentials specified in method arguments
         | 
| 37 | 
            +
            2. Credentials specified in configuration
         | 
| 38 | 
            +
            3. Credentials pointed to or included in environment variables
         | 
| 39 | 
            +
            4. Credentials found in local ADC file
         | 
| 40 | 
            +
            5. Credentials returned by the metadata server for the attached service account (GCP)
         | 
| 74 41 |  | 
| 75 | 
            -
             | 
| 76 | 
            -
            require "google/cloud/firestore/v1"
         | 
| 77 | 
            -
             | 
| 78 | 
            -
            ENV["FIRESTORE_CREDENTIALS"] = "path/to/keyfile.json"
         | 
| 42 | 
            +
            ### Configuration
         | 
| 79 43 |  | 
| 80 | 
            -
            client  | 
| 81 | 
            -
             | 
| 44 | 
            +
            You can configure a path to a JSON credentials file, either for an individual client object or
         | 
| 45 | 
            +
            globally, for all client objects. The JSON file can contain credentials created for
         | 
| 46 | 
            +
            [workload identity federation](https://cloud.google.com/iam/docs/workload-identity-federation),
         | 
| 47 | 
            +
            [workforce identity federation](https://cloud.google.com/iam/docs/workforce-identity-federation), or a
         | 
| 48 | 
            +
            [service account key](https://cloud.google.com/docs/authentication/provide-credentials-adc#local-key).
         | 
| 82 49 |  | 
| 83 | 
            -
             | 
| 50 | 
            +
            Note: Service account keys are a security risk if not managed correctly. You should
         | 
| 51 | 
            +
            [choose a more secure alternative to service account keys](https://cloud.google.com/docs/authentication#auth-decision-tree)
         | 
| 52 | 
            +
            whenever possible.
         | 
| 84 53 |  | 
| 85 | 
            -
             | 
| 86 | 
            -
            it in an environment variable. Either on an individual client initialization:
         | 
| 54 | 
            +
            To configure a credentials file for an individual client initialization:
         | 
| 87 55 |  | 
| 88 56 | 
             
            ```ruby
         | 
| 89 57 | 
             
            require "google/cloud/firestore/v1"
         | 
| 90 58 |  | 
| 91 59 | 
             
            client = ::Google::Cloud::Firestore::V1::Firestore::Client.new do |config|
         | 
| 92 | 
            -
              config.credentials = "path/to/ | 
| 60 | 
            +
              config.credentials = "path/to/credentialfile.json"
         | 
| 93 61 | 
             
            end
         | 
| 94 62 | 
             
            ```
         | 
| 95 63 |  | 
| 96 | 
            -
             | 
| 64 | 
            +
            To configure a credentials file globally for all clients:
         | 
| 97 65 |  | 
| 98 66 | 
             
            ```ruby
         | 
| 99 67 | 
             
            require "google/cloud/firestore/v1"
         | 
| 100 68 |  | 
| 101 69 | 
             
            ::Google::Cloud::Firestore::V1::Firestore::Client.configure do |config|
         | 
| 102 | 
            -
              config.credentials = "path/to/ | 
| 70 | 
            +
              config.credentials = "path/to/credentialfile.json"
         | 
| 103 71 | 
             
            end
         | 
| 104 72 |  | 
| 105 73 | 
             
            client = ::Google::Cloud::Firestore::V1::Firestore::Client.new
         | 
| 106 74 | 
             
            ```
         | 
| 107 75 |  | 
| 108 | 
            -
            ###  | 
| 76 | 
            +
            ### Environment Variables
         | 
| 109 77 |  | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 112 | 
            -
             | 
| 78 | 
            +
            You can also use an environment variable to provide a JSON credentials file.
         | 
| 79 | 
            +
            The environment variable can contain a path to the credentials file or, for
         | 
| 80 | 
            +
            environments such as Docker containers where writing files is not encouraged,
         | 
| 81 | 
            +
            you can include the credentials file itself.
         | 
| 113 82 |  | 
| 114 | 
            -
             | 
| 83 | 
            +
            The JSON file can contain credentials created for
         | 
| 84 | 
            +
            [workload identity federation](https://cloud.google.com/iam/docs/workload-identity-federation),
         | 
| 85 | 
            +
            [workforce identity federation](https://cloud.google.com/iam/docs/workforce-identity-federation), or a
         | 
| 86 | 
            +
            [service account key](https://cloud.google.com/docs/authentication/provide-credentials-adc#local-key).
         | 
| 115 87 |  | 
| 116 | 
            -
             | 
| 117 | 
            -
             | 
| 118 | 
            -
             | 
| 88 | 
            +
            Note: Service account keys are a security risk if not managed correctly. You should
         | 
| 89 | 
            +
            [choose a more secure alternative to service account keys](https://cloud.google.com/docs/authentication#auth-decision-tree)
         | 
| 90 | 
            +
            whenever possible.
         | 
| 91 | 
            +
             | 
| 92 | 
            +
            The environment variables that google-cloud-firestore-v1
         | 
| 93 | 
            +
            checks for credentials are:
         | 
| 119 94 |  | 
| 120 | 
            -
             | 
| 121 | 
            -
            * | 
| 95 | 
            +
            * `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
         | 
| 96 | 
            +
            * `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
         | 
| 122 97 |  | 
| 123 | 
            -
             | 
| 98 | 
            +
            ```ruby
         | 
| 99 | 
            +
            require "google/cloud/firestore/v1"
         | 
| 124 100 |  | 
| 125 | 
            -
             | 
| 126 | 
            -
            connect to the APIs. You will use the **JSON key file** to
         | 
| 127 | 
            -
            connect to most services with google-cloud-firestore-v1.
         | 
| 101 | 
            +
            ENV["GOOGLE_APPLICATION_CREDENTIALS"] = "path/to/credentialfile.json"
         | 
| 128 102 |  | 
| 129 | 
            -
             | 
| 130 | 
            -
             | 
| 131 | 
            -
            need a Google Developers service account.
         | 
| 103 | 
            +
            client = ::Google::Cloud::Firestore::V1::Firestore::Client.new
         | 
| 104 | 
            +
            ```
         | 
| 132 105 |  | 
| 133 | 
            -
             | 
| 134 | 
            -
            2. Create a new project or click on an existing project.
         | 
| 135 | 
            -
            3. Activate the menu in the upper left and select **APIs & Services**. From
         | 
| 136 | 
            -
               here, you will enable the APIs that your application requires.
         | 
| 106 | 
            +
            ### Local ADC file
         | 
| 137 107 |  | 
| 138 | 
            -
             | 
| 108 | 
            +
            You can set up a local ADC file with your user credentials for authentication during
         | 
| 109 | 
            +
            development. If credentials are not provided in code or in environment variables,
         | 
| 110 | 
            +
            then the local ADC credentials are discovered.
         | 
| 139 111 |  | 
| 140 | 
            -
             | 
| 112 | 
            +
            Follow the steps in [Quickstart](#quickstart) to set up a local ADC file.
         | 
| 141 113 |  | 
| 142 | 
            -
             | 
| 143 | 
            -
               "Service account" to be guided through downloading a new JSON key file.
         | 
| 114 | 
            +
            ### Google Cloud Platform environments
         | 
| 144 115 |  | 
| 145 | 
            -
             | 
| 146 | 
            -
             | 
| 147 | 
            -
             | 
| 148 | 
            -
             | 
| 116 | 
            +
            When running on Google Cloud Platform (GCP), including Google Compute Engine
         | 
| 117 | 
            +
            (GCE), Google Kubernetes Engine (GKE), Google App Engine (GAE), Google Cloud
         | 
| 118 | 
            +
            Functions (GCF) and Cloud Run, credentials are retrieved from the attached
         | 
| 119 | 
            +
            service account automatically. Code should be written as if already authenticated.
         | 
| 149 120 |  | 
| 150 | 
            -
             | 
| 151 | 
            -
             | 
| 121 | 
            +
            For more information, see
         | 
| 122 | 
            +
            [Set up ADC for Google Cloud services](https://cloud.google.com/docs/authentication/provide-credentials-adc#attached-sa).
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            # Ruby Client for the Cloud Firestore V1 API
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 3 | 
            +
            Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development.
         | 
| 4 4 |  | 
| 5 5 | 
             
            Cloud Firestore is a NoSQL document database built for automatic scaling, high performance, and ease of application development.
         | 
| 6 6 |  | 
| @@ -47,7 +47,7 @@ for general usage information. | |
| 47 47 |  | 
| 48 48 | 
             
            To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
         | 
| 49 49 | 
             
            The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
         | 
| 50 | 
            -
            or a [`Google::Cloud::Logging::Logger`](https:// | 
| 50 | 
            +
            or a [`Google::Cloud::Logging::Logger`](https://cloud.google.com/ruby/docs/reference/google-cloud-logging/latest)
         | 
| 51 51 | 
             
            that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
         | 
| 52 52 | 
             
            and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
         | 
| 53 53 |  | 
| @@ -38,6 +38,9 @@ module Google | |
| 38 38 | 
             
                      # truly serverless apps.
         | 
| 39 39 | 
             
                      #
         | 
| 40 40 | 
             
                      class Client
         | 
| 41 | 
            +
                        # @private
         | 
| 42 | 
            +
                        DEFAULT_ENDPOINT_TEMPLATE = "firestore.$UNIVERSE_DOMAIN$"
         | 
| 43 | 
            +
             | 
| 41 44 | 
             
                        # @private
         | 
| 42 45 | 
             
                        attr_reader :firestore_stub
         | 
| 43 46 |  | 
| @@ -173,6 +176,15 @@ module Google | |
| 173 176 | 
             
                          @config
         | 
| 174 177 | 
             
                        end
         | 
| 175 178 |  | 
| 179 | 
            +
                        ##
         | 
| 180 | 
            +
                        # The effective universe domain
         | 
| 181 | 
            +
                        #
         | 
| 182 | 
            +
                        # @return [String]
         | 
| 183 | 
            +
                        #
         | 
| 184 | 
            +
                        def universe_domain
         | 
| 185 | 
            +
                          @firestore_stub.universe_domain
         | 
| 186 | 
            +
                        end
         | 
| 187 | 
            +
             | 
| 176 188 | 
             
                        ##
         | 
| 177 189 | 
             
                        # Create a new Firestore client object.
         | 
| 178 190 | 
             
                        #
         | 
| @@ -206,8 +218,9 @@ module Google | |
| 206 218 | 
             
                          credentials = @config.credentials
         | 
| 207 219 | 
             
                          # Use self-signed JWT if the endpoint is unchanged from default,
         | 
| 208 220 | 
             
                          # but only if the default endpoint does not have a region prefix.
         | 
| 209 | 
            -
                          enable_self_signed_jwt = @config.endpoint | 
| 210 | 
            -
                                                    | 
| 221 | 
            +
                          enable_self_signed_jwt = @config.endpoint.nil? ||
         | 
| 222 | 
            +
                                                   (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
         | 
| 223 | 
            +
                                                   !@config.endpoint.split(".").first.include?("-"))
         | 
| 211 224 | 
             
                          credentials ||= Credentials.default scope: @config.scope,
         | 
| 212 225 | 
             
                                                              enable_self_signed_jwt: enable_self_signed_jwt
         | 
| 213 226 | 
             
                          if credentials.is_a?(::String) || credentials.is_a?(::Hash)
         | 
| @@ -216,19 +229,23 @@ module Google | |
| 216 229 | 
             
                          @quota_project_id = @config.quota_project
         | 
| 217 230 | 
             
                          @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
         | 
| 218 231 |  | 
| 219 | 
            -
                          @location_client = Google::Cloud::Location::Locations::Client.new do |config|
         | 
| 220 | 
            -
                            config.credentials = credentials
         | 
| 221 | 
            -
                            config.quota_project = @quota_project_id
         | 
| 222 | 
            -
                            config.endpoint = @config.endpoint
         | 
| 223 | 
            -
                          end
         | 
| 224 | 
            -
             | 
| 225 232 | 
             
                          @firestore_stub = ::Gapic::ServiceStub.new(
         | 
| 226 233 | 
             
                            ::Google::Cloud::Firestore::V1::Firestore::Stub,
         | 
| 227 | 
            -
                            credentials: | 
| 228 | 
            -
                            endpoint: | 
| 234 | 
            +
                            credentials: credentials,
         | 
| 235 | 
            +
                            endpoint: @config.endpoint,
         | 
| 236 | 
            +
                            endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
         | 
| 237 | 
            +
                            universe_domain: @config.universe_domain,
         | 
| 229 238 | 
             
                            channel_args: @config.channel_args,
         | 
| 230 | 
            -
                            interceptors: @config.interceptors
         | 
| 239 | 
            +
                            interceptors: @config.interceptors,
         | 
| 240 | 
            +
                            channel_pool_config: @config.channel_pool
         | 
| 231 241 | 
             
                          )
         | 
| 242 | 
            +
             | 
| 243 | 
            +
                          @location_client = Google::Cloud::Location::Locations::Client.new do |config|
         | 
| 244 | 
            +
                            config.credentials = credentials
         | 
| 245 | 
            +
                            config.quota_project = @quota_project_id
         | 
| 246 | 
            +
                            config.endpoint = @firestore_stub.endpoint
         | 
| 247 | 
            +
                            config.universe_domain = @firestore_stub.universe_domain
         | 
| 248 | 
            +
                          end
         | 
| 232 249 | 
             
                        end
         | 
| 233 250 |  | 
| 234 251 | 
             
                        ##
         | 
| @@ -270,7 +287,10 @@ module Google | |
| 270 287 | 
             
                        #     Reads the document in a transaction.
         | 
| 271 288 | 
             
                        #   @param read_time [::Google::Protobuf::Timestamp, ::Hash]
         | 
| 272 289 | 
             
                        #     Reads the version of the document at the given time.
         | 
| 273 | 
            -
                        # | 
| 290 | 
            +
                        #
         | 
| 291 | 
            +
                        #     This must be a microsecond precision timestamp within the past one hour,
         | 
| 292 | 
            +
                        #     or if Point-in-Time Recovery is enabled, can additionally be a whole
         | 
| 293 | 
            +
                        #     minute timestamp within the past 7 days.
         | 
| 274 294 | 
             
                        #
         | 
| 275 295 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 276 296 | 
             
                        # @yieldparam response [::Google::Cloud::Firestore::V1::Document]
         | 
| @@ -397,7 +417,9 @@ module Google | |
| 397 417 | 
             
                        #   @param read_time [::Google::Protobuf::Timestamp, ::Hash]
         | 
| 398 418 | 
             
                        #     Perform the read at the provided time.
         | 
| 399 419 | 
             
                        #
         | 
| 400 | 
            -
                        #     This  | 
| 420 | 
            +
                        #     This must be a microsecond precision timestamp within the past one hour,
         | 
| 421 | 
            +
                        #     or if Point-in-Time Recovery is enabled, can additionally be a whole
         | 
| 422 | 
            +
                        #     minute timestamp within the past 7 days.
         | 
| 401 423 | 
             
                        #   @param show_missing [::Boolean]
         | 
| 402 424 | 
             
                        #     If the list should show missing documents.
         | 
| 403 425 | 
             
                        #
         | 
| @@ -715,7 +737,10 @@ module Google | |
| 715 737 | 
             
                        #     stream.
         | 
| 716 738 | 
             
                        #   @param read_time [::Google::Protobuf::Timestamp, ::Hash]
         | 
| 717 739 | 
             
                        #     Reads documents as they were at the given time.
         | 
| 718 | 
            -
                        # | 
| 740 | 
            +
                        #
         | 
| 741 | 
            +
                        #     This must be a microsecond precision timestamp within the past one hour,
         | 
| 742 | 
            +
                        #     or if Point-in-Time Recovery is enabled, can additionally be a whole
         | 
| 743 | 
            +
                        #     minute timestamp within the past 7 days.
         | 
| 719 744 | 
             
                        #
         | 
| 720 745 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 721 746 | 
             
                        # @yieldparam response [::Enumerable<::Google::Cloud::Firestore::V1::BatchGetDocumentsResponse>]
         | 
| @@ -1091,7 +1116,10 @@ module Google | |
| 1091 1116 | 
             
                        #     stream.
         | 
| 1092 1117 | 
             
                        #   @param read_time [::Google::Protobuf::Timestamp, ::Hash]
         | 
| 1093 1118 | 
             
                        #     Reads documents as they were at the given time.
         | 
| 1094 | 
            -
                        # | 
| 1119 | 
            +
                        #
         | 
| 1120 | 
            +
                        #     This must be a microsecond precision timestamp within the past one hour,
         | 
| 1121 | 
            +
                        #     or if Point-in-Time Recovery is enabled, can additionally be a whole
         | 
| 1122 | 
            +
                        #     minute timestamp within the past 7 days.
         | 
| 1095 1123 | 
             
                        #
         | 
| 1096 1124 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 1097 1125 | 
             
                        # @yieldparam response [::Enumerable<::Google::Cloud::Firestore::V1::RunQueryResponse>]
         | 
| @@ -1211,9 +1239,9 @@ module Google | |
| 1211 1239 | 
             
                        #   @param read_time [::Google::Protobuf::Timestamp, ::Hash]
         | 
| 1212 1240 | 
             
                        #     Executes the query at the given timestamp.
         | 
| 1213 1241 | 
             
                        #
         | 
| 1214 | 
            -
                        #      | 
| 1215 | 
            -
                        #
         | 
| 1216 | 
            -
                        #      | 
| 1242 | 
            +
                        #     This must be a microsecond precision timestamp within the past one hour,
         | 
| 1243 | 
            +
                        #     or if Point-in-Time Recovery is enabled, can additionally be a whole
         | 
| 1244 | 
            +
                        #     minute timestamp within the past 7 days.
         | 
| 1217 1245 | 
             
                        #
         | 
| 1218 1246 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 1219 1247 | 
             
                        # @yieldparam response [::Enumerable<::Google::Cloud::Firestore::V1::RunAggregationQueryResponse>]
         | 
| @@ -1345,7 +1373,10 @@ module Google | |
| 1345 1373 | 
             
                        #     2 partitions, to complete the total of 10 specified in `partition_count`.
         | 
| 1346 1374 | 
             
                        #   @param read_time [::Google::Protobuf::Timestamp, ::Hash]
         | 
| 1347 1375 | 
             
                        #     Reads documents as they were at the given time.
         | 
| 1348 | 
            -
                        # | 
| 1376 | 
            +
                        #
         | 
| 1377 | 
            +
                        #     This must be a microsecond precision timestamp within the past one hour,
         | 
| 1378 | 
            +
                        #     or if Point-in-Time Recovery is enabled, can additionally be a whole
         | 
| 1379 | 
            +
                        #     minute timestamp within the past 7 days.
         | 
| 1349 1380 | 
             
                        #
         | 
| 1350 1381 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 1351 1382 | 
             
                        # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Firestore::V1::Cursor>]
         | 
| @@ -1418,7 +1449,7 @@ module Google | |
| 1418 1449 |  | 
| 1419 1450 | 
             
                        ##
         | 
| 1420 1451 | 
             
                        # Streams batches of document updates and deletes, in order. This method is
         | 
| 1421 | 
            -
                        # only available via  | 
| 1452 | 
            +
                        # only available via gRPC or WebChannel (not REST).
         | 
| 1422 1453 | 
             
                        #
         | 
| 1423 1454 | 
             
                        # @param request [::Gapic::StreamInput, ::Enumerable<::Google::Cloud::Firestore::V1::WriteRequest, ::Hash>]
         | 
| 1424 1455 | 
             
                        #   An enumerable of {::Google::Cloud::Firestore::V1::WriteRequest} instances.
         | 
| @@ -1496,8 +1527,8 @@ module Google | |
| 1496 1527 | 
             
                        end
         | 
| 1497 1528 |  | 
| 1498 1529 | 
             
                        ##
         | 
| 1499 | 
            -
                        # Listens to changes. This method is only available via  | 
| 1500 | 
            -
                        # REST).
         | 
| 1530 | 
            +
                        # Listens to changes. This method is only available via gRPC or WebChannel
         | 
| 1531 | 
            +
                        # (not REST).
         | 
| 1501 1532 | 
             
                        #
         | 
| 1502 1533 | 
             
                        # @param request [::Gapic::StreamInput, ::Enumerable<::Google::Cloud::Firestore::V1::ListenRequest, ::Hash>]
         | 
| 1503 1534 | 
             
                        #   An enumerable of {::Google::Cloud::Firestore::V1::ListenRequest} instances.
         | 
| @@ -1604,7 +1635,10 @@ module Google | |
| 1604 1635 | 
             
                        #     {::Google::Cloud::Firestore::V1::ListCollectionIdsResponse ListCollectionIdsResponse}.
         | 
| 1605 1636 | 
             
                        #   @param read_time [::Google::Protobuf::Timestamp, ::Hash]
         | 
| 1606 1637 | 
             
                        #     Reads documents as they were at the given time.
         | 
| 1607 | 
            -
                        # | 
| 1638 | 
            +
                        #
         | 
| 1639 | 
            +
                        #     This must be a microsecond precision timestamp within the past one hour,
         | 
| 1640 | 
            +
                        #     or if Point-in-Time Recovery is enabled, can additionally be a whole
         | 
| 1641 | 
            +
                        #     minute timestamp within the past 7 days.
         | 
| 1608 1642 | 
             
                        #
         | 
| 1609 1643 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 1610 1644 | 
             
                        # @yieldparam response [::Google::Cloud::Firestore::V1::ListCollectionIdsResponse]
         | 
| @@ -1907,17 +1941,17 @@ module Google | |
| 1907 1941 | 
             
                        #   end
         | 
| 1908 1942 | 
             
                        #
         | 
| 1909 1943 | 
             
                        # @!attribute [rw] endpoint
         | 
| 1910 | 
            -
                        #    | 
| 1911 | 
            -
                        #    | 
| 1912 | 
            -
                        #   @return [::String]
         | 
| 1944 | 
            +
                        #   A custom service endpoint, as a hostname or hostname:port. The default is
         | 
| 1945 | 
            +
                        #   nil, indicating to use the default endpoint in the current universe domain.
         | 
| 1946 | 
            +
                        #   @return [::String,nil]
         | 
| 1913 1947 | 
             
                        # @!attribute [rw] credentials
         | 
| 1914 1948 | 
             
                        #   Credentials to send with calls. You may provide any of the following types:
         | 
| 1915 1949 | 
             
                        #    *  (`String`) The path to a service account key file in JSON format
         | 
| 1916 1950 | 
             
                        #    *  (`Hash`) A service account key as a Hash
         | 
| 1917 1951 | 
             
                        #    *  (`Google::Auth::Credentials`) A googleauth credentials object
         | 
| 1918 | 
            -
                        #       (see the [googleauth docs](https:// | 
| 1952 | 
            +
                        #       (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
         | 
| 1919 1953 | 
             
                        #    *  (`Signet::OAuth2::Client`) A signet oauth2 client object
         | 
| 1920 | 
            -
                        #       (see the [signet docs](https:// | 
| 1954 | 
            +
                        #       (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
         | 
| 1921 1955 | 
             
                        #    *  (`GRPC::Core::Channel`) a gRPC channel with included credentials
         | 
| 1922 1956 | 
             
                        #    *  (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
         | 
| 1923 1957 | 
             
                        #    *  (`nil`) indicating no credentials
         | 
| @@ -1955,11 +1989,20 @@ module Google | |
| 1955 1989 | 
             
                        # @!attribute [rw] quota_project
         | 
| 1956 1990 | 
             
                        #   A separate project against which to charge quota.
         | 
| 1957 1991 | 
             
                        #   @return [::String]
         | 
| 1992 | 
            +
                        # @!attribute [rw] universe_domain
         | 
| 1993 | 
            +
                        #   The universe domain within which to make requests. This determines the
         | 
| 1994 | 
            +
                        #   default endpoint URL. The default value of nil uses the environment
         | 
| 1995 | 
            +
                        #   universe (usually the default "googleapis.com" universe).
         | 
| 1996 | 
            +
                        #   @return [::String,nil]
         | 
| 1958 1997 | 
             
                        #
         | 
| 1959 1998 | 
             
                        class Configuration
         | 
| 1960 1999 | 
             
                          extend ::Gapic::Config
         | 
| 1961 2000 |  | 
| 1962 | 
            -
                           | 
| 2001 | 
            +
                          # @private
         | 
| 2002 | 
            +
                          # The endpoint specific to the default "googleapis.com" universe. Deprecated.
         | 
| 2003 | 
            +
                          DEFAULT_ENDPOINT = "firestore.googleapis.com"
         | 
| 2004 | 
            +
             | 
| 2005 | 
            +
                          config_attr :endpoint,      nil, ::String, nil
         | 
| 1963 2006 | 
             
                          config_attr :credentials,   nil do |value|
         | 
| 1964 2007 | 
             
                            allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
         | 
| 1965 2008 | 
             
                            allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
         | 
| @@ -1974,6 +2017,7 @@ module Google | |
| 1974 2017 | 
             
                          config_attr :metadata,      nil, ::Hash, nil
         | 
| 1975 2018 | 
             
                          config_attr :retry_policy,  nil, ::Hash, ::Proc, nil
         | 
| 1976 2019 | 
             
                          config_attr :quota_project, nil, ::String, nil
         | 
| 2020 | 
            +
                          config_attr :universe_domain, nil, ::String, nil
         | 
| 1977 2021 |  | 
| 1978 2022 | 
             
                          # @private
         | 
| 1979 2023 | 
             
                          def initialize parent_config = nil
         | 
| @@ -1994,6 +2038,14 @@ module Google | |
| 1994 2038 | 
             
                            end
         | 
| 1995 2039 | 
             
                          end
         | 
| 1996 2040 |  | 
| 2041 | 
            +
                          ##
         | 
| 2042 | 
            +
                          # Configuration for the channel pool
         | 
| 2043 | 
            +
                          # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
         | 
| 2044 | 
            +
                          #
         | 
| 2045 | 
            +
                          def channel_pool
         | 
| 2046 | 
            +
                            @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
         | 
| 2047 | 
            +
                          end
         | 
| 2048 | 
            +
             | 
| 1997 2049 | 
             
                          ##
         | 
| 1998 2050 | 
             
                          # Configuration RPC class for the Firestore API.
         | 
| 1999 2051 | 
             
                          #
         |