google-cloud-service_directory-v1beta1 0.6.1 → 0.7.0
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/lib/google/cloud/service_directory/v1beta1/lookup_service/client.rb +29 -14
- data/lib/google/cloud/service_directory/v1beta1/registration_service/client.rb +120 -82
- data/lib/google/cloud/service_directory/v1beta1/registration_service/paths.rb +17 -0
- data/lib/google/cloud/service_directory/v1beta1/version.rb +1 -1
- data/lib/google/cloud/servicedirectory/v1beta1/endpoint_pb.rb +4 -0
- data/lib/google/cloud/servicedirectory/v1beta1/namespace_pb.rb +3 -0
- data/lib/google/cloud/servicedirectory/v1beta1/registration_service_services_pb.rb +6 -6
- data/lib/google/cloud/servicedirectory/v1beta1/service_pb.rb +3 -0
- data/proto_docs/google/cloud/servicedirectory/v1beta1/endpoint.rb +48 -12
- data/proto_docs/google/cloud/servicedirectory/v1beta1/lookup_service.rb +29 -14
- data/proto_docs/google/cloud/servicedirectory/v1beta1/namespace.rb +9 -3
- data/proto_docs/google/cloud/servicedirectory/v1beta1/registration_service.rb +115 -77
- data/proto_docs/google/cloud/servicedirectory/v1beta1/service.rb +35 -6
- data/proto_docs/google/protobuf/timestamp.rb +129 -0
- metadata +3 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 9dbd5753cd1f9cdaa0ef5ea57d5c720ebc2731900c3224c9a4296bfb50a942b0
         | 
| 4 | 
            +
              data.tar.gz: 42125fbf91f807801f8171b3424538221d4a713b5233ac8c75e49e946506d2ae
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 878b03786e5fb06d9dd4a1e829759a5f24496f80c1a76cc020ef42455f6b7286a5258c200682b1d6aa4f1a760affeff10527322b169d0e56ef4f89a50f60887c
         | 
| 7 | 
            +
              data.tar.gz: '03561611104928b7ff027601d15b442359344c18ed55985d4e8de01dbf974a4403a4fddbc8778334d982a127a0ba16a258421a6cb55520c5ae9bb3eaf182cacb'
         | 
| @@ -187,22 +187,37 @@ module Google | |
| 187 187 | 
             
                        #   @param endpoint_filter [::String]
         | 
| 188 188 | 
             
                        #     Optional. The filter applied to the endpoints of the resolved service.
         | 
| 189 189 | 
             
                        #
         | 
| 190 | 
            -
                        #     General filter string syntax:
         | 
| 191 | 
            -
                        #      | 
| 192 | 
            -
                        # | 
| 193 | 
            -
                        #      | 
| 194 | 
            -
                        # | 
| 195 | 
            -
                        #      | 
| 196 | 
            -
                        # | 
| 190 | 
            +
                        #     General `filter` string syntax:
         | 
| 191 | 
            +
                        #     `<field> <operator> <value> (<logical connector>)`
         | 
| 192 | 
            +
                        #
         | 
| 193 | 
            +
                        #     *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
         | 
| 194 | 
            +
                        #         map field
         | 
| 195 | 
            +
                        #     *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
         | 
| 196 | 
            +
                        #         means `HAS`, and is roughly the same as `=`
         | 
| 197 | 
            +
                        #     *   `<value>` must be the same data type as field
         | 
| 198 | 
            +
                        #     *   `<logical connector>` can be `AND`, `OR`, `NOT`
         | 
| 197 199 | 
             
                        #
         | 
| 198 200 | 
             
                        #     Examples of valid filters:
         | 
| 199 | 
            -
                        # | 
| 200 | 
            -
                        # | 
| 201 | 
            -
                        # | 
| 202 | 
            -
                        # | 
| 203 | 
            -
                        # | 
| 204 | 
            -
                        # | 
| 205 | 
            -
                        # | 
| 201 | 
            +
                        #
         | 
| 202 | 
            +
                        #     *   `metadata.owner` returns endpoints that have a annotation with the key
         | 
| 203 | 
            +
                        #         `owner`, this is the same as `metadata:owner`
         | 
| 204 | 
            +
                        #     *   `metadata.protocol=gRPC` returns endpoints that have key/value
         | 
| 205 | 
            +
                        #         `protocol=gRPC`
         | 
| 206 | 
            +
                        #     *   `address=192.108.1.105` returns endpoints that have this address
         | 
| 207 | 
            +
                        #     *   `port>8080` returns endpoints that have port number larger than 8080
         | 
| 208 | 
            +
                        #     *
         | 
| 209 | 
            +
                        #     `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
         | 
| 210 | 
            +
                        #         returns endpoints that have name that is alphabetically later than the
         | 
| 211 | 
            +
                        #         string, so "endpoint-e" is returned but "endpoint-a" is not
         | 
| 212 | 
            +
                        #     *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
         | 
| 213 | 
            +
                        #         `owner` in annotation key but value is not `sd` AND have key/value
         | 
| 214 | 
            +
                        #          `foo=bar`
         | 
| 215 | 
            +
                        #     *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
         | 
| 216 | 
            +
                        #         doesn't have a field called "doesnotexist". Since the filter does not
         | 
| 217 | 
            +
                        #         match any endpoint, it returns no results
         | 
| 218 | 
            +
                        #
         | 
| 219 | 
            +
                        #     For more information about filtering, see
         | 
| 220 | 
            +
                        #     [API Filtering](https://aip.dev/160).
         | 
| 206 221 | 
             
                        #
         | 
| 207 222 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 208 223 | 
             
                        # @yieldparam response [::Google::Cloud::ServiceDirectory::V1beta1::ResolveServiceResponse]
         | 
| @@ -173,7 +173,7 @@ module Google | |
| 173 173 | 
             
                        # Service calls
         | 
| 174 174 |  | 
| 175 175 | 
             
                        ##
         | 
| 176 | 
            -
                        # Creates a namespace, and returns the new  | 
| 176 | 
            +
                        # Creates a namespace, and returns the new namespace.
         | 
| 177 177 | 
             
                        #
         | 
| 178 178 | 
             
                        # @overload create_namespace(request, options = nil)
         | 
| 179 179 | 
             
                        #   Pass arguments to `create_namespace` via a request object, either of type
         | 
| @@ -268,46 +268,51 @@ module Google | |
| 268 268 | 
             
                        #   the default parameter values, pass an empty Hash as a request object (see above).
         | 
| 269 269 | 
             
                        #
         | 
| 270 270 | 
             
                        #   @param parent [::String]
         | 
| 271 | 
            -
                        #     Required. The resource name of the project and location whose namespaces  | 
| 272 | 
            -
                        #     list.
         | 
| 271 | 
            +
                        #     Required. The resource name of the project and location whose namespaces you'd like
         | 
| 272 | 
            +
                        #     to list.
         | 
| 273 273 | 
             
                        #   @param page_size [::Integer]
         | 
| 274 274 | 
             
                        #     Optional. The maximum number of items to return.
         | 
| 275 275 | 
             
                        #   @param page_token [::String]
         | 
| 276 276 | 
             
                        #     Optional. The next_page_token value returned from a previous List request, if any.
         | 
| 277 277 | 
             
                        #   @param filter [::String]
         | 
| 278 | 
            -
                        #     Optional. The filter to list  | 
| 278 | 
            +
                        #     Optional. The filter to list results by.
         | 
| 279 | 
            +
                        #
         | 
| 280 | 
            +
                        #     General `filter` string syntax:
         | 
| 281 | 
            +
                        #     `<field> <operator> <value> (<logical connector>)`
         | 
| 279 282 | 
             
                        #
         | 
| 280 | 
            -
                        #      | 
| 281 | 
            -
                        #      | 
| 282 | 
            -
                        # | 
| 283 | 
            -
                        #      | 
| 284 | 
            -
                        #      | 
| 285 | 
            -
                        #     <value> must be the same data type as field.
         | 
| 286 | 
            -
                        #     <logical connector> can be "AND, OR, NOT".
         | 
| 283 | 
            +
                        #     *   `<field>` can be `name` or `labels.<key>` for map field
         | 
| 284 | 
            +
                        #     *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
         | 
| 285 | 
            +
                        #         means `HAS`, and is roughly the same as `=`
         | 
| 286 | 
            +
                        #     *   `<value>` must be the same data type as field
         | 
| 287 | 
            +
                        #     *   `<logical connector>` can be `AND`, `OR`, `NOT`
         | 
| 287 288 | 
             
                        #
         | 
| 288 289 | 
             
                        #     Examples of valid filters:
         | 
| 289 | 
            -
                        # | 
| 290 | 
            -
                        # | 
| 291 | 
            -
                        # | 
| 292 | 
            -
                        # | 
| 293 | 
            -
                        #     * | 
| 294 | 
            -
                        # | 
| 295 | 
            -
                        # | 
| 296 | 
            -
                        #     * | 
| 297 | 
            -
                        # | 
| 298 | 
            -
                        #     * | 
| 299 | 
            -
                        # | 
| 300 | 
            -
                        # | 
| 290 | 
            +
                        #
         | 
| 291 | 
            +
                        #     *   `labels.owner` returns namespaces that have a label with the key
         | 
| 292 | 
            +
                        #         `owner`, this is the same as `labels:owner`
         | 
| 293 | 
            +
                        #     *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
         | 
| 294 | 
            +
                        #     *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
         | 
| 295 | 
            +
                        #         returns namespaces that have name that is alphabetically later than the
         | 
| 296 | 
            +
                        #         string, so "namespace-e" is returned but "namespace-a" is not
         | 
| 297 | 
            +
                        #     *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
         | 
| 298 | 
            +
                        #         `owner` in label key but value is not `sd` AND have key/value `foo=bar`
         | 
| 299 | 
            +
                        #     *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
         | 
| 300 | 
            +
                        #         doesn't have a field called "doesnotexist". Since the filter does not
         | 
| 301 | 
            +
                        #         match any namespaces, it returns no results
         | 
| 302 | 
            +
                        #
         | 
| 303 | 
            +
                        #     For more information about filtering, see
         | 
| 304 | 
            +
                        #     [API Filtering](https://aip.dev/160).
         | 
| 301 305 | 
             
                        #   @param order_by [::String]
         | 
| 302 | 
            -
                        #     Optional. The order to list  | 
| 306 | 
            +
                        #     Optional. The order to list results by.
         | 
| 307 | 
            +
                        #
         | 
| 308 | 
            +
                        #     General `order_by` string syntax: `<field> (<asc|desc>) (,)`
         | 
| 303 309 | 
             
                        #
         | 
| 304 | 
            -
                        #      | 
| 305 | 
            -
                        #      | 
| 306 | 
            -
                        # | 
| 307 | 
            -
                        # | 
| 308 | 
            -
                        #      | 
| 309 | 
            -
                        #      | 
| 310 | 
            -
                        #     by name in ascending order.
         | 
| 310 | 
            +
                        #     *   `<field>` allows value: `name`
         | 
| 311 | 
            +
                        #     *   `<asc|desc>` ascending or descending order by `<field>`. If this is
         | 
| 312 | 
            +
                        #         left blank, `asc` is used
         | 
| 313 | 
            +
                        #
         | 
| 314 | 
            +
                        #     Note that an empty `order_by` string results in default order, which is
         | 
| 315 | 
            +
                        #     order by `name` in ascending order.
         | 
| 311 316 | 
             
                        #
         | 
| 312 317 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 313 318 | 
             
                        # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::ServiceDirectory::V1beta1::Namespace>]
         | 
| @@ -557,7 +562,7 @@ module Google | |
| 557 562 | 
             
                        end
         | 
| 558 563 |  | 
| 559 564 | 
             
                        ##
         | 
| 560 | 
            -
                        # Creates a service, and returns the new  | 
| 565 | 
            +
                        # Creates a service, and returns the new service.
         | 
| 561 566 | 
             
                        #
         | 
| 562 567 | 
             
                        # @overload create_service(request, options = nil)
         | 
| 563 568 | 
             
                        #   Pass arguments to `create_service` via a request object, either of type
         | 
| @@ -651,7 +656,7 @@ module Google | |
| 651 656 | 
             
                        #   the default parameter values, pass an empty Hash as a request object (see above).
         | 
| 652 657 | 
             
                        #
         | 
| 653 658 | 
             
                        #   @param parent [::String]
         | 
| 654 | 
            -
                        #     Required. The resource name of the namespace whose services  | 
| 659 | 
            +
                        #     Required. The resource name of the namespace whose services you'd
         | 
| 655 660 | 
             
                        #     like to list.
         | 
| 656 661 | 
             
                        #   @param page_size [::Integer]
         | 
| 657 662 | 
             
                        #     Optional. The maximum number of items to return.
         | 
| @@ -659,31 +664,47 @@ module Google | |
| 659 664 | 
             
                        #     Optional. The next_page_token value returned from a previous List request,
         | 
| 660 665 | 
             
                        #     if any.
         | 
| 661 666 | 
             
                        #   @param filter [::String]
         | 
| 662 | 
            -
                        #     Optional. The filter to list  | 
| 667 | 
            +
                        #     Optional. The filter to list results by.
         | 
| 668 | 
            +
                        #
         | 
| 669 | 
            +
                        #     General `filter` string syntax:
         | 
| 670 | 
            +
                        #     `<field> <operator> <value> (<logical connector>)`
         | 
| 663 671 | 
             
                        #
         | 
| 664 | 
            -
                        #      | 
| 665 | 
            -
                        #      | 
| 666 | 
            -
                        # | 
| 667 | 
            -
                        #      | 
| 668 | 
            -
                        #      | 
| 669 | 
            -
                        #     <value> must be the same data type as field.
         | 
| 670 | 
            -
                        #     <logical connector> can be "AND, OR, NOT".
         | 
| 672 | 
            +
                        #     *   `<field>` can be `name` or `metadata.<key>` for map field
         | 
| 673 | 
            +
                        #     *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
         | 
| 674 | 
            +
                        #         means `HAS`, and is roughly the same as `=`
         | 
| 675 | 
            +
                        #     *   `<value>` must be the same data type as field
         | 
| 676 | 
            +
                        #     *   `<logical connector>` can be `AND`, `OR`, `NOT`
         | 
| 671 677 | 
             
                        #
         | 
| 672 678 | 
             
                        #     Examples of valid filters:
         | 
| 673 | 
            -
                        # | 
| 674 | 
            -
                        # | 
| 675 | 
            -
                        # | 
| 676 | 
            -
                        # | 
| 677 | 
            -
                        # | 
| 678 | 
            -
                        # | 
| 679 | 
            -
                        # | 
| 680 | 
            -
                        # | 
| 681 | 
            -
                        # | 
| 682 | 
            -
                        #     *  | 
| 683 | 
            -
                        # | 
| 684 | 
            -
                        # | 
| 679 | 
            +
                        #
         | 
| 680 | 
            +
                        #     *   `metadata.owner` returns services that have a metadata with the key
         | 
| 681 | 
            +
                        #         `owner`, this is the same as `metadata:owner`
         | 
| 682 | 
            +
                        #     *   `metadata.protocol=gRPC` returns services that have key/value
         | 
| 683 | 
            +
                        #         `protocol=gRPC`
         | 
| 684 | 
            +
                        #     *
         | 
| 685 | 
            +
                        #     `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
         | 
| 686 | 
            +
                        #         returns services that have name that is alphabetically later than the
         | 
| 687 | 
            +
                        #         string, so "service-e" is returned but "service-a" is not
         | 
| 688 | 
            +
                        #     *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
         | 
| 689 | 
            +
                        #         `owner` in metadata key but value is not `sd` AND have key/value
         | 
| 690 | 
            +
                        #         `foo=bar`
         | 
| 691 | 
            +
                        #     *   `doesnotexist.foo=bar` returns an empty list. Note that service
         | 
| 692 | 
            +
                        #         doesn't have a field called "doesnotexist". Since the filter does not
         | 
| 693 | 
            +
                        #         match any services, it returns no results
         | 
| 694 | 
            +
                        #
         | 
| 695 | 
            +
                        #     For more information about filtering, see
         | 
| 696 | 
            +
                        #     [API Filtering](https://aip.dev/160).
         | 
| 685 697 | 
             
                        #   @param order_by [::String]
         | 
| 686 | 
            -
                        #     Optional. The order to list  | 
| 698 | 
            +
                        #     Optional. The order to list results by.
         | 
| 699 | 
            +
                        #
         | 
| 700 | 
            +
                        #     General `order_by` string syntax: `<field> (<asc|desc>) (,)`
         | 
| 701 | 
            +
                        #
         | 
| 702 | 
            +
                        #     *   `<field>` allows value: `name`
         | 
| 703 | 
            +
                        #     *   `<asc|desc>` ascending or descending order by `<field>`. If this is
         | 
| 704 | 
            +
                        #         left blank, `asc` is used
         | 
| 705 | 
            +
                        #
         | 
| 706 | 
            +
                        #     Note that an empty `order_by` string results in default order, which is
         | 
| 707 | 
            +
                        #     order by `name` in ascending order.
         | 
| 687 708 | 
             
                        #
         | 
| 688 709 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 689 710 | 
             
                        # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::ServiceDirectory::V1beta1::Service>]
         | 
| @@ -933,7 +954,7 @@ module Google | |
| 933 954 | 
             
                        end
         | 
| 934 955 |  | 
| 935 956 | 
             
                        ##
         | 
| 936 | 
            -
                        # Creates  | 
| 957 | 
            +
                        # Creates an endpoint, and returns the new endpoint.
         | 
| 937 958 | 
             
                        #
         | 
| 938 959 | 
             
                        # @overload create_endpoint(request, options = nil)
         | 
| 939 960 | 
             
                        #   Pass arguments to `create_endpoint` via a request object, either of type
         | 
| @@ -1027,7 +1048,7 @@ module Google | |
| 1027 1048 | 
             
                        #   the default parameter values, pass an empty Hash as a request object (see above).
         | 
| 1028 1049 | 
             
                        #
         | 
| 1029 1050 | 
             
                        #   @param parent [::String]
         | 
| 1030 | 
            -
                        #     Required. The resource name of the service whose endpoints  | 
| 1051 | 
            +
                        #     Required. The resource name of the service whose endpoints you'd like to
         | 
| 1031 1052 | 
             
                        #     list.
         | 
| 1032 1053 | 
             
                        #   @param page_size [::Integer]
         | 
| 1033 1054 | 
             
                        #     Optional. The maximum number of items to return.
         | 
| @@ -1035,33 +1056,50 @@ module Google | |
| 1035 1056 | 
             
                        #     Optional. The next_page_token value returned from a previous List request,
         | 
| 1036 1057 | 
             
                        #     if any.
         | 
| 1037 1058 | 
             
                        #   @param filter [::String]
         | 
| 1038 | 
            -
                        #     Optional. The filter to list  | 
| 1059 | 
            +
                        #     Optional. The filter to list results by.
         | 
| 1039 1060 | 
             
                        #
         | 
| 1040 | 
            -
                        #     General filter string syntax:
         | 
| 1041 | 
            -
                        #      | 
| 1042 | 
            -
                        # | 
| 1043 | 
            -
                        #      | 
| 1044 | 
            -
                        # | 
| 1045 | 
            -
                        #      | 
| 1046 | 
            -
                        # | 
| 1061 | 
            +
                        #     General `filter` string syntax:
         | 
| 1062 | 
            +
                        #     `<field> <operator> <value> (<logical connector>)`
         | 
| 1063 | 
            +
                        #
         | 
| 1064 | 
            +
                        #     *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
         | 
| 1065 | 
            +
                        #         field
         | 
| 1066 | 
            +
                        #     *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
         | 
| 1067 | 
            +
                        #         means `HAS`, and is roughly the same as `=`
         | 
| 1068 | 
            +
                        #     *   `<value>` must be the same data type as field
         | 
| 1069 | 
            +
                        #     *   `<logical connector>` can be `AND`, `OR`, `NOT`
         | 
| 1047 1070 | 
             
                        #
         | 
| 1048 1071 | 
             
                        #     Examples of valid filters:
         | 
| 1049 | 
            -
                        # | 
| 1050 | 
            -
                        # | 
| 1051 | 
            -
                        # | 
| 1052 | 
            -
                        # | 
| 1053 | 
            -
                        # | 
| 1054 | 
            -
                        #     *  | 
| 1055 | 
            -
                        #     *  | 
| 1056 | 
            -
                        # | 
| 1057 | 
            -
                        # | 
| 1058 | 
            -
                        # | 
| 1059 | 
            -
                        # | 
| 1060 | 
            -
                        #     *  | 
| 1061 | 
            -
                        # | 
| 1062 | 
            -
                        # | 
| 1072 | 
            +
                        #
         | 
| 1073 | 
            +
                        #     *   `metadata.owner` returns endpoints that have a metadata with the key
         | 
| 1074 | 
            +
                        #         `owner`, this is the same as `metadata:owner`
         | 
| 1075 | 
            +
                        #     *   `metadata.protocol=gRPC` returns endpoints that have key/value
         | 
| 1076 | 
            +
                        #         `protocol=gRPC`
         | 
| 1077 | 
            +
                        #     *   `address=192.108.1.105` returns endpoints that have this address
         | 
| 1078 | 
            +
                        #     *   `port>8080` returns endpoints that have port number larger than 8080
         | 
| 1079 | 
            +
                        #     *
         | 
| 1080 | 
            +
                        #     `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
         | 
| 1081 | 
            +
                        #         returns endpoints that have name that is alphabetically later than the
         | 
| 1082 | 
            +
                        #         string, so "endpoint-e" is returned but "endpoint-a" is not
         | 
| 1083 | 
            +
                        #     *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
         | 
| 1084 | 
            +
                        #         `owner` in metadata key but value is not `sd` AND have key/value
         | 
| 1085 | 
            +
                        #          `foo=bar`
         | 
| 1086 | 
            +
                        #     *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
         | 
| 1087 | 
            +
                        #         doesn't have a field called "doesnotexist". Since the filter does not
         | 
| 1088 | 
            +
                        #         match any endpoints, it returns no results
         | 
| 1089 | 
            +
                        #
         | 
| 1090 | 
            +
                        #     For more information about filtering, see
         | 
| 1091 | 
            +
                        #     [API Filtering](https://aip.dev/160).
         | 
| 1063 1092 | 
             
                        #   @param order_by [::String]
         | 
| 1064 | 
            -
                        #     Optional. The order to list  | 
| 1093 | 
            +
                        #     Optional. The order to list results by.
         | 
| 1094 | 
            +
                        #
         | 
| 1095 | 
            +
                        #     General `order_by` string syntax: `<field> (<asc|desc>) (,)`
         | 
| 1096 | 
            +
                        #
         | 
| 1097 | 
            +
                        #     *   `<field>` allows values: `name`, `address`, `port`
         | 
| 1098 | 
            +
                        #     *   `<asc|desc>` ascending or descending order by `<field>`. If this is
         | 
| 1099 | 
            +
                        #         left blank, `asc` is used
         | 
| 1100 | 
            +
                        #
         | 
| 1101 | 
            +
                        #     Note that an empty `order_by` string results in default order, which is
         | 
| 1102 | 
            +
                        #     order by `name` in ascending order.
         | 
| 1065 1103 | 
             
                        #
         | 
| 1066 1104 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 1067 1105 | 
             
                        # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::ServiceDirectory::V1beta1::Endpoint>]
         | 
| @@ -1110,7 +1148,7 @@ module Google | |
| 1110 1148 | 
             
                        end
         | 
| 1111 1149 |  | 
| 1112 1150 | 
             
                        ##
         | 
| 1113 | 
            -
                        # Gets  | 
| 1151 | 
            +
                        # Gets an endpoint.
         | 
| 1114 1152 | 
             
                        #
         | 
| 1115 1153 | 
             
                        # @overload get_endpoint(request, options = nil)
         | 
| 1116 1154 | 
             
                        #   Pass arguments to `get_endpoint` via a request object, either of type
         | 
| @@ -1176,7 +1214,7 @@ module Google | |
| 1176 1214 | 
             
                        end
         | 
| 1177 1215 |  | 
| 1178 1216 | 
             
                        ##
         | 
| 1179 | 
            -
                        # Updates  | 
| 1217 | 
            +
                        # Updates an endpoint.
         | 
| 1180 1218 | 
             
                        #
         | 
| 1181 1219 | 
             
                        # @overload update_endpoint(request, options = nil)
         | 
| 1182 1220 | 
             
                        #   Pass arguments to `update_endpoint` via a request object, either of type
         | 
| @@ -1244,7 +1282,7 @@ module Google | |
| 1244 1282 | 
             
                        end
         | 
| 1245 1283 |  | 
| 1246 1284 | 
             
                        ##
         | 
| 1247 | 
            -
                        # Deletes  | 
| 1285 | 
            +
                        # Deletes an endpoint.
         | 
| 1248 1286 | 
             
                        #
         | 
| 1249 1287 | 
             
                        # @overload delete_endpoint(request, options = nil)
         | 
| 1250 1288 | 
             
                        #   Pass arguments to `delete_endpoint` via a request object, either of type
         | 
| @@ -83,6 +83,23 @@ module Google | |
| 83 83 | 
             
                          "projects/#{project}/locations/#{location}/namespaces/#{namespace}"
         | 
| 84 84 | 
             
                        end
         | 
| 85 85 |  | 
| 86 | 
            +
                        ##
         | 
| 87 | 
            +
                        # Create a fully-qualified Network resource string.
         | 
| 88 | 
            +
                        #
         | 
| 89 | 
            +
                        # The resource will be in the following format:
         | 
| 90 | 
            +
                        #
         | 
| 91 | 
            +
                        # `projects/{project}/locations/global/networks/{network}`
         | 
| 92 | 
            +
                        #
         | 
| 93 | 
            +
                        # @param project [String]
         | 
| 94 | 
            +
                        # @param network [String]
         | 
| 95 | 
            +
                        #
         | 
| 96 | 
            +
                        # @return [::String]
         | 
| 97 | 
            +
                        def network_path project:, network:
         | 
| 98 | 
            +
                          raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
         | 
| 99 | 
            +
             | 
| 100 | 
            +
                          "projects/#{project}/locations/global/networks/#{network}"
         | 
| 101 | 
            +
                        end
         | 
| 102 | 
            +
             | 
| 86 103 | 
             
                        ##
         | 
| 87 104 | 
             
                        # Create a fully-qualified Service resource string.
         | 
| 88 105 | 
             
                        #
         | 
| @@ -5,6 +5,7 @@ require 'google/protobuf' | |
| 5 5 |  | 
| 6 6 | 
             
            require 'google/api/field_behavior_pb'
         | 
| 7 7 | 
             
            require 'google/api/resource_pb'
         | 
| 8 | 
            +
            require 'google/protobuf/timestamp_pb'
         | 
| 8 9 | 
             
            require 'google/api/annotations_pb'
         | 
| 9 10 | 
             
            Google::Protobuf::DescriptorPool.generated_pool.build do
         | 
| 10 11 | 
             
              add_file("google/cloud/servicedirectory/v1beta1/endpoint.proto", :syntax => :proto3) do
         | 
| @@ -13,6 +14,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do | |
| 13 14 | 
             
                  optional :address, :string, 2
         | 
| 14 15 | 
             
                  optional :port, :int32, 3
         | 
| 15 16 | 
             
                  map :metadata, :string, :string, 4
         | 
| 17 | 
            +
                  optional :network, :string, 5
         | 
| 18 | 
            +
                  optional :create_time, :message, 6, "google.protobuf.Timestamp"
         | 
| 19 | 
            +
                  optional :update_time, :message, 7, "google.protobuf.Timestamp"
         | 
| 16 20 | 
             
                end
         | 
| 17 21 | 
             
              end
         | 
| 18 22 | 
             
            end
         | 
| @@ -5,12 +5,15 @@ require 'google/protobuf' | |
| 5 5 |  | 
| 6 6 | 
             
            require 'google/api/field_behavior_pb'
         | 
| 7 7 | 
             
            require 'google/api/resource_pb'
         | 
| 8 | 
            +
            require 'google/protobuf/timestamp_pb'
         | 
| 8 9 | 
             
            require 'google/api/annotations_pb'
         | 
| 9 10 | 
             
            Google::Protobuf::DescriptorPool.generated_pool.build do
         | 
| 10 11 | 
             
              add_file("google/cloud/servicedirectory/v1beta1/namespace.proto", :syntax => :proto3) do
         | 
| 11 12 | 
             
                add_message "google.cloud.servicedirectory.v1beta1.Namespace" do
         | 
| 12 13 | 
             
                  optional :name, :string, 1
         | 
| 13 14 | 
             
                  map :labels, :string, :string, 2
         | 
| 15 | 
            +
                  optional :create_time, :message, 4, "google.protobuf.Timestamp"
         | 
| 16 | 
            +
                  optional :update_time, :message, 5, "google.protobuf.Timestamp"
         | 
| 14 17 | 
             
                end
         | 
| 15 18 | 
             
              end
         | 
| 16 19 | 
             
            end
         | 
| @@ -47,7 +47,7 @@ module Google | |
| 47 47 | 
             
                        self.unmarshal_class_method = :decode
         | 
| 48 48 | 
             
                        self.service_name = 'google.cloud.servicedirectory.v1beta1.RegistrationService'
         | 
| 49 49 |  | 
| 50 | 
            -
                        # Creates a namespace, and returns the new  | 
| 50 | 
            +
                        # Creates a namespace, and returns the new namespace.
         | 
| 51 51 | 
             
                        rpc :CreateNamespace, ::Google::Cloud::ServiceDirectory::V1beta1::CreateNamespaceRequest, ::Google::Cloud::ServiceDirectory::V1beta1::Namespace
         | 
| 52 52 | 
             
                        # Lists all namespaces.
         | 
| 53 53 | 
             
                        rpc :ListNamespaces, ::Google::Cloud::ServiceDirectory::V1beta1::ListNamespacesRequest, ::Google::Cloud::ServiceDirectory::V1beta1::ListNamespacesResponse
         | 
| @@ -58,7 +58,7 @@ module Google | |
| 58 58 | 
             
                        # Deletes a namespace. This also deletes all services and endpoints in
         | 
| 59 59 | 
             
                        # the namespace.
         | 
| 60 60 | 
             
                        rpc :DeleteNamespace, ::Google::Cloud::ServiceDirectory::V1beta1::DeleteNamespaceRequest, ::Google::Protobuf::Empty
         | 
| 61 | 
            -
                        # Creates a service, and returns the new  | 
| 61 | 
            +
                        # Creates a service, and returns the new service.
         | 
| 62 62 | 
             
                        rpc :CreateService, ::Google::Cloud::ServiceDirectory::V1beta1::CreateServiceRequest, ::Google::Cloud::ServiceDirectory::V1beta1::Service
         | 
| 63 63 | 
             
                        # Lists all services belonging to a namespace.
         | 
| 64 64 | 
             
                        rpc :ListServices, ::Google::Cloud::ServiceDirectory::V1beta1::ListServicesRequest, ::Google::Cloud::ServiceDirectory::V1beta1::ListServicesResponse
         | 
| @@ -69,15 +69,15 @@ module Google | |
| 69 69 | 
             
                        # Deletes a service. This also deletes all endpoints associated with
         | 
| 70 70 | 
             
                        # the service.
         | 
| 71 71 | 
             
                        rpc :DeleteService, ::Google::Cloud::ServiceDirectory::V1beta1::DeleteServiceRequest, ::Google::Protobuf::Empty
         | 
| 72 | 
            -
                        # Creates  | 
| 72 | 
            +
                        # Creates an endpoint, and returns the new endpoint.
         | 
| 73 73 | 
             
                        rpc :CreateEndpoint, ::Google::Cloud::ServiceDirectory::V1beta1::CreateEndpointRequest, ::Google::Cloud::ServiceDirectory::V1beta1::Endpoint
         | 
| 74 74 | 
             
                        # Lists all endpoints.
         | 
| 75 75 | 
             
                        rpc :ListEndpoints, ::Google::Cloud::ServiceDirectory::V1beta1::ListEndpointsRequest, ::Google::Cloud::ServiceDirectory::V1beta1::ListEndpointsResponse
         | 
| 76 | 
            -
                        # Gets  | 
| 76 | 
            +
                        # Gets an endpoint.
         | 
| 77 77 | 
             
                        rpc :GetEndpoint, ::Google::Cloud::ServiceDirectory::V1beta1::GetEndpointRequest, ::Google::Cloud::ServiceDirectory::V1beta1::Endpoint
         | 
| 78 | 
            -
                        # Updates  | 
| 78 | 
            +
                        # Updates an endpoint.
         | 
| 79 79 | 
             
                        rpc :UpdateEndpoint, ::Google::Cloud::ServiceDirectory::V1beta1::UpdateEndpointRequest, ::Google::Cloud::ServiceDirectory::V1beta1::Endpoint
         | 
| 80 | 
            -
                        # Deletes  | 
| 80 | 
            +
                        # Deletes an endpoint.
         | 
| 81 81 | 
             
                        rpc :DeleteEndpoint, ::Google::Cloud::ServiceDirectory::V1beta1::DeleteEndpointRequest, ::Google::Protobuf::Empty
         | 
| 82 82 | 
             
                        # Gets the IAM Policy for a resource (namespace or service only).
         | 
| 83 83 | 
             
                        rpc :GetIamPolicy, ::Google::Iam::V1::GetIamPolicyRequest, ::Google::Iam::V1::Policy
         | 
| @@ -6,6 +6,7 @@ require 'google/protobuf' | |
| 6 6 | 
             
            require 'google/api/field_behavior_pb'
         | 
| 7 7 | 
             
            require 'google/api/resource_pb'
         | 
| 8 8 | 
             
            require 'google/cloud/servicedirectory/v1beta1/endpoint_pb'
         | 
| 9 | 
            +
            require 'google/protobuf/timestamp_pb'
         | 
| 9 10 | 
             
            require 'google/api/annotations_pb'
         | 
| 10 11 | 
             
            Google::Protobuf::DescriptorPool.generated_pool.build do
         | 
| 11 12 | 
             
              add_file("google/cloud/servicedirectory/v1beta1/service.proto", :syntax => :proto3) do
         | 
| @@ -13,6 +14,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do | |
| 13 14 | 
             
                  optional :name, :string, 1
         | 
| 14 15 | 
             
                  map :metadata, :string, :string, 2
         | 
| 15 16 | 
             
                  repeated :endpoints, :message, 3, "google.cloud.servicedirectory.v1beta1.Endpoint"
         | 
| 17 | 
            +
                  optional :create_time, :message, 6, "google.protobuf.Timestamp"
         | 
| 18 | 
            +
                  optional :update_time, :message, 7, "google.protobuf.Timestamp"
         | 
| 16 19 | 
             
                end
         | 
| 17 20 | 
             
              end
         | 
| 18 21 | 
             
            end
         | 
| @@ -27,26 +27,62 @@ module Google | |
| 27 27 | 
             
                    # @!attribute [rw] name
         | 
| 28 28 | 
             
                    #   @return [::String]
         | 
| 29 29 | 
             
                    #     Immutable. The resource name for the endpoint in the format
         | 
| 30 | 
            -
                    #      | 
| 30 | 
            +
                    #     `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
         | 
| 31 31 | 
             
                    # @!attribute [rw] address
         | 
| 32 32 | 
             
                    #   @return [::String]
         | 
| 33 | 
            -
                    #     Optional. An IPv4 or IPv6 address. Service Directory  | 
| 34 | 
            -
                    # | 
| 35 | 
            -
                    # | 
| 36 | 
            -
                    # | 
| 37 | 
            -
                    # | 
| 38 | 
            -
                    # | 
| 39 | 
            -
                    # | 
| 33 | 
            +
                    #     Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
         | 
| 34 | 
            +
                    #
         | 
| 35 | 
            +
                    #     *   `8.8.8`
         | 
| 36 | 
            +
                    #     *   `8.8.8.8:53`
         | 
| 37 | 
            +
                    #     *   `test:bad:address`
         | 
| 38 | 
            +
                    #     *   `[::1]`
         | 
| 39 | 
            +
                    #     *   `[::1]:8080`
         | 
| 40 | 
            +
                    #
         | 
| 40 41 | 
             
                    #     Limited to 45 characters.
         | 
| 41 42 | 
             
                    # @!attribute [rw] port
         | 
| 42 43 | 
             
                    #   @return [::Integer]
         | 
| 43 | 
            -
                    #     Optional. Service Directory  | 
| 44 | 
            +
                    #     Optional. Service Directory rejects values outside of `[0, 65535]`.
         | 
| 44 45 | 
             
                    # @!attribute [rw] metadata
         | 
| 45 46 | 
             
                    #   @return [::Google::Protobuf::Map{::String => ::String}]
         | 
| 46 47 | 
             
                    #     Optional. Metadata for the endpoint. This data can be consumed by service
         | 
| 47 | 
            -
                    #     clients. | 
| 48 | 
            -
                    # | 
| 49 | 
            -
                    #      | 
| 48 | 
            +
                    #     clients.
         | 
| 49 | 
            +
                    #
         | 
| 50 | 
            +
                    #     Restrictions:
         | 
| 51 | 
            +
                    #
         | 
| 52 | 
            +
                    #     *   The entire metadata dictionary may contain up to 512 characters,
         | 
| 53 | 
            +
                    #         spread accoss all key-value pairs. Metadata that goes beyond this
         | 
| 54 | 
            +
                    #         limit are rejected
         | 
| 55 | 
            +
                    #     *   Valid metadata keys have two segments: an optional prefix and name,
         | 
| 56 | 
            +
                    #         separated by a slash (/). The name segment is required and must be 63
         | 
| 57 | 
            +
                    #         characters or less, beginning and ending with an alphanumeric character
         | 
| 58 | 
            +
                    #         ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
         | 
| 59 | 
            +
                    #         alphanumerics between. The prefix is optional. If specified, the prefix
         | 
| 60 | 
            +
                    #         must be a DNS subdomain: a series of DNS labels separated by dots (.),
         | 
| 61 | 
            +
                    #         not longer than 253 characters in total, followed by a slash (/).
         | 
| 62 | 
            +
                    #         Metadata that fails to meet these requirements are rejected
         | 
| 63 | 
            +
                    #     *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
         | 
| 64 | 
            +
                    #         for system metadata managed by Service Directory. If the user tries
         | 
| 65 | 
            +
                    #         to write to these keyspaces, those entries are silently ignored by
         | 
| 66 | 
            +
                    #         the system
         | 
| 67 | 
            +
                    #
         | 
| 68 | 
            +
                    #     Note: This field is equivalent to the `annotations` field in the v1 API.
         | 
| 69 | 
            +
                    #     They have the same syntax and read/write to the same location in Service
         | 
| 70 | 
            +
                    #     Directory.
         | 
| 71 | 
            +
                    # @!attribute [rw] network
         | 
| 72 | 
            +
                    #   @return [::String]
         | 
| 73 | 
            +
                    #     Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
         | 
| 74 | 
            +
                    #     `projects/<project number>/locations/global/networks/*`.
         | 
| 75 | 
            +
                    #
         | 
| 76 | 
            +
                    #     The project must be specified by project number (project id is rejected).
         | 
| 77 | 
            +
                    #     Incorrectly formatted networks are rejected, but no other validation
         | 
| 78 | 
            +
                    #     is performed on this field (ex. network or project existence, reachability,
         | 
| 79 | 
            +
                    #     or permissions).
         | 
| 80 | 
            +
                    # @!attribute [r] create_time
         | 
| 81 | 
            +
                    #   @return [::Google::Protobuf::Timestamp]
         | 
| 82 | 
            +
                    #     Output only. The timestamp when the endpoint was created.
         | 
| 83 | 
            +
                    # @!attribute [r] update_time
         | 
| 84 | 
            +
                    #   @return [::Google::Protobuf::Timestamp]
         | 
| 85 | 
            +
                    #     Output only. The timestamp when the endpoint was last updated.
         | 
| 50 86 | 
             
                    class Endpoint
         | 
| 51 87 | 
             
                      include ::Google::Protobuf::MessageExts
         | 
| 52 88 | 
             
                      extend ::Google::Protobuf::MessageExts::ClassMethods
         | 
| @@ -35,22 +35,37 @@ module Google | |
| 35 35 | 
             
                    #   @return [::String]
         | 
| 36 36 | 
             
                    #     Optional. The filter applied to the endpoints of the resolved service.
         | 
| 37 37 | 
             
                    #
         | 
| 38 | 
            -
                    #     General filter string syntax:
         | 
| 39 | 
            -
                    #      | 
| 40 | 
            -
                    # | 
| 41 | 
            -
                    #      | 
| 42 | 
            -
                    # | 
| 43 | 
            -
                    #      | 
| 44 | 
            -
                    # | 
| 38 | 
            +
                    #     General `filter` string syntax:
         | 
| 39 | 
            +
                    #     `<field> <operator> <value> (<logical connector>)`
         | 
| 40 | 
            +
                    #
         | 
| 41 | 
            +
                    #     *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for
         | 
| 42 | 
            +
                    #         map field
         | 
| 43 | 
            +
                    #     *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
         | 
| 44 | 
            +
                    #         means `HAS`, and is roughly the same as `=`
         | 
| 45 | 
            +
                    #     *   `<value>` must be the same data type as field
         | 
| 46 | 
            +
                    #     *   `<logical connector>` can be `AND`, `OR`, `NOT`
         | 
| 45 47 | 
             
                    #
         | 
| 46 48 | 
             
                    #     Examples of valid filters:
         | 
| 47 | 
            -
                    # | 
| 48 | 
            -
                    # | 
| 49 | 
            -
                    # | 
| 50 | 
            -
                    # | 
| 51 | 
            -
                    # | 
| 52 | 
            -
                    # | 
| 53 | 
            -
                    # | 
| 49 | 
            +
                    #
         | 
| 50 | 
            +
                    #     *   `metadata.owner` returns endpoints that have a annotation with the key
         | 
| 51 | 
            +
                    #         `owner`, this is the same as `metadata:owner`
         | 
| 52 | 
            +
                    #     *   `metadata.protocol=gRPC` returns endpoints that have key/value
         | 
| 53 | 
            +
                    #         `protocol=gRPC`
         | 
| 54 | 
            +
                    #     *   `address=192.108.1.105` returns endpoints that have this address
         | 
| 55 | 
            +
                    #     *   `port>8080` returns endpoints that have port number larger than 8080
         | 
| 56 | 
            +
                    #     *
         | 
| 57 | 
            +
                    #     `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
         | 
| 58 | 
            +
                    #         returns endpoints that have name that is alphabetically later than the
         | 
| 59 | 
            +
                    #         string, so "endpoint-e" is returned but "endpoint-a" is not
         | 
| 60 | 
            +
                    #     *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
         | 
| 61 | 
            +
                    #         `owner` in annotation key but value is not `sd` AND have key/value
         | 
| 62 | 
            +
                    #          `foo=bar`
         | 
| 63 | 
            +
                    #     *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
         | 
| 64 | 
            +
                    #         doesn't have a field called "doesnotexist". Since the filter does not
         | 
| 65 | 
            +
                    #         match any endpoint, it returns no results
         | 
| 66 | 
            +
                    #
         | 
| 67 | 
            +
                    #     For more information about filtering, see
         | 
| 68 | 
            +
                    #     [API Filtering](https://aip.dev/160).
         | 
| 54 69 | 
             
                    class ResolveServiceRequest
         | 
| 55 70 | 
             
                      include ::Google::Protobuf::MessageExts
         | 
| 56 71 | 
             
                      extend ::Google::Protobuf::MessageExts::ClassMethods
         | 
| @@ -27,12 +27,18 @@ module Google | |
| 27 27 | 
             
                    # @!attribute [rw] name
         | 
| 28 28 | 
             
                    #   @return [::String]
         | 
| 29 29 | 
             
                    #     Immutable. The resource name for the namespace in the format
         | 
| 30 | 
            -
                    #      | 
| 30 | 
            +
                    #     `projects/*/locations/*/namespaces/*`.
         | 
| 31 31 | 
             
                    # @!attribute [rw] labels
         | 
| 32 32 | 
             
                    #   @return [::Google::Protobuf::Map{::String => ::String}]
         | 
| 33 | 
            -
                    #     Optional. Resource labels associated with this  | 
| 34 | 
            -
                    #     No more than 64 user labels can be associated with a given resource. | 
| 33 | 
            +
                    #     Optional. Resource labels associated with this namespace.
         | 
| 34 | 
            +
                    #     No more than 64 user labels can be associated with a given resource. Label
         | 
| 35 35 | 
             
                    #     keys and values can be no longer than 63 characters.
         | 
| 36 | 
            +
                    # @!attribute [r] create_time
         | 
| 37 | 
            +
                    #   @return [::Google::Protobuf::Timestamp]
         | 
| 38 | 
            +
                    #     Output only. The timestamp when the namespace was created.
         | 
| 39 | 
            +
                    # @!attribute [r] update_time
         | 
| 40 | 
            +
                    #   @return [::Google::Protobuf::Timestamp]
         | 
| 41 | 
            +
                    #     Output only. The timestamp when the namespace was last updated.
         | 
| 36 42 | 
             
                    class Namespace
         | 
| 37 43 | 
             
                      include ::Google::Protobuf::MessageExts
         | 
| 38 44 | 
             
                      extend ::Google::Protobuf::MessageExts::ClassMethods
         | 
| @@ -46,8 +46,8 @@ module Google | |
| 46 46 | 
             
                    # The request message for {::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Client#list_namespaces RegistrationService.ListNamespaces}.
         | 
| 47 47 | 
             
                    # @!attribute [rw] parent
         | 
| 48 48 | 
             
                    #   @return [::String]
         | 
| 49 | 
            -
                    #     Required. The resource name of the project and location whose namespaces  | 
| 50 | 
            -
                    #     list.
         | 
| 49 | 
            +
                    #     Required. The resource name of the project and location whose namespaces you'd like
         | 
| 50 | 
            +
                    #     to list.
         | 
| 51 51 | 
             
                    # @!attribute [rw] page_size
         | 
| 52 52 | 
             
                    #   @return [::Integer]
         | 
| 53 53 | 
             
                    #     Optional. The maximum number of items to return.
         | 
| @@ -56,40 +56,45 @@ module Google | |
| 56 56 | 
             
                    #     Optional. The next_page_token value returned from a previous List request, if any.
         | 
| 57 57 | 
             
                    # @!attribute [rw] filter
         | 
| 58 58 | 
             
                    #   @return [::String]
         | 
| 59 | 
            -
                    #     Optional. The filter to list  | 
| 59 | 
            +
                    #     Optional. The filter to list results by.
         | 
| 60 | 
            +
                    #
         | 
| 61 | 
            +
                    #     General `filter` string syntax:
         | 
| 62 | 
            +
                    #     `<field> <operator> <value> (<logical connector>)`
         | 
| 60 63 | 
             
                    #
         | 
| 61 | 
            -
                    #      | 
| 62 | 
            -
                    #      | 
| 63 | 
            -
                    # | 
| 64 | 
            -
                    #      | 
| 65 | 
            -
                    #      | 
| 66 | 
            -
                    #     <value> must be the same data type as field.
         | 
| 67 | 
            -
                    #     <logical connector> can be "AND, OR, NOT".
         | 
| 64 | 
            +
                    #     *   `<field>` can be `name` or `labels.<key>` for map field
         | 
| 65 | 
            +
                    #     *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
         | 
| 66 | 
            +
                    #         means `HAS`, and is roughly the same as `=`
         | 
| 67 | 
            +
                    #     *   `<value>` must be the same data type as field
         | 
| 68 | 
            +
                    #     *   `<logical connector>` can be `AND`, `OR`, `NOT`
         | 
| 68 69 | 
             
                    #
         | 
| 69 70 | 
             
                    #     Examples of valid filters:
         | 
| 70 | 
            -
                    # | 
| 71 | 
            -
                    # | 
| 72 | 
            -
                    # | 
| 73 | 
            -
                    # | 
| 74 | 
            -
                    #     * | 
| 75 | 
            -
                    # | 
| 76 | 
            -
                    # | 
| 77 | 
            -
                    #     * | 
| 78 | 
            -
                    # | 
| 79 | 
            -
                    #     * | 
| 80 | 
            -
                    # | 
| 81 | 
            -
                    # | 
| 71 | 
            +
                    #
         | 
| 72 | 
            +
                    #     *   `labels.owner` returns namespaces that have a label with the key
         | 
| 73 | 
            +
                    #         `owner`, this is the same as `labels:owner`
         | 
| 74 | 
            +
                    #     *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
         | 
| 75 | 
            +
                    #     *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
         | 
| 76 | 
            +
                    #         returns namespaces that have name that is alphabetically later than the
         | 
| 77 | 
            +
                    #         string, so "namespace-e" is returned but "namespace-a" is not
         | 
| 78 | 
            +
                    #     *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
         | 
| 79 | 
            +
                    #         `owner` in label key but value is not `sd` AND have key/value `foo=bar`
         | 
| 80 | 
            +
                    #     *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
         | 
| 81 | 
            +
                    #         doesn't have a field called "doesnotexist". Since the filter does not
         | 
| 82 | 
            +
                    #         match any namespaces, it returns no results
         | 
| 83 | 
            +
                    #
         | 
| 84 | 
            +
                    #     For more information about filtering, see
         | 
| 85 | 
            +
                    #     [API Filtering](https://aip.dev/160).
         | 
| 82 86 | 
             
                    # @!attribute [rw] order_by
         | 
| 83 87 | 
             
                    #   @return [::String]
         | 
| 84 | 
            -
                    #     Optional. The order to list  | 
| 88 | 
            +
                    #     Optional. The order to list results by.
         | 
| 89 | 
            +
                    #
         | 
| 90 | 
            +
                    #     General `order_by` string syntax: `<field> (<asc|desc>) (,)`
         | 
| 85 91 | 
             
                    #
         | 
| 86 | 
            -
                    #      | 
| 87 | 
            -
                    #      | 
| 88 | 
            -
                    # | 
| 89 | 
            -
                    # | 
| 90 | 
            -
                    #      | 
| 91 | 
            -
                    #      | 
| 92 | 
            -
                    #     by name in ascending order.
         | 
| 92 | 
            +
                    #     *   `<field>` allows value: `name`
         | 
| 93 | 
            +
                    #     *   `<asc|desc>` ascending or descending order by `<field>`. If this is
         | 
| 94 | 
            +
                    #         left blank, `asc` is used
         | 
| 95 | 
            +
                    #
         | 
| 96 | 
            +
                    #     Note that an empty `order_by` string results in default order, which is
         | 
| 97 | 
            +
                    #     order by `name` in ascending order.
         | 
| 93 98 | 
             
                    class ListNamespacesRequest
         | 
| 94 99 | 
             
                      include ::Google::Protobuf::MessageExts
         | 
| 95 100 | 
             
                      extend ::Google::Protobuf::MessageExts::ClassMethods
         | 
| @@ -162,7 +167,7 @@ module Google | |
| 162 167 | 
             
                    # The request message for {::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Client#list_services RegistrationService.ListServices}.
         | 
| 163 168 | 
             
                    # @!attribute [rw] parent
         | 
| 164 169 | 
             
                    #   @return [::String]
         | 
| 165 | 
            -
                    #     Required. The resource name of the namespace whose services  | 
| 170 | 
            +
                    #     Required. The resource name of the namespace whose services you'd
         | 
| 166 171 | 
             
                    #     like to list.
         | 
| 167 172 | 
             
                    # @!attribute [rw] page_size
         | 
| 168 173 | 
             
                    #   @return [::Integer]
         | 
| @@ -173,32 +178,48 @@ module Google | |
| 173 178 | 
             
                    #     if any.
         | 
| 174 179 | 
             
                    # @!attribute [rw] filter
         | 
| 175 180 | 
             
                    #   @return [::String]
         | 
| 176 | 
            -
                    #     Optional. The filter to list  | 
| 181 | 
            +
                    #     Optional. The filter to list results by.
         | 
| 182 | 
            +
                    #
         | 
| 183 | 
            +
                    #     General `filter` string syntax:
         | 
| 184 | 
            +
                    #     `<field> <operator> <value> (<logical connector>)`
         | 
| 177 185 | 
             
                    #
         | 
| 178 | 
            -
                    #      | 
| 179 | 
            -
                    #      | 
| 180 | 
            -
                    # | 
| 181 | 
            -
                    #      | 
| 182 | 
            -
                    #      | 
| 183 | 
            -
                    #     <value> must be the same data type as field.
         | 
| 184 | 
            -
                    #     <logical connector> can be "AND, OR, NOT".
         | 
| 186 | 
            +
                    #     *   `<field>` can be `name` or `metadata.<key>` for map field
         | 
| 187 | 
            +
                    #     *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
         | 
| 188 | 
            +
                    #         means `HAS`, and is roughly the same as `=`
         | 
| 189 | 
            +
                    #     *   `<value>` must be the same data type as field
         | 
| 190 | 
            +
                    #     *   `<logical connector>` can be `AND`, `OR`, `NOT`
         | 
| 185 191 | 
             
                    #
         | 
| 186 192 | 
             
                    #     Examples of valid filters:
         | 
| 187 | 
            -
                    # | 
| 188 | 
            -
                    # | 
| 189 | 
            -
                    # | 
| 190 | 
            -
                    # | 
| 191 | 
            -
                    # | 
| 192 | 
            -
                    # | 
| 193 | 
            -
                    # | 
| 194 | 
            -
                    # | 
| 195 | 
            -
                    # | 
| 196 | 
            -
                    #     *  | 
| 197 | 
            -
                    # | 
| 198 | 
            -
                    # | 
| 193 | 
            +
                    #
         | 
| 194 | 
            +
                    #     *   `metadata.owner` returns services that have a metadata with the key
         | 
| 195 | 
            +
                    #         `owner`, this is the same as `metadata:owner`
         | 
| 196 | 
            +
                    #     *   `metadata.protocol=gRPC` returns services that have key/value
         | 
| 197 | 
            +
                    #         `protocol=gRPC`
         | 
| 198 | 
            +
                    #     *
         | 
| 199 | 
            +
                    #     `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
         | 
| 200 | 
            +
                    #         returns services that have name that is alphabetically later than the
         | 
| 201 | 
            +
                    #         string, so "service-e" is returned but "service-a" is not
         | 
| 202 | 
            +
                    #     *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
         | 
| 203 | 
            +
                    #         `owner` in metadata key but value is not `sd` AND have key/value
         | 
| 204 | 
            +
                    #         `foo=bar`
         | 
| 205 | 
            +
                    #     *   `doesnotexist.foo=bar` returns an empty list. Note that service
         | 
| 206 | 
            +
                    #         doesn't have a field called "doesnotexist". Since the filter does not
         | 
| 207 | 
            +
                    #         match any services, it returns no results
         | 
| 208 | 
            +
                    #
         | 
| 209 | 
            +
                    #     For more information about filtering, see
         | 
| 210 | 
            +
                    #     [API Filtering](https://aip.dev/160).
         | 
| 199 211 | 
             
                    # @!attribute [rw] order_by
         | 
| 200 212 | 
             
                    #   @return [::String]
         | 
| 201 | 
            -
                    #     Optional. The order to list  | 
| 213 | 
            +
                    #     Optional. The order to list results by.
         | 
| 214 | 
            +
                    #
         | 
| 215 | 
            +
                    #     General `order_by` string syntax: `<field> (<asc|desc>) (,)`
         | 
| 216 | 
            +
                    #
         | 
| 217 | 
            +
                    #     *   `<field>` allows value: `name`
         | 
| 218 | 
            +
                    #     *   `<asc|desc>` ascending or descending order by `<field>`. If this is
         | 
| 219 | 
            +
                    #         left blank, `asc` is used
         | 
| 220 | 
            +
                    #
         | 
| 221 | 
            +
                    #     Note that an empty `order_by` string results in default order, which is
         | 
| 222 | 
            +
                    #     order by `name` in ascending order.
         | 
| 202 223 | 
             
                    class ListServicesRequest
         | 
| 203 224 | 
             
                      include ::Google::Protobuf::MessageExts
         | 
| 204 225 | 
             
                      extend ::Google::Protobuf::MessageExts::ClassMethods
         | 
| @@ -219,7 +240,7 @@ module Google | |
| 219 240 |  | 
| 220 241 | 
             
                    # The request message for {::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Client#get_service RegistrationService.GetService}.
         | 
| 221 242 | 
             
                    # This should not be used for looking up a service. Insead, use the `resolve`
         | 
| 222 | 
            -
                    # method as it  | 
| 243 | 
            +
                    # method as it contains all endpoints and associated metadata.
         | 
| 223 244 | 
             
                    # @!attribute [rw] name
         | 
| 224 245 | 
             
                    #   @return [::String]
         | 
| 225 246 | 
             
                    #     Required. The name of the service to get.
         | 
| @@ -273,7 +294,7 @@ module Google | |
| 273 294 | 
             
                    # The request message for {::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Client#list_endpoints RegistrationService.ListEndpoints}.
         | 
| 274 295 | 
             
                    # @!attribute [rw] parent
         | 
| 275 296 | 
             
                    #   @return [::String]
         | 
| 276 | 
            -
                    #     Required. The resource name of the service whose endpoints  | 
| 297 | 
            +
                    #     Required. The resource name of the service whose endpoints you'd like to
         | 
| 277 298 | 
             
                    #     list.
         | 
| 278 299 | 
             
                    # @!attribute [rw] page_size
         | 
| 279 300 | 
             
                    #   @return [::Integer]
         | 
| @@ -284,34 +305,51 @@ module Google | |
| 284 305 | 
             
                    #     if any.
         | 
| 285 306 | 
             
                    # @!attribute [rw] filter
         | 
| 286 307 | 
             
                    #   @return [::String]
         | 
| 287 | 
            -
                    #     Optional. The filter to list  | 
| 308 | 
            +
                    #     Optional. The filter to list results by.
         | 
| 288 309 | 
             
                    #
         | 
| 289 | 
            -
                    #     General filter string syntax:
         | 
| 290 | 
            -
                    #      | 
| 291 | 
            -
                    # | 
| 292 | 
            -
                    #      | 
| 293 | 
            -
                    # | 
| 294 | 
            -
                    #      | 
| 295 | 
            -
                    # | 
| 310 | 
            +
                    #     General `filter` string syntax:
         | 
| 311 | 
            +
                    #     `<field> <operator> <value> (<logical connector>)`
         | 
| 312 | 
            +
                    #
         | 
| 313 | 
            +
                    #     *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
         | 
| 314 | 
            +
                    #         field
         | 
| 315 | 
            +
                    #     *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
         | 
| 316 | 
            +
                    #         means `HAS`, and is roughly the same as `=`
         | 
| 317 | 
            +
                    #     *   `<value>` must be the same data type as field
         | 
| 318 | 
            +
                    #     *   `<logical connector>` can be `AND`, `OR`, `NOT`
         | 
| 296 319 | 
             
                    #
         | 
| 297 320 | 
             
                    #     Examples of valid filters:
         | 
| 298 | 
            -
                    # | 
| 299 | 
            -
                    # | 
| 300 | 
            -
                    # | 
| 301 | 
            -
                    # | 
| 302 | 
            -
                    # | 
| 303 | 
            -
                    #     *  | 
| 304 | 
            -
                    #     *  | 
| 305 | 
            -
                    # | 
| 306 | 
            -
                    # | 
| 307 | 
            -
                    # | 
| 308 | 
            -
                    # | 
| 309 | 
            -
                    #     *  | 
| 310 | 
            -
                    # | 
| 311 | 
            -
                    # | 
| 321 | 
            +
                    #
         | 
| 322 | 
            +
                    #     *   `metadata.owner` returns endpoints that have a metadata with the key
         | 
| 323 | 
            +
                    #         `owner`, this is the same as `metadata:owner`
         | 
| 324 | 
            +
                    #     *   `metadata.protocol=gRPC` returns endpoints that have key/value
         | 
| 325 | 
            +
                    #         `protocol=gRPC`
         | 
| 326 | 
            +
                    #     *   `address=192.108.1.105` returns endpoints that have this address
         | 
| 327 | 
            +
                    #     *   `port>8080` returns endpoints that have port number larger than 8080
         | 
| 328 | 
            +
                    #     *
         | 
| 329 | 
            +
                    #     `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
         | 
| 330 | 
            +
                    #         returns endpoints that have name that is alphabetically later than the
         | 
| 331 | 
            +
                    #         string, so "endpoint-e" is returned but "endpoint-a" is not
         | 
| 332 | 
            +
                    #     *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
         | 
| 333 | 
            +
                    #         `owner` in metadata key but value is not `sd` AND have key/value
         | 
| 334 | 
            +
                    #          `foo=bar`
         | 
| 335 | 
            +
                    #     *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
         | 
| 336 | 
            +
                    #         doesn't have a field called "doesnotexist". Since the filter does not
         | 
| 337 | 
            +
                    #         match any endpoints, it returns no results
         | 
| 338 | 
            +
                    #
         | 
| 339 | 
            +
                    #     For more information about filtering, see
         | 
| 340 | 
            +
                    #     [API Filtering](https://aip.dev/160).
         | 
| 312 341 | 
             
                    # @!attribute [rw] order_by
         | 
| 313 342 | 
             
                    #   @return [::String]
         | 
| 314 | 
            -
                    #     Optional. The order to list  | 
| 343 | 
            +
                    #     Optional. The order to list results by.
         | 
| 344 | 
            +
                    #
         | 
| 345 | 
            +
                    #     General `order_by` string syntax: `<field> (<asc|desc>) (,)`
         | 
| 346 | 
            +
                    #
         | 
| 347 | 
            +
                    #     *   `<field>` allows values: `name`, `address`, `port`
         | 
| 348 | 
            +
                    #     *   `<asc|desc>` ascending or descending order by `<field>`. If this is
         | 
| 349 | 
            +
                    #         left blank, `asc` is used
         | 
| 350 | 
            +
                    #
         | 
| 351 | 
            +
                    #     Note that an empty `order_by` string results in default order, which is
         | 
| 352 | 
            +
                    #     order by `name` in ascending order.
         | 
| 315 353 | 
             
                    class ListEndpointsRequest
         | 
| 316 354 | 
             
                      include ::Google::Protobuf::MessageExts
         | 
| 317 355 | 
             
                      extend ::Google::Protobuf::MessageExts::ClassMethods
         | 
| @@ -28,17 +28,46 @@ module Google | |
| 28 28 | 
             
                    # @!attribute [rw] name
         | 
| 29 29 | 
             
                    #   @return [::String]
         | 
| 30 30 | 
             
                    #     Immutable. The resource name for the service in the format
         | 
| 31 | 
            -
                    #      | 
| 31 | 
            +
                    #     `projects/*/locations/*/namespaces/*/services/*`.
         | 
| 32 32 | 
             
                    # @!attribute [rw] metadata
         | 
| 33 33 | 
             
                    #   @return [::Google::Protobuf::Map{::String => ::String}]
         | 
| 34 34 | 
             
                    #     Optional. Metadata for the service. This data can be consumed by service
         | 
| 35 | 
            -
                    #     clients. | 
| 36 | 
            -
                    # | 
| 37 | 
            -
                    #      | 
| 35 | 
            +
                    #     clients.
         | 
| 36 | 
            +
                    #
         | 
| 37 | 
            +
                    #     Restrictions:
         | 
| 38 | 
            +
                    #
         | 
| 39 | 
            +
                    #     *   The entire metadata dictionary may contain up to 2000 characters,
         | 
| 40 | 
            +
                    #         spread accoss all key-value pairs. Metadata that goes beyond this
         | 
| 41 | 
            +
                    #         limit are rejected
         | 
| 42 | 
            +
                    #     *   Valid metadata keys have two segments: an optional prefix and name,
         | 
| 43 | 
            +
                    #         separated by a slash (/). The name segment is required and must be 63
         | 
| 44 | 
            +
                    #         characters or less, beginning and ending with an alphanumeric character
         | 
| 45 | 
            +
                    #         ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
         | 
| 46 | 
            +
                    #         alphanumerics between. The prefix is optional. If specified, the prefix
         | 
| 47 | 
            +
                    #         must be a DNS subdomain: a series of DNS labels separated by dots (.),
         | 
| 48 | 
            +
                    #         not longer than 253 characters in total, followed by a slash (/).
         | 
| 49 | 
            +
                    #         Metadata that fails to meet these requirements are rejected
         | 
| 50 | 
            +
                    #     *   The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
         | 
| 51 | 
            +
                    #         for system metadata managed by Service Directory. If the user tries
         | 
| 52 | 
            +
                    #         to write to these keyspaces, those entries are silently ignored by
         | 
| 53 | 
            +
                    #         the system
         | 
| 54 | 
            +
                    #
         | 
| 55 | 
            +
                    #     Note: This field is equivalent to the `annotations` field in the v1 API.
         | 
| 56 | 
            +
                    #     They have the same syntax and read/write to the same location in Service
         | 
| 57 | 
            +
                    #     Directory.
         | 
| 38 58 | 
             
                    # @!attribute [r] endpoints
         | 
| 39 59 | 
             
                    #   @return [::Array<::Google::Cloud::ServiceDirectory::V1beta1::Endpoint>]
         | 
| 40 | 
            -
                    #     Output only. Endpoints associated with this service. Returned on | 
| 41 | 
            -
                    #     Control plane clients should use | 
| 60 | 
            +
                    #     Output only. Endpoints associated with this service. Returned on
         | 
| 61 | 
            +
                    #     {::Google::Cloud::ServiceDirectory::V1beta1::LookupService::Client#resolve_service LookupService.ResolveService}. Control plane clients should use
         | 
| 62 | 
            +
                    #     {::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Client#list_endpoints RegistrationService.ListEndpoints}.
         | 
| 63 | 
            +
                    # @!attribute [r] create_time
         | 
| 64 | 
            +
                    #   @return [::Google::Protobuf::Timestamp]
         | 
| 65 | 
            +
                    #     Output only. The timestamp when the service was created.
         | 
| 66 | 
            +
                    # @!attribute [r] update_time
         | 
| 67 | 
            +
                    #   @return [::Google::Protobuf::Timestamp]
         | 
| 68 | 
            +
                    #     Output only. The timestamp when the service was last updated. Note: endpoints being
         | 
| 69 | 
            +
                    #     created/deleted/updated within the service are not considered service
         | 
| 70 | 
            +
                    #     updates for the purpose of this timestamp.
         | 
| 42 71 | 
             
                    class Service
         | 
| 43 72 | 
             
                      include ::Google::Protobuf::MessageExts
         | 
| 44 73 | 
             
                      extend ::Google::Protobuf::MessageExts::ClassMethods
         | 
| @@ -0,0 +1,129 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # Copyright 2021 Google LLC
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # Licensed under the Apache License, Version 2.0 (the "License");
         | 
| 6 | 
            +
            # you may not use this file except in compliance with the License.
         | 
| 7 | 
            +
            # You may obtain a copy of the License at
         | 
| 8 | 
            +
            #
         | 
| 9 | 
            +
            #     https://www.apache.org/licenses/LICENSE-2.0
         | 
| 10 | 
            +
            #
         | 
| 11 | 
            +
            # Unless required by applicable law or agreed to in writing, software
         | 
| 12 | 
            +
            # distributed under the License is distributed on an "AS IS" BASIS,
         | 
| 13 | 
            +
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         | 
| 14 | 
            +
            # See the License for the specific language governing permissions and
         | 
| 15 | 
            +
            # limitations under the License.
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
         | 
| 18 | 
            +
             | 
| 19 | 
            +
             | 
| 20 | 
            +
            module Google
         | 
| 21 | 
            +
              module Protobuf
         | 
| 22 | 
            +
                # A Timestamp represents a point in time independent of any time zone or local
         | 
| 23 | 
            +
                # calendar, encoded as a count of seconds and fractions of seconds at
         | 
| 24 | 
            +
                # nanosecond resolution. The count is relative to an epoch at UTC midnight on
         | 
| 25 | 
            +
                # January 1, 1970, in the proleptic Gregorian calendar which extends the
         | 
| 26 | 
            +
                # Gregorian calendar backwards to year one.
         | 
| 27 | 
            +
                #
         | 
| 28 | 
            +
                # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
         | 
| 29 | 
            +
                # second table is needed for interpretation, using a [24-hour linear
         | 
| 30 | 
            +
                # smear](https://developers.google.com/time/smear).
         | 
| 31 | 
            +
                #
         | 
| 32 | 
            +
                # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
         | 
| 33 | 
            +
                # restricting to that range, we ensure that we can convert to and from [RFC
         | 
| 34 | 
            +
                # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
         | 
| 35 | 
            +
                #
         | 
| 36 | 
            +
                # # Examples
         | 
| 37 | 
            +
                #
         | 
| 38 | 
            +
                # Example 1: Compute Timestamp from POSIX `time()`.
         | 
| 39 | 
            +
                #
         | 
| 40 | 
            +
                #     Timestamp timestamp;
         | 
| 41 | 
            +
                #     timestamp.set_seconds(time(NULL));
         | 
| 42 | 
            +
                #     timestamp.set_nanos(0);
         | 
| 43 | 
            +
                #
         | 
| 44 | 
            +
                # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
         | 
| 45 | 
            +
                #
         | 
| 46 | 
            +
                #     struct timeval tv;
         | 
| 47 | 
            +
                #     gettimeofday(&tv, NULL);
         | 
| 48 | 
            +
                #
         | 
| 49 | 
            +
                #     Timestamp timestamp;
         | 
| 50 | 
            +
                #     timestamp.set_seconds(tv.tv_sec);
         | 
| 51 | 
            +
                #     timestamp.set_nanos(tv.tv_usec * 1000);
         | 
| 52 | 
            +
                #
         | 
| 53 | 
            +
                # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
         | 
| 54 | 
            +
                #
         | 
| 55 | 
            +
                #     FILETIME ft;
         | 
| 56 | 
            +
                #     GetSystemTimeAsFileTime(&ft);
         | 
| 57 | 
            +
                #     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
         | 
| 58 | 
            +
                #
         | 
| 59 | 
            +
                #     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
         | 
| 60 | 
            +
                #     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
         | 
| 61 | 
            +
                #     Timestamp timestamp;
         | 
| 62 | 
            +
                #     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
         | 
| 63 | 
            +
                #     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
         | 
| 64 | 
            +
                #
         | 
| 65 | 
            +
                # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
         | 
| 66 | 
            +
                #
         | 
| 67 | 
            +
                #     long millis = System.currentTimeMillis();
         | 
| 68 | 
            +
                #
         | 
| 69 | 
            +
                #     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
         | 
| 70 | 
            +
                #         .setNanos((int) ((millis % 1000) * 1000000)).build();
         | 
| 71 | 
            +
                #
         | 
| 72 | 
            +
                #
         | 
| 73 | 
            +
                # Example 5: Compute Timestamp from Java `Instant.now()`.
         | 
| 74 | 
            +
                #
         | 
| 75 | 
            +
                #     Instant now = Instant.now();
         | 
| 76 | 
            +
                #
         | 
| 77 | 
            +
                #     Timestamp timestamp =
         | 
| 78 | 
            +
                #         Timestamp.newBuilder().setSeconds(now.getEpochSecond())
         | 
| 79 | 
            +
                #             .setNanos(now.getNano()).build();
         | 
| 80 | 
            +
                #
         | 
| 81 | 
            +
                #
         | 
| 82 | 
            +
                # Example 6: Compute Timestamp from current time in Python.
         | 
| 83 | 
            +
                #
         | 
| 84 | 
            +
                #     timestamp = Timestamp()
         | 
| 85 | 
            +
                #     timestamp.GetCurrentTime()
         | 
| 86 | 
            +
                #
         | 
| 87 | 
            +
                # # JSON Mapping
         | 
| 88 | 
            +
                #
         | 
| 89 | 
            +
                # In JSON format, the Timestamp type is encoded as a string in the
         | 
| 90 | 
            +
                # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
         | 
| 91 | 
            +
                # format is "\\{year}-\\{month}-\\{day}T\\{hour}:\\{min}:\\{sec}[.\\{frac_sec}]Z"
         | 
| 92 | 
            +
                # where \\{year} is always expressed using four digits while \\{month}, \\{day},
         | 
| 93 | 
            +
                # \\{hour}, \\{min}, and \\{sec} are zero-padded to two digits each. The fractional
         | 
| 94 | 
            +
                # seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
         | 
| 95 | 
            +
                # are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
         | 
| 96 | 
            +
                # is required. A proto3 JSON serializer should always use UTC (as indicated by
         | 
| 97 | 
            +
                # "Z") when printing the Timestamp type and a proto3 JSON parser should be
         | 
| 98 | 
            +
                # able to accept both UTC and other timezones (as indicated by an offset).
         | 
| 99 | 
            +
                #
         | 
| 100 | 
            +
                # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
         | 
| 101 | 
            +
                # 01:30 UTC on January 15, 2017.
         | 
| 102 | 
            +
                #
         | 
| 103 | 
            +
                # In JavaScript, one can convert a Date object to this format using the
         | 
| 104 | 
            +
                # standard
         | 
| 105 | 
            +
                # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
         | 
| 106 | 
            +
                # method. In Python, a standard `datetime.datetime` object can be converted
         | 
| 107 | 
            +
                # to this format using
         | 
| 108 | 
            +
                # [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
         | 
| 109 | 
            +
                # the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
         | 
| 110 | 
            +
                # the Joda Time's [`ISODateTimeFormat.dateTime()`](
         | 
| 111 | 
            +
                # http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
         | 
| 112 | 
            +
                # ) to obtain a formatter capable of generating timestamps in this format.
         | 
| 113 | 
            +
                # @!attribute [rw] seconds
         | 
| 114 | 
            +
                #   @return [::Integer]
         | 
| 115 | 
            +
                #     Represents seconds of UTC time since Unix epoch
         | 
| 116 | 
            +
                #     1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
         | 
| 117 | 
            +
                #     9999-12-31T23:59:59Z inclusive.
         | 
| 118 | 
            +
                # @!attribute [rw] nanos
         | 
| 119 | 
            +
                #   @return [::Integer]
         | 
| 120 | 
            +
                #     Non-negative fractions of a second at nanosecond resolution. Negative
         | 
| 121 | 
            +
                #     second values with fractions must still have non-negative nanos values
         | 
| 122 | 
            +
                #     that count forward in time. Must be from 0 to 999,999,999
         | 
| 123 | 
            +
                #     inclusive.
         | 
| 124 | 
            +
                class Timestamp
         | 
| 125 | 
            +
                  include ::Google::Protobuf::MessageExts
         | 
| 126 | 
            +
                  extend ::Google::Protobuf::MessageExts::ClassMethods
         | 
| 127 | 
            +
                end
         | 
| 128 | 
            +
              end
         | 
| 129 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: google-cloud-service_directory-v1beta1
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.7.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Google LLC
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021-06- | 
| 11 | 
            +
            date: 2021-06-29 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: gapic-common
         | 
| @@ -220,6 +220,7 @@ files: | |
| 220 220 | 
             
            - proto_docs/google/iam/v1/policy.rb
         | 
| 221 221 | 
             
            - proto_docs/google/protobuf/empty.rb
         | 
| 222 222 | 
             
            - proto_docs/google/protobuf/field_mask.rb
         | 
| 223 | 
            +
            - proto_docs/google/protobuf/timestamp.rb
         | 
| 223 224 | 
             
            - proto_docs/google/type/expr.rb
         | 
| 224 225 | 
             
            homepage: https://github.com/googleapis/google-cloud-ruby
         | 
| 225 226 | 
             
            licenses:
         |