From 4630b98e3ace7a3d26b43833be1a5c73bf3db363 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Thu, 25 Jun 2020 00:37:57 +0000 Subject: [PATCH] Autogenerated update (2020-06-25) Update: - admin_directory_v1 - bigqueryreservation_v1 - bigqueryreservation_v1beta1 - cloudasset_v1 - cloudidentity_v1 - cloudidentity_v1beta1 - cloudresourcemanager_v1 - cloudresourcemanager_v1beta1 - cloudscheduler_v1beta1 - composer_v1beta1 - containeranalysis_v1beta1 - datacatalog_v1beta1 - prod_tt_sasportal_v1alpha1 - remotebuildexecution_v1 - remotebuildexecution_v1alpha - remotebuildexecution_v2 - sasportal_v1alpha1 - servicemanagement_v1 - storage_v1 --- generated/google/apis/admin_directory_v1.rb | 2 +- .../google/apis/admin_directory_v1/classes.rb | 31 + .../admin_directory_v1/representations.rb | 16 + .../google/apis/admin_directory_v1/service.rb | 8 +- .../google/apis/bigqueryreservation_v1.rb | 2 +- .../apis/bigqueryreservation_v1beta1.rb | 2 +- generated/google/apis/cloudasset_v1.rb | 2 +- .../google/apis/cloudasset_v1/classes.rb | 394 +++++++- .../apis/cloudasset_v1/representations.rb | 101 ++ .../google/apis/cloudasset_v1/service.rb | 178 ++++ generated/google/apis/cloudidentity_v1.rb | 2 +- .../google/apis/cloudidentity_v1beta1.rb | 2 +- .../google/apis/cloudresourcemanager_v1.rb | 2 +- .../apis/cloudresourcemanager_v1/classes.rb | 5 +- .../apis/cloudresourcemanager_v1beta1.rb | 2 +- .../cloudresourcemanager_v1beta1/classes.rb | 5 +- .../google/apis/cloudscheduler_v1beta1.rb | 2 +- .../apis/cloudscheduler_v1beta1/classes.rb | 3 +- generated/google/apis/composer_v1beta1.rb | 2 +- .../google/apis/composer_v1beta1/classes.rb | 7 +- .../google/apis/composer_v1beta1/service.rb | 13 + .../google/apis/containeranalysis_v1beta1.rb | 2 +- .../apis/containeranalysis_v1beta1/classes.rb | 2 +- generated/google/apis/datacatalog_v1beta1.rb | 2 +- .../apis/datacatalog_v1beta1/classes.rb | 44 +- .../datacatalog_v1beta1/representations.rb | 13 + .../apis/datacatalog_v1beta1/service.rb | 37 + .../google/apis/prod_tt_sasportal_v1alpha1.rb | 2 +- .../prod_tt_sasportal_v1alpha1/classes.rb | 19 + .../representations.rb | 14 + .../google/apis/remotebuildexecution_v1.rb | 2 +- .../apis/remotebuildexecution_v1/classes.rb | 2 +- .../apis/remotebuildexecution_v1alpha.rb | 2 +- .../remotebuildexecution_v1alpha/classes.rb | 2 +- .../google/apis/remotebuildexecution_v2.rb | 2 +- .../apis/remotebuildexecution_v2/classes.rb | 2 +- generated/google/apis/sasportal_v1alpha1.rb | 2 +- .../google/apis/sasportal_v1alpha1/classes.rb | 19 + .../sasportal_v1alpha1/representations.rb | 14 + generated/google/apis/servicemanagement_v1.rb | 2 +- .../apis/servicemanagement_v1/classes.rb | 1 + generated/google/apis/storage_v1.rb | 2 +- generated/google/apis/storage_v1/service.rb | 5 +- generated/google/apis/vectortile_v1.rb | 31 + .../google/apis/vectortile_v1/classes.rb | 881 ++++++++++++++++++ .../apis/vectortile_v1/representations.rb | 329 +++++++ .../google/apis/vectortile_v1/service.rb | 268 ++++++ 47 files changed, 2428 insertions(+), 54 deletions(-) create mode 100644 generated/google/apis/vectortile_v1.rb create mode 100644 generated/google/apis/vectortile_v1/classes.rb create mode 100644 generated/google/apis/vectortile_v1/representations.rb create mode 100644 generated/google/apis/vectortile_v1/service.rb diff --git a/generated/google/apis/admin_directory_v1.rb b/generated/google/apis/admin_directory_v1.rb index 5fe3ae4b6..38038a6cd 100644 --- a/generated/google/apis/admin_directory_v1.rb +++ b/generated/google/apis/admin_directory_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://developers.google.com/admin-sdk/directory/ module AdminDirectoryV1 VERSION = 'DirectoryV1' - REVISION = '20200204' + REVISION = '20200605' # View and manage customer related information AUTH_ADMIN_DIRECTORY_CUSTOMER = 'https://www.googleapis.com/auth/admin.directory.customer' diff --git a/generated/google/apis/admin_directory_v1/classes.rb b/generated/google/apis/admin_directory_v1/classes.rb index 8ce20523e..75deb6570 100644 --- a/generated/google/apis/admin_directory_v1/classes.rb +++ b/generated/google/apis/admin_directory_v1/classes.rb @@ -693,6 +693,11 @@ module Google # @return [DateTime] attr_accessor :last_enrollment_time + # Contains last used network (Read-only) + # Corresponds to the JSON property `lastKnownNetwork` + # @return [Array] + attr_accessor :last_known_network + # Date and time the device was last synchronized with the policy settings in the # G Suite administrator control panel (Read-only) # Corresponds to the JSON property `lastSync` @@ -810,6 +815,7 @@ module Google @firmware_version = args[:firmware_version] if args.key?(:firmware_version) @kind = args[:kind] if args.key?(:kind) @last_enrollment_time = args[:last_enrollment_time] if args.key?(:last_enrollment_time) + @last_known_network = args[:last_known_network] if args.key?(:last_known_network) @last_sync = args[:last_sync] if args.key?(:last_sync) @mac_address = args[:mac_address] if args.key?(:mac_address) @manufacture_date = args[:manufacture_date] if args.key?(:manufacture_date) @@ -998,6 +1004,31 @@ module Google end end + # + class LastKnownNetwork + include Google::Apis::Core::Hashable + + # The IP address + # Corresponds to the JSON property `ipAddress` + # @return [String] + attr_accessor :ip_address + + # The WAN IP address + # Corresponds to the JSON property `wanIpAddress` + # @return [String] + attr_accessor :wan_ip_address + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @ip_address = args[:ip_address] if args.key?(:ip_address) + @wan_ip_address = args[:wan_ip_address] if args.key?(:wan_ip_address) + end + end + # class RecentUser include Google::Apis::Core::Hashable diff --git a/generated/google/apis/admin_directory_v1/representations.rb b/generated/google/apis/admin_directory_v1/representations.rb index 7493fce61..88e8bc196 100644 --- a/generated/google/apis/admin_directory_v1/representations.rb +++ b/generated/google/apis/admin_directory_v1/representations.rb @@ -127,6 +127,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class LastKnownNetwork + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class RecentUser class Representation < Google::Apis::Core::JsonRepresentation; end @@ -684,6 +690,8 @@ module Google property :kind, as: 'kind' property :last_enrollment_time, as: 'lastEnrollmentTime', type: DateTime + collection :last_known_network, as: 'lastKnownNetwork', class: Google::Apis::AdminDirectoryV1::ChromeOsDevice::LastKnownNetwork, decorator: Google::Apis::AdminDirectoryV1::ChromeOsDevice::LastKnownNetwork::Representation + property :last_sync, as: 'lastSync', type: DateTime property :mac_address, as: 'macAddress' @@ -765,6 +773,14 @@ module Google end end + class LastKnownNetwork + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :ip_address, as: 'ipAddress' + property :wan_ip_address, as: 'wanIpAddress' + end + end + class RecentUser # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/admin_directory_v1/service.rb b/generated/google/apis/admin_directory_v1/service.rb index 8818fb6ed..788778d88 100644 --- a/generated/google/apis/admin_directory_v1/service.rb +++ b/generated/google/apis/admin_directory_v1/service.rb @@ -279,8 +279,7 @@ module Google # @param [String] projection # Restrict information returned to a set of selected fields. # @param [String] query - # Search string in the format given at http://support.google.com/chromeos/a/bin/ - # answer.py?answer=1698333 + # Search string in the format provided by this Help Center article. # @param [String] sort_order # Whether to return results in ascending or descending order. Only of use when # orderBy is also used @@ -1549,7 +1548,7 @@ module Google # @param [String] customer_id # Immutable ID of the G Suite account # @param [Fixnum] max_results - # Maximum number of results to return. Max allowed value is 100. + # Maximum number of results to return. # @param [String] order_by # Column to use for sorting results # @param [String] page_token @@ -1557,8 +1556,7 @@ module Google # @param [String] projection # Restrict information returned to a set of selected fields. # @param [String] query - # Search string in the format given at http://support.google.com/a/bin/answer.py? - # answer=1408863#search + # Search string in the format provided by this Help Center article. # @param [String] sort_order # Whether to return results in ascending or descending order. Only of use when # orderBy is also used diff --git a/generated/google/apis/bigqueryreservation_v1.rb b/generated/google/apis/bigqueryreservation_v1.rb index 3b5201934..f95f03957 100644 --- a/generated/google/apis/bigqueryreservation_v1.rb +++ b/generated/google/apis/bigqueryreservation_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/bigquery/ module BigqueryreservationV1 VERSION = 'V1' - REVISION = '20200519' + REVISION = '20200619' # View and manage your data in Google BigQuery AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery' diff --git a/generated/google/apis/bigqueryreservation_v1beta1.rb b/generated/google/apis/bigqueryreservation_v1beta1.rb index 766259643..6efd6b06c 100644 --- a/generated/google/apis/bigqueryreservation_v1beta1.rb +++ b/generated/google/apis/bigqueryreservation_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/bigquery/ module BigqueryreservationV1beta1 VERSION = 'V1beta1' - REVISION = '20200519' + REVISION = '20200619' # View and manage your data in Google BigQuery AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery' diff --git a/generated/google/apis/cloudasset_v1.rb b/generated/google/apis/cloudasset_v1.rb index 404612cad..83cc60bd9 100644 --- a/generated/google/apis/cloudasset_v1.rb +++ b/generated/google/apis/cloudasset_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/asset-inventory/docs/quickstart module CloudassetV1 VERSION = 'V1' - REVISION = '20200613' + REVISION = '20200619' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudasset_v1/classes.rb b/generated/google/apis/cloudasset_v1/classes.rb index e2a48d805..a5e37513e 100644 --- a/generated/google/apis/cloudasset_v1/classes.rb +++ b/generated/google/apis/cloudasset_v1/classes.rb @@ -505,13 +505,47 @@ module Google end end + # Explanation about the IAM policy search result. + class Explanation + include Google::Apis::Core::Hashable + + # The map from roles to their included permissions that match the + # permission query (i.e., a query containing `policy.role.permissions:`). + # Example: if query `policy.role.permissions : "compute.disk.get"` + # matches a policy binding that contains owner role, the + # matched_permissions will be ``"roles/owner": ["compute.disk.get"]``. The + # roles can also be found in the returned `policy` bindings. Note that the + # map is populated only for requests with permission queries. + # Corresponds to the JSON property `matchedPermissions` + # @return [Hash] + attr_accessor :matched_permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @matched_permissions = args[:matched_permissions] if args.key?(:matched_permissions) + end + end + # Export asset request. class ExportAssetsRequest include Google::Apis::Core::Hashable - # A list of asset types of which to take a snapshot for. Example: - # "compute.googleapis.com/Disk". If specified, only matching assets will be - # returned. See [Introduction to Cloud Asset + # A list of asset types to take a snapshot for. For example: + # "compute.googleapis.com/Disk". + # Regular expressions are also supported. For example: + # * "compute.googleapis.com.*" snapshots resources whose asset type starts + # with "compute.googleapis.com". + # * ".*Instance" snapshots resources whose asset type ends with "Instance". + # * ".*Instance.*" snapshots resources whose asset type contains "Instance". + # See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported + # regular expression syntax. If the regular expression does not match any + # supported asset type, an INVALID_ARGUMENT error will be returned. + # If specified, only matching assets will be returned, otherwise, it will + # snapshot all asset types. See [Introduction to Cloud Asset # Inventory](https://cloud.google.com/asset-inventory/docs/overview) # for all supported asset types. # Corresponds to the JSON property `assetTypes` @@ -646,6 +680,32 @@ module Google # @return [Array] attr_accessor :asset_types + # Represents a textual expression in the Common Expression Language (CEL) + # syntax. CEL is a C-like expression language. The syntax and semantics of CEL + # are documented at https://github.com/google/cel-spec. + # Example (Comparison): + # title: "Summary size limit" + # description: "Determines if a summary is less than 100 chars" + # expression: "document.summary.size() < 100" + # Example (Equality): + # title: "Requestor is owner" + # description: "Determines if requestor is the document owner" + # expression: "document.owner == request.auth.claims.email" + # Example (Logic): + # title: "Public documents" + # description: "Determine whether the document should be publicly visible" + # expression: "document.type != 'private' && document.type != 'internal'" + # Example (Data Manipulation): + # title: "Notification string" + # description: "Create a notification string with a timestamp." + # expression: "'New message received at ' + string(document.create_time)" + # The exact variables and functions that may be referenced within an expression + # are determined by the service that evaluates it. See the service + # documentation for additional information. + # Corresponds to the JSON property `condition` + # @return [Google::Apis::CloudassetV1::Expr] + attr_accessor :condition + # Asset content type. If not specified, no content but the asset name and # type will be returned. # Corresponds to the JSON property `contentType` @@ -675,6 +735,7 @@ module Google def update!(**args) @asset_names = args[:asset_names] if args.key?(:asset_names) @asset_types = args[:asset_types] if args.key?(:asset_types) + @condition = args[:condition] if args.key?(:condition) @content_type = args[:content_type] if args.key?(:content_type) @feed_output_config = args[:feed_output_config] if args.key?(:feed_output_config) @name = args[:name] if args.key?(:name) @@ -1588,6 +1649,117 @@ module Google end end + # A result of IAM Policy search, containing information of an IAM policy. + class IamPolicySearchResult + include Google::Apis::Core::Hashable + + # Explanation about the IAM policy search result. + # Corresponds to the JSON property `explanation` + # @return [Google::Apis::CloudassetV1::Explanation] + attr_accessor :explanation + + # An Identity and Access Management (IAM) policy, which specifies access + # controls for Google Cloud resources. + # A `Policy` is a collection of `bindings`. A `binding` binds one or more + # `members` to a single `role`. Members can be user accounts, service accounts, + # Google groups, and domains (such as G Suite). A `role` is a named list of + # permissions; each `role` can be an IAM predefined role or a user-created + # custom role. + # For some types of Google Cloud resources, a `binding` can also specify a + # `condition`, which is a logical expression that allows access to a resource + # only if the expression evaluates to `true`. A condition can add constraints + # based on attributes of the request, the resource, or both. To learn which + # resources support conditions in their IAM policies, see the + # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource- + # policies). + # **JSON example:** + # ` + # "bindings": [ + # ` + # "role": "roles/resourcemanager.organizationAdmin", + # "members": [ + # "user:mike@example.com", + # "group:admins@example.com", + # "domain:google.com", + # "serviceAccount:my-project-id@appspot.gserviceaccount.com" + # ] + # `, + # ` + # "role": "roles/resourcemanager.organizationViewer", + # "members": [ + # "user:eve@example.com" + # ], + # "condition": ` + # "title": "expirable access", + # "description": "Does not grant access after Sep 2020", + # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z') + # ", + # ` + # ` + # ], + # "etag": "BwWWja0YfJA=", + # "version": 3 + # ` + # **YAML example:** + # bindings: + # - members: + # - user:mike@example.com + # - group:admins@example.com + # - domain:google.com + # - serviceAccount:my-project-id@appspot.gserviceaccount.com + # role: roles/resourcemanager.organizationAdmin + # - members: + # - user:eve@example.com + # role: roles/resourcemanager.organizationViewer + # condition: + # title: expirable access + # description: Does not grant access after Sep 2020 + # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') + # - etag: BwWWja0YfJA= + # - version: 3 + # For a description of IAM and its features, see the + # [IAM documentation](https://cloud.google.com/iam/docs/). + # Corresponds to the JSON property `policy` + # @return [Google::Apis::CloudassetV1::Policy] + attr_accessor :policy + + # The project that the associated GCP resource belongs to, in the form of + # projects/`PROJECT_NUMBER`. If an IAM policy is set on a resource (like VM + # instance, Cloud Storage bucket), the project field will indicate the + # project that contains the resource. If an IAM policy is set on a folder or + # orgnization, the project field will be empty. + # To search against the `project`: + # * specify the `scope` field as this project in your search request. + # Corresponds to the JSON property `project` + # @return [String] + attr_accessor :project + + # The full resource name of the resource associated with this IAM policy. + # Example: + # `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/ + # instance1`. + # See [Cloud Asset Inventory Resource Name + # Format](https://cloud.google.com/asset-inventory/docs/resource-name-format) + # for more information. + # To search against the `resource`: + # * use a field query. Example: `resource : "organizations/123"` + # Corresponds to the JSON property `resource` + # @return [String] + attr_accessor :resource + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @explanation = args[:explanation] if args.key?(:explanation) + @policy = args[:policy] if args.key?(:policy) + @project = args[:project] if args.key?(:project) + @resource = args[:resource] if args.key?(:resource) + end + end + # class ListFeedsResponse include Google::Apis::Core::Hashable @@ -1696,6 +1868,25 @@ module Google end end + # IAM permissions + class Permissions + include Google::Apis::Core::Hashable + + # A list of permissions. A sample permission string: `compute.disk.get`. + # Corresponds to the JSON property `permissions` + # @return [Array] + attr_accessor :permissions + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @permissions = args[:permissions] if args.key?(:permissions) + end + end + # An Identity and Access Management (IAM) policy, which specifies access # controls for Google Cloud resources. # A `Policy` is a collection of `bindings`. A `binding` binds one or more @@ -1920,6 +2111,183 @@ module Google end end + # A result of Resource Search, containing information of a cloud resoure. + class ResourceSearchResult + include Google::Apis::Core::Hashable + + # The additional attributes of this resource. The attributes may vary from + # one resource type to another. Examples: `projectId` for Project, + # `dnsName` for DNS ManagedZone. This field contains a subset of the resource + # metadata fields that are returned by the List or Get APIs provided by the + # corresponding GCP service (e.g., Compute Engine). see [API + # references](https://cloud.google.com/asset-inventory/docs/supported-asset- + # types#supported_resource_types) + # of CAIS supported resource types. You can search values of these fields + # through free text search. However, you should not consume the field + # programically as the field names and values may change as the GCP service + # (e.g., Compute Engine) updates to a new incompatible API version. + # To search against the `additional_attributes`: + # * use a free text query to match the attributes values. Example: to search + # `additional_attributes = ` dnsName: "foobar" ``, you can issue a query + # `"foobar"`. + # Corresponds to the JSON property `additionalAttributes` + # @return [Hash] + attr_accessor :additional_attributes + + # The type of this resource. Example: `compute.googleapis.com/Disk`. + # To search against the `asset_type`: + # * specify the `asset_type` field in your search request. + # Corresponds to the JSON property `assetType` + # @return [String] + attr_accessor :asset_type + + # One or more paragraphs of text description of this resource. Maximum length + # could be up to 1M bytes. + # To search against the `description`: + # * use a field query. Example: `description : "*important instance*"` + # * use a free text query. Example: `"*important instance*"` + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The display name of this resource. + # To search against the `display_name`: + # * use a field query. Example: `displayName : "My Instance"` + # * use a free text query. Example: `"My Instance"` + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Labels associated with this resource. See [Labelling and grouping GCP + # resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping- + # your-google-cloud-platform-resources) + # for more information. + # To search against the `labels`: + # * use a field query, as following: + # - query on any label's key or value. Example: `labels : "prod"` + # - query by a given label. Example: `labels.env : "prod"` + # - query by a given label'sexistence. Example: `labels.env : *` + # * use a free text query. Example: `"prod"` + # Corresponds to the JSON property `labels` + # @return [Hash] + attr_accessor :labels + + # Location can be `global`, regional like `us-east1`, or zonal like + # `us-west1-b`. + # To search against the `location`: + # * use a field query. Example: `location : "us-west*"` + # * use a free text query. Example: `"us-west*"` + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # The full resource name of this resource. Example: + # `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/ + # instance1`. + # See [Cloud Asset Inventory Resource Name + # Format](https://cloud.google.com/asset-inventory/docs/resource-name-format) + # for more information. + # To search against the `name`: + # * use a field query. Example: `name : "instance1"` + # * use a free text query. Example: `"instance1"` + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Network tags associated with this resource. Like labels, network tags are a + # type of annotations used to group GCP resources. See [Labelling GCP + # resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping- + # your-google-cloud-platform-resources) + # for more information. + # To search against the `network_tags`: + # * use a field query. Example: `networkTags : "internal"` + # * use a free text query. Example: `"internal"` + # Corresponds to the JSON property `networkTags` + # @return [Array] + attr_accessor :network_tags + + # The project that this resource belongs to, in the form of + # projects/`PROJECT_NUMBER`. + # To search against the `project`: + # * specify the `scope` field as this project in your search request. + # Corresponds to the JSON property `project` + # @return [String] + attr_accessor :project + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @additional_attributes = args[:additional_attributes] if args.key?(:additional_attributes) + @asset_type = args[:asset_type] if args.key?(:asset_type) + @description = args[:description] if args.key?(:description) + @display_name = args[:display_name] if args.key?(:display_name) + @labels = args[:labels] if args.key?(:labels) + @location = args[:location] if args.key?(:location) + @name = args[:name] if args.key?(:name) + @network_tags = args[:network_tags] if args.key?(:network_tags) + @project = args[:project] if args.key?(:project) + end + end + + # Search all IAM policies response. + class SearchAllIamPoliciesResponse + include Google::Apis::Core::Hashable + + # Set if there are more results than those appearing in this response; to get + # the next set of results, call this method again, using this value as the + # `page_token`. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # A list of IamPolicy that match the search query. Related information such + # as the associated resource is returned along with the policy. + # Corresponds to the JSON property `results` + # @return [Array] + attr_accessor :results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @results = args[:results] if args.key?(:results) + end + end + + # Search all resources response. + class SearchAllResourcesResponse + include Google::Apis::Core::Hashable + + # If there are more results than those appearing in this response, then + # `next_page_token` is included. To get the next set of results, call this + # method again using the value of `next_page_token` as `page_token`. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # A list of Resources that match the search query. It contains the resource + # standard metadata information. + # Corresponds to the JSON property `results` + # @return [Array] + attr_accessor :results + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @next_page_token = args[:next_page_token] if args.key?(:next_page_token) + @results = args[:results] if args.key?(:results) + end + end + # The `Status` type defines a logical error model that is suitable for # different programming environments, including REST APIs and RPC APIs. It is # used by [gRPC](https://github.com/grpc). Each `Status` message contains @@ -1983,6 +2351,24 @@ module Google attr_accessor :deleted alias_method :deleted?, :deleted + # An asset in Google Cloud. An asset can be any resource in the Google Cloud + # [resource + # hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform- + # resource-hierarchy), + # a resource outside the Google Cloud resource hierarchy (such as Google + # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). + # See [Supported asset + # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) + # for more information. + # Corresponds to the JSON property `priorAsset` + # @return [Google::Apis::CloudassetV1::Asset] + attr_accessor :prior_asset + + # State of prior_asset. + # Corresponds to the JSON property `priorAssetState` + # @return [String] + attr_accessor :prior_asset_state + # A time window specified by its `start_time` and `end_time`. # Corresponds to the JSON property `window` # @return [Google::Apis::CloudassetV1::TimeWindow] @@ -1996,6 +2382,8 @@ module Google def update!(**args) @asset = args[:asset] if args.key?(:asset) @deleted = args[:deleted] if args.key?(:deleted) + @prior_asset = args[:prior_asset] if args.key?(:prior_asset) + @prior_asset_state = args[:prior_asset_state] if args.key?(:prior_asset_state) @window = args[:window] if args.key?(:window) end end diff --git a/generated/google/apis/cloudasset_v1/representations.rb b/generated/google/apis/cloudasset_v1/representations.rb index 459469337..dea924b7c 100644 --- a/generated/google/apis/cloudasset_v1/representations.rb +++ b/generated/google/apis/cloudasset_v1/representations.rb @@ -70,6 +70,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Explanation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ExportAssetsRequest class Representation < Google::Apis::Core::JsonRepresentation; end @@ -184,6 +190,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class IamPolicySearchResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ListFeedsResponse class Representation < Google::Apis::Core::JsonRepresentation; end @@ -202,6 +214,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Permissions + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Policy class Representation < Google::Apis::Core::JsonRepresentation; end @@ -220,6 +238,24 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class ResourceSearchResult + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SearchAllIamPoliciesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SearchAllResourcesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Status class Representation < Google::Apis::Core::JsonRepresentation; end @@ -325,6 +361,14 @@ module Google end end + class Explanation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + hash :matched_permissions, as: 'matchedPermissions', class: Google::Apis::CloudassetV1::Permissions, decorator: Google::Apis::CloudassetV1::Permissions::Representation + + end + end + class ExportAssetsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -351,6 +395,8 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation collection :asset_names, as: 'assetNames' collection :asset_types, as: 'assetTypes' + property :condition, as: 'condition', class: Google::Apis::CloudassetV1::Expr, decorator: Google::Apis::CloudassetV1::Expr::Representation + property :content_type, as: 'contentType' property :feed_output_config, as: 'feedOutputConfig', class: Google::Apis::CloudassetV1::FeedOutputConfig, decorator: Google::Apis::CloudassetV1::FeedOutputConfig::Representation @@ -523,6 +569,18 @@ module Google end end + class IamPolicySearchResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :explanation, as: 'explanation', class: Google::Apis::CloudassetV1::Explanation, decorator: Google::Apis::CloudassetV1::Explanation::Representation + + property :policy, as: 'policy', class: Google::Apis::CloudassetV1::Policy, decorator: Google::Apis::CloudassetV1::Policy::Representation + + property :project, as: 'project' + property :resource, as: 'resource' + end + end + class ListFeedsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -553,6 +611,13 @@ module Google end end + class Permissions + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :permissions, as: 'permissions' + end + end + class Policy # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -585,6 +650,39 @@ module Google end end + class ResourceSearchResult + # @private + class Representation < Google::Apis::Core::JsonRepresentation + hash :additional_attributes, as: 'additionalAttributes' + property :asset_type, as: 'assetType' + property :description, as: 'description' + property :display_name, as: 'displayName' + hash :labels, as: 'labels' + property :location, as: 'location' + property :name, as: 'name' + collection :network_tags, as: 'networkTags' + property :project, as: 'project' + end + end + + class SearchAllIamPoliciesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :results, as: 'results', class: Google::Apis::CloudassetV1::IamPolicySearchResult, decorator: Google::Apis::CloudassetV1::IamPolicySearchResult::Representation + + end + end + + class SearchAllResourcesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :results, as: 'results', class: Google::Apis::CloudassetV1::ResourceSearchResult, decorator: Google::Apis::CloudassetV1::ResourceSearchResult::Representation + + end + end + class Status # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -600,6 +698,9 @@ module Google property :asset, as: 'asset', class: Google::Apis::CloudassetV1::Asset, decorator: Google::Apis::CloudassetV1::Asset::Representation property :deleted, as: 'deleted' + property :prior_asset, as: 'priorAsset', class: Google::Apis::CloudassetV1::Asset, decorator: Google::Apis::CloudassetV1::Asset::Representation + + property :prior_asset_state, as: 'priorAssetState' property :window, as: 'window', class: Google::Apis::CloudassetV1::TimeWindow, decorator: Google::Apis::CloudassetV1::TimeWindow::Representation end diff --git a/generated/google/apis/cloudasset_v1/service.rb b/generated/google/apis/cloudasset_v1/service.rb index 8681a3012..4b9fd285f 100644 --- a/generated/google/apis/cloudasset_v1/service.rb +++ b/generated/google/apis/cloudasset_v1/service.rb @@ -354,6 +354,184 @@ module Google command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end + + # Searches all the IAM policies within the given accessible scope (e.g., a + # project, a folder or an organization). Callers should have + # `cloud.assets.SearchAllIamPolicies` permission upon the requested scope, + # otherwise the request will be rejected. + # @param [String] scope + # Required. A scope can be a project, a folder or an organization. The search is + # limited to the IAM policies within the `scope`. + # The allowed values are: + # * projects/`PROJECT_ID` + # * projects/`PROJECT_NUMBER` + # * folders/`FOLDER_NUMBER` + # * organizations/`ORGANIZATION_NUMBER` + # @param [Fixnum] page_size + # Optional. The page size for search result pagination. Page size is capped at + # 500 even + # if a larger value is given. If set to zero, server will pick an appropriate + # default. Returned results may be fewer than requested. When this happens, + # there could be more results as long as `next_page_token` is returned. + # @param [String] page_token + # Optional. If present, retrieve the next batch of results from the preceding + # call to + # this method. `page_token` must be the value of `next_page_token` from the + # previous response. The values of all other method parameters must be + # identical to those in the previous call. + # @param [String] query + # Optional. The query statement. An empty query can be specified to search all + # the IAM + # policies within the given `scope`. + # Examples: + # * `policy : "amy@gmail.com"` to find Cloud IAM policy bindings that + # specify user "amy@gmail.com". + # * `policy : "roles/compute.admin"` to find Cloud IAM policy bindings that + # specify the Compute Admin role. + # * `policy.role.permissions : "storage.buckets.update"` to find Cloud IAM + # policy bindings that specify a role containing "storage.buckets.update" + # permission. + # * `resource : "organizations/123"` to find Cloud IAM policy bindings that + # are set on "organizations/123". + # * `(resource : ("organizations/123" OR "folders/1234") AND policy : "amy")` + # to find Cloud IAM policy bindings that are set on "organizations/123" or + # "folders/1234", and also specify user "amy". + # See [how to construct a + # query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies# + # how_to_construct_a_query) + # for more details. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::CloudassetV1::SearchAllIamPoliciesResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::CloudassetV1::SearchAllIamPoliciesResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def search_all_iam_policies(scope, page_size: nil, page_token: nil, query: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+scope}:searchAllIamPolicies', options) + command.response_representation = Google::Apis::CloudassetV1::SearchAllIamPoliciesResponse::Representation + command.response_class = Google::Apis::CloudassetV1::SearchAllIamPoliciesResponse + command.params['scope'] = scope unless scope.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['query'] = query unless query.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Searches all the resources within the given accessible scope (e.g., a + # project, a folder or an organization). Callers should have + # `cloud.assets.SearchAllResources` permission upon the requested scope, + # otherwise the request will be rejected. + # @param [String] scope + # Required. A scope can be a project, a folder or an organization. The search is + # limited to the resources within the `scope`. + # The allowed values are: + # * projects/`PROJECT_ID` + # * projects/`PROJECT_NUMBER` + # * folders/`FOLDER_NUMBER` + # * organizations/`ORGANIZATION_NUMBER` + # @param [Array, String] asset_types + # Optional. A list of asset types that this request searches for. If empty, it + # will + # search all the [searchable asset + # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types# + # searchable_asset_types). + # @param [String] order_by + # Optional. A comma separated list of fields specifying the sorting order of the + # results. The default order is ascending. Add " DESC" after the field name + # to indicate descending order. Redundant space characters are ignored. + # Example: "location DESC, name". Only string fields in the response are + # sortable, including `name`, `displayName`, `description`, `location`. All + # the other fields such as repeated fields (e.g., `networkTags`), map + # fields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`) + # are not supported. + # @param [Fixnum] page_size + # Optional. The page size for search result pagination. Page size is capped at + # 500 even + # if a larger value is given. If set to zero, server will pick an appropriate + # default. Returned results may be fewer than requested. When this happens, + # there could be more results as long as `next_page_token` is returned. + # @param [String] page_token + # Optional. If present, then retrieve the next batch of results from the + # preceding call + # to this method. `page_token` must be the value of `next_page_token` from + # the previous response. The values of all other method parameters, must be + # identical to those in the previous call. + # @param [String] query + # Optional. The query statement. An empty query can be specified to search all + # the + # resources of certain `asset_types` within the given `scope`. + # Examples: + # * `name : "Important"` to find Cloud resources whose name contains + # "Important" as a word. + # * `displayName : "Impor*"` to find Cloud resources whose display name + # contains "Impor" as a word prefix. + # * `description : "*por*"` to find Cloud resources whose description + # contains "por" as a substring. + # * `location : "us-west*"` to find Cloud resources whose location is + # prefixed with "us-west". + # * `labels : "prod"` to find Cloud resources whose labels contain "prod" as + # a key or value. + # * `labels.env : "prod"` to find Cloud resources which have a label "env" + # and its value is "prod". + # * `labels.env : *` to find Cloud resources which have a label "env". + # * `"Important"` to find Cloud resources which contain "Important" as a word + # in any of the searchable fields. + # * `"Impor*"` to find Cloud resources which contain "Impor" as a word prefix + # in any of the searchable fields. + # * `"*por*"` to find Cloud resources which contain "por" as a substring in + # any of the searchable fields. + # * `("Important" AND location : ("us-west1" OR "global"))` to find Cloud + # resources which contain "Important" as a word in any of the searchable + # fields and are also located in the "us-west1" region or the "global" + # location. + # See [how to construct a + # query](https://cloud.google.com/asset-inventory/docs/searching-resources# + # how_to_construct_a_query) + # for more details. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::CloudassetV1::SearchAllResourcesResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::CloudassetV1::SearchAllResourcesResponse] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def search_all_resources(scope, asset_types: nil, order_by: nil, page_size: nil, page_token: nil, query: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+scope}:searchAllResources', options) + command.response_representation = Google::Apis::CloudassetV1::SearchAllResourcesResponse::Representation + command.response_class = Google::Apis::CloudassetV1::SearchAllResourcesResponse + command.params['scope'] = scope unless scope.nil? + command.query['assetTypes'] = asset_types unless asset_types.nil? + command.query['orderBy'] = order_by unless order_by.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['query'] = query unless query.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end protected diff --git a/generated/google/apis/cloudidentity_v1.rb b/generated/google/apis/cloudidentity_v1.rb index 115cf0324..a651157c4 100644 --- a/generated/google/apis/cloudidentity_v1.rb +++ b/generated/google/apis/cloudidentity_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/identity/ module CloudidentityV1 VERSION = 'V1' - REVISION = '20200612' + REVISION = '20200622' # See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group AUTH_CLOUD_IDENTITY_GROUPS = 'https://www.googleapis.com/auth/cloud-identity.groups' diff --git a/generated/google/apis/cloudidentity_v1beta1.rb b/generated/google/apis/cloudidentity_v1beta1.rb index 55ebb4fa2..a70f646c5 100644 --- a/generated/google/apis/cloudidentity_v1beta1.rb +++ b/generated/google/apis/cloudidentity_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/identity/ module CloudidentityV1beta1 VERSION = 'V1beta1' - REVISION = '20200612' + REVISION = '20200622' # See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group AUTH_CLOUD_IDENTITY_GROUPS = 'https://www.googleapis.com/auth/cloud-identity.groups' diff --git a/generated/google/apis/cloudresourcemanager_v1.rb b/generated/google/apis/cloudresourcemanager_v1.rb index 2bc767c9a..cf904033b 100644 --- a/generated/google/apis/cloudresourcemanager_v1.rb +++ b/generated/google/apis/cloudresourcemanager_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/resource-manager module CloudresourcemanagerV1 VERSION = 'V1' - REVISION = '20200617' + REVISION = '20200622' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudresourcemanager_v1/classes.rb b/generated/google/apis/cloudresourcemanager_v1/classes.rb index d488b7e60..c4fd62453 100644 --- a/generated/google/apis/cloudresourcemanager_v1/classes.rb +++ b/generated/google/apis/cloudresourcemanager_v1/classes.rb @@ -1490,10 +1490,9 @@ module Google # The labels associated with this Project. # Label keys must be between 1 and 63 characters long and must conform - # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. + # to the following regular expression: a-z`0,62`. # Label values must be between 0 and 63 characters long and must conform - # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. A label - # value can be empty. + # to the regular expression [a-z0-9_-]`0,63`. A label value can be empty. # No more than 256 labels can be associated with a given resource. # Clients should store labels in a representation such as JSON that does not # depend on specific characters being disallowed. diff --git a/generated/google/apis/cloudresourcemanager_v1beta1.rb b/generated/google/apis/cloudresourcemanager_v1beta1.rb index 58595c635..92476b62a 100644 --- a/generated/google/apis/cloudresourcemanager_v1beta1.rb +++ b/generated/google/apis/cloudresourcemanager_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/resource-manager module CloudresourcemanagerV1beta1 VERSION = 'V1beta1' - REVISION = '20200617' + REVISION = '20200622' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb b/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb index 3ada0c8a4..af63823d9 100644 --- a/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +++ b/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb @@ -758,10 +758,9 @@ module Google # The labels associated with this Project. # Label keys must be between 1 and 63 characters long and must conform - # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. + # to the following regular expression: a-z`0,62`. # Label values must be between 0 and 63 characters long and must conform - # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. A label - # value can be empty. + # to the regular expression [a-z0-9_-]`0,63`. A label value can be empty. # No more than 256 labels can be associated with a given resource. # Clients should store labels in a representation such as JSON that does not # depend on specific characters being disallowed. diff --git a/generated/google/apis/cloudscheduler_v1beta1.rb b/generated/google/apis/cloudscheduler_v1beta1.rb index e0acc5725..5497c95a9 100644 --- a/generated/google/apis/cloudscheduler_v1beta1.rb +++ b/generated/google/apis/cloudscheduler_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/scheduler/ module CloudschedulerV1beta1 VERSION = 'V1beta1' - REVISION = '20200414' + REVISION = '20200618' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/cloudscheduler_v1beta1/classes.rb b/generated/google/apis/cloudscheduler_v1beta1/classes.rb index 11e51c4ec..5261cbc8d 100644 --- a/generated/google/apis/cloudscheduler_v1beta1/classes.rb +++ b/generated/google/apis/cloudscheduler_v1beta1/classes.rb @@ -696,7 +696,8 @@ module Google include Google::Apis::Core::Hashable # Attributes for this message. If this field is empty, the message must - # contain non-empty data. + # contain non-empty data. This can be used to filter messages on the + # subscription. # Corresponds to the JSON property `attributes` # @return [Hash] attr_accessor :attributes diff --git a/generated/google/apis/composer_v1beta1.rb b/generated/google/apis/composer_v1beta1.rb index 885dcbd14..f7c8ad7c0 100644 --- a/generated/google/apis/composer_v1beta1.rb +++ b/generated/google/apis/composer_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/composer/ module ComposerV1beta1 VERSION = 'V1beta1' - REVISION = '20200505' + REVISION = '20200616' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/composer_v1beta1/classes.rb b/generated/google/apis/composer_v1beta1/classes.rb index 32b178c6a..468312e0c 100644 --- a/generated/google/apis/composer_v1beta1/classes.rb +++ b/generated/google/apis/composer_v1beta1/classes.rb @@ -58,8 +58,9 @@ module Google class DatabaseConfig include Google::Apis::Core::Hashable - # Optional. Cloud SQL tier used by Airflow database. - # If not specified, db-n1-standard-2 will be used. + # Optional. Cloud SQL machine type used by Airflow database. + # It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 + # or db-n1-standard-16. If not specified, db-n1-standard-2 will be used. # Corresponds to the JSON property `machineType` # @return [String] attr_accessor :machine_type @@ -902,7 +903,7 @@ module Google include Google::Apis::Core::Hashable # Optional. Machine type on which Airflow web server is running. - # For example: composer-n1-webserver-2, composer-n1-webserver-4, + # It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or # composer-n1-webserver-8. # If not specified, composer-n1-webserver-2 will be used. # Value custom is returned only in response, if Airflow web server parameters diff --git a/generated/google/apis/composer_v1beta1/service.rb b/generated/google/apis/composer_v1beta1/service.rb index 484335a1d..a1af07df2 100644 --- a/generated/google/apis/composer_v1beta1/service.rb +++ b/generated/google/apis/composer_v1beta1/service.rb @@ -323,6 +323,19 @@ module Google # Cloud # Composer Version List for valid values. # + # + # config.databaseConfig.machineType + # Cloud SQL machine type used by Airflow database. + # It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 + # or db-n1-standard-16. + # + # + # config.webServerConfig.machineType + # Machine type on which Airflow web server is running. + # It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or + # composer-n1-webserver-8. + # + # # # # @param [String] fields diff --git a/generated/google/apis/containeranalysis_v1beta1.rb b/generated/google/apis/containeranalysis_v1beta1.rb index b90394608..397e64cd3 100644 --- a/generated/google/apis/containeranalysis_v1beta1.rb +++ b/generated/google/apis/containeranalysis_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/container-analysis/api/reference/rest/ module ContaineranalysisV1beta1 VERSION = 'V1beta1' - REVISION = '20200501' + REVISION = '20200619' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/containeranalysis_v1beta1/classes.rb b/generated/google/apis/containeranalysis_v1beta1/classes.rb index 1a96b3219..a8973a66c 100644 --- a/generated/google/apis/containeranalysis_v1beta1/classes.rb +++ b/generated/google/apis/containeranalysis_v1beta1/classes.rb @@ -2849,7 +2849,7 @@ module Google # The identifier for the public key that verifies this signature. # * The `public_key_id` is required. - # * The `public_key_id` MUST be an RFC3986 conformant URI. + # * The `public_key_id` SHOULD be an RFC3986 conformant URI. # * When possible, the `public_key_id` SHOULD be an immutable reference, # such as a cryptographic digest. # Examples of valid `public_key_id`s: diff --git a/generated/google/apis/datacatalog_v1beta1.rb b/generated/google/apis/datacatalog_v1beta1.rb index 393be42ed..f7c6a7f1d 100644 --- a/generated/google/apis/datacatalog_v1beta1.rb +++ b/generated/google/apis/datacatalog_v1beta1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/data-catalog/docs/ module DatacatalogV1beta1 VERSION = 'V1beta1' - REVISION = '20200510' + REVISION = '20200618' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/datacatalog_v1beta1/classes.rb b/generated/google/apis/datacatalog_v1beta1/classes.rb index da2bd35ba..dd1b38859 100644 --- a/generated/google/apis/datacatalog_v1beta1/classes.rb +++ b/generated/google/apis/datacatalog_v1beta1/classes.rb @@ -579,12 +579,13 @@ module Google class GoogleCloudDatacatalogV1beta1FieldTypeEnumType include Google::Apis::Core::Hashable - # Required on create; optional on update. The set of allowed values for - # this enum. This set must not be empty, the display names of the values in - # this set must not be empty and the display names of the values must be - # case-insensitively unique within this set. Currently, enum values can - # only be added to the list of allowed values. Deletion and renaming of - # enum values are not supported. Can have up to 500 allowed values. + # The set of allowed values for this enum. This set must not be empty, the + # display names of the values in this set must not be empty and the display + # names of the values must be case-insensitively unique within this set. + # The order of items in this list is preserved. This field can be used to + # create, remove and reorder enum values. In order to rename enum value use + # RenameTagTemplateFieldEnumValue method. Can have up to 500 allowed + # values. # Corresponds to the JSON property `allowedValues` # @return [Array] attr_accessor :allowed_values @@ -653,10 +654,12 @@ module Google class GoogleCloudDatacatalogV1beta1GcsFilesetSpec include Google::Apis::Core::Hashable - # Required. Patterns to identify a set of files in Google Cloud Storage. See [ - # Cloud - # Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for - # more information. Note that bucket wildcards are currently not supported. + # Required. Patterns to identify a set of files in Google Cloud Storage. + # See [Cloud Storage + # documentation](https://cloud.google.com/storage/docs/gsutil/addlhelp/ + # WildcardNames) + # for more information. Note that bucket wildcards are currently not + # supported. # Examples of valid file_patterns: # * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir` # directory. @@ -952,6 +955,27 @@ module Google end end + # Request message for + # RenameTagTemplateFieldEnumValue. + class GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest + include Google::Apis::Core::Hashable + + # Required. The new display name of the enum value. For example, ` + # my_new_enum_value`. + # Corresponds to the JSON property `newEnumValueDisplayName` + # @return [String] + attr_accessor :new_enum_value_display_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @new_enum_value_display_name = args[:new_enum_value_display_name] if args.key?(:new_enum_value_display_name) + end + end + # Request message for # RenameTagTemplateField. class GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest diff --git a/generated/google/apis/datacatalog_v1beta1/representations.rb b/generated/google/apis/datacatalog_v1beta1/representations.rb index 6599983f4..8ca3a6ae3 100644 --- a/generated/google/apis/datacatalog_v1beta1/representations.rb +++ b/generated/google/apis/datacatalog_v1beta1/representations.rb @@ -172,6 +172,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest class Representation < Google::Apis::Core::JsonRepresentation; end @@ -537,6 +543,13 @@ module Google end end + class GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :new_enum_value_display_name, as: 'newEnumValueDisplayName' + end + end + class GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/datacatalog_v1beta1/service.rb b/generated/google/apis/datacatalog_v1beta1/service.rb index 4001b29d3..c9060ab55 100644 --- a/generated/google/apis/datacatalog_v1beta1/service.rb +++ b/generated/google/apis/datacatalog_v1beta1/service.rb @@ -1602,6 +1602,43 @@ module Google execute_or_queue_command(command, &block) end + # Renames an enum value in a tag template. The enum values have to be unique + # within one enum field. Thus, an enum value cannot be renamed with a name + # used in any other enum value within the same enum field. + # @param [String] name + # Required. The name of the enum field value. Example: + # * projects/`project_id`/locations/`location`/tagTemplates/`tag_template_id`/ + # fields/`tag_template_field_id`/enumValues/`enum_value_display_name` + # @param [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest] google_cloud_datacatalog_v1beta1_rename_tag_template_field_enum_value_request_object + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1beta1TagTemplateField] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1beta1TagTemplateField] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def rename_project_location_tag_template_field_enum_value(name, google_cloud_datacatalog_v1beta1_rename_tag_template_field_enum_value_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1beta1/{+name}:rename', options) + command.request_representation = Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest::Representation + command.request_object = google_cloud_datacatalog_v1beta1_rename_tag_template_field_enum_value_request_object + command.response_representation = Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1beta1TagTemplateField::Representation + command.response_class = Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1beta1TagTemplateField + command.params['name'] = name unless name.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + # Creates a taxonomy in the specified project. # @param [String] parent # Required. Resource name of the project that the taxonomy will belong to. diff --git a/generated/google/apis/prod_tt_sasportal_v1alpha1.rb b/generated/google/apis/prod_tt_sasportal_v1alpha1.rb index 4eda0f06a..06375d1d7 100644 --- a/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +++ b/generated/google/apis/prod_tt_sasportal_v1alpha1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/spectrum-access-system/ module ProdTtSasportalV1alpha1 VERSION = 'V1alpha1' - REVISION = '20200601' + REVISION = '20200623' # View your email address AUTH_USERINFO_EMAIL = 'https://www.googleapis.com/auth/userinfo.email' diff --git a/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb b/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb index 910e35c61..7d059dfb4 100644 --- a/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +++ b/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb @@ -159,6 +159,11 @@ module Google # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceConfig] attr_accessor :active_config + # Device data overridable by both SAS Portal and registration requests. + # Corresponds to the JSON property `deviceMetadata` + # @return [Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceMetadata] + attr_accessor :device_metadata + # Device display name. # Corresponds to the JSON property `displayName` # @return [String] @@ -202,6 +207,7 @@ module Google # Update properties of this object def update!(**args) @active_config = args[:active_config] if args.key?(:active_config) + @device_metadata = args[:device_metadata] if args.key?(:device_metadata) @display_name = args[:display_name] if args.key?(:display_name) @fcc_id = args[:fcc_id] if args.key?(:fcc_id) @grants = args[:grants] if args.key?(:grants) @@ -375,6 +381,19 @@ module Google end end + # Device data overridable by both SAS Portal and registration requests. + class SasPortalDeviceMetadata + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + # Information about the model of the device. class SasPortalDeviceModel include Google::Apis::Core::Hashable diff --git a/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb b/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb index 6cadaec4a..f8fce0fc6 100644 --- a/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +++ b/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb @@ -76,6 +76,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class SasPortalDeviceMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class SasPortalDeviceModel class Representation < Google::Apis::Core::JsonRepresentation; end @@ -265,6 +271,8 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :active_config, as: 'activeConfig', class: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceConfig, decorator: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceConfig::Representation + property :device_metadata, as: 'deviceMetadata', class: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceMetadata, decorator: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceMetadata::Representation + property :display_name, as: 'displayName' property :fcc_id, as: 'fccId' collection :grants, as: 'grants', class: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceGrant, decorator: Google::Apis::ProdTtSasportalV1alpha1::SasPortalDeviceGrant::Representation @@ -319,6 +327,12 @@ module Google end end + class SasPortalDeviceMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + class SasPortalDeviceModel # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/remotebuildexecution_v1.rb b/generated/google/apis/remotebuildexecution_v1.rb index 1bbed9cd4..37ca8baf6 100644 --- a/generated/google/apis/remotebuildexecution_v1.rb +++ b/generated/google/apis/remotebuildexecution_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/remote-build-execution/docs/ module RemotebuildexecutionV1 VERSION = 'V1' - REVISION = '20200513' + REVISION = '20200623' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/remotebuildexecution_v1/classes.rb b/generated/google/apis/remotebuildexecution_v1/classes.rb index 4a7c6cbb3..993b43ba5 100644 --- a/generated/google/apis/remotebuildexecution_v1/classes.rb +++ b/generated/google/apis/remotebuildexecution_v1/classes.rb @@ -2322,7 +2322,7 @@ module Google attr_accessor :reserved alias_method :reserved?, :reserved - # Output only. The name of the image used by each VM. + # The name of the image used by each VM. # Corresponds to the JSON property `vmImage` # @return [String] attr_accessor :vm_image diff --git a/generated/google/apis/remotebuildexecution_v1alpha.rb b/generated/google/apis/remotebuildexecution_v1alpha.rb index f03899fad..4d651d920 100644 --- a/generated/google/apis/remotebuildexecution_v1alpha.rb +++ b/generated/google/apis/remotebuildexecution_v1alpha.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/remote-build-execution/docs/ module RemotebuildexecutionV1alpha VERSION = 'V1alpha' - REVISION = '20200513' + REVISION = '20200623' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/remotebuildexecution_v1alpha/classes.rb b/generated/google/apis/remotebuildexecution_v1alpha/classes.rb index a0bd266de..5652991d2 100644 --- a/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +++ b/generated/google/apis/remotebuildexecution_v1alpha/classes.rb @@ -2303,7 +2303,7 @@ module Google attr_accessor :reserved alias_method :reserved?, :reserved - # Output only. The name of the image used by each VM. + # The name of the image used by each VM. # Corresponds to the JSON property `vmImage` # @return [String] attr_accessor :vm_image diff --git a/generated/google/apis/remotebuildexecution_v2.rb b/generated/google/apis/remotebuildexecution_v2.rb index 9c83e2822..4436a0747 100644 --- a/generated/google/apis/remotebuildexecution_v2.rb +++ b/generated/google/apis/remotebuildexecution_v2.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/remote-build-execution/docs/ module RemotebuildexecutionV2 VERSION = 'V2' - REVISION = '20200513' + REVISION = '20200623' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/remotebuildexecution_v2/classes.rb b/generated/google/apis/remotebuildexecution_v2/classes.rb index 2501ae0f0..1015be21c 100644 --- a/generated/google/apis/remotebuildexecution_v2/classes.rb +++ b/generated/google/apis/remotebuildexecution_v2/classes.rb @@ -3002,7 +3002,7 @@ module Google attr_accessor :reserved alias_method :reserved?, :reserved - # Output only. The name of the image used by each VM. + # The name of the image used by each VM. # Corresponds to the JSON property `vmImage` # @return [String] attr_accessor :vm_image diff --git a/generated/google/apis/sasportal_v1alpha1.rb b/generated/google/apis/sasportal_v1alpha1.rb index 7a09df35e..84b79a24d 100644 --- a/generated/google/apis/sasportal_v1alpha1.rb +++ b/generated/google/apis/sasportal_v1alpha1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/spectrum-access-system/ module SasportalV1alpha1 VERSION = 'V1alpha1' - REVISION = '20200601' + REVISION = '20200623' # View your email address AUTH_USERINFO_EMAIL = 'https://www.googleapis.com/auth/userinfo.email' diff --git a/generated/google/apis/sasportal_v1alpha1/classes.rb b/generated/google/apis/sasportal_v1alpha1/classes.rb index 613d08cef..84899cd4a 100644 --- a/generated/google/apis/sasportal_v1alpha1/classes.rb +++ b/generated/google/apis/sasportal_v1alpha1/classes.rb @@ -159,6 +159,11 @@ module Google # @return [Google::Apis::SasportalV1alpha1::SasPortalDeviceConfig] attr_accessor :active_config + # Device data overridable by both SAS Portal and registration requests. + # Corresponds to the JSON property `deviceMetadata` + # @return [Google::Apis::SasportalV1alpha1::SasPortalDeviceMetadata] + attr_accessor :device_metadata + # Device display name. # Corresponds to the JSON property `displayName` # @return [String] @@ -202,6 +207,7 @@ module Google # Update properties of this object def update!(**args) @active_config = args[:active_config] if args.key?(:active_config) + @device_metadata = args[:device_metadata] if args.key?(:device_metadata) @display_name = args[:display_name] if args.key?(:display_name) @fcc_id = args[:fcc_id] if args.key?(:fcc_id) @grants = args[:grants] if args.key?(:grants) @@ -375,6 +381,19 @@ module Google end end + # Device data overridable by both SAS Portal and registration requests. + class SasPortalDeviceMetadata + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + # Information about the model of the device. class SasPortalDeviceModel include Google::Apis::Core::Hashable diff --git a/generated/google/apis/sasportal_v1alpha1/representations.rb b/generated/google/apis/sasportal_v1alpha1/representations.rb index 2a20e2ca5..3e973278a 100644 --- a/generated/google/apis/sasportal_v1alpha1/representations.rb +++ b/generated/google/apis/sasportal_v1alpha1/representations.rb @@ -76,6 +76,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class SasPortalDeviceMetadata + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class SasPortalDeviceModel class Representation < Google::Apis::Core::JsonRepresentation; end @@ -265,6 +271,8 @@ module Google class Representation < Google::Apis::Core::JsonRepresentation property :active_config, as: 'activeConfig', class: Google::Apis::SasportalV1alpha1::SasPortalDeviceConfig, decorator: Google::Apis::SasportalV1alpha1::SasPortalDeviceConfig::Representation + property :device_metadata, as: 'deviceMetadata', class: Google::Apis::SasportalV1alpha1::SasPortalDeviceMetadata, decorator: Google::Apis::SasportalV1alpha1::SasPortalDeviceMetadata::Representation + property :display_name, as: 'displayName' property :fcc_id, as: 'fccId' collection :grants, as: 'grants', class: Google::Apis::SasportalV1alpha1::SasPortalDeviceGrant, decorator: Google::Apis::SasportalV1alpha1::SasPortalDeviceGrant::Representation @@ -319,6 +327,12 @@ module Google end end + class SasPortalDeviceMetadata + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + class SasPortalDeviceModel # @private class Representation < Google::Apis::Core::JsonRepresentation diff --git a/generated/google/apis/servicemanagement_v1.rb b/generated/google/apis/servicemanagement_v1.rb index 372fae561..33ce267ab 100644 --- a/generated/google/apis/servicemanagement_v1.rb +++ b/generated/google/apis/servicemanagement_v1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/service-management/ module ServicemanagementV1 VERSION = 'V1' - REVISION = '20200613' + REVISION = '20200619' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicemanagement_v1/classes.rb b/generated/google/apis/servicemanagement_v1/classes.rb index 303e9eb4b..b94aed636 100644 --- a/generated/google/apis/servicemanagement_v1/classes.rb +++ b/generated/google/apis/servicemanagement_v1/classes.rb @@ -2681,6 +2681,7 @@ module Google # * `min` minute # * `h` hour # * `d` day + # * `1` dimensionless # **Prefixes (PREFIX)** # * `k` kilo (10^3) # * `M` mega (10^6) diff --git a/generated/google/apis/storage_v1.rb b/generated/google/apis/storage_v1.rb index e77aab68f..cb373b162 100644 --- a/generated/google/apis/storage_v1.rb +++ b/generated/google/apis/storage_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://developers.google.com/storage/docs/json_api/ module StorageV1 VERSION = 'V1' - REVISION = '20200430' + REVISION = '20200611' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/storage_v1/service.rb b/generated/google/apis/storage_v1/service.rb index adafac310..edc59f734 100644 --- a/generated/google/apis/storage_v1/service.rb +++ b/generated/google/apis/storage_v1/service.rb @@ -1617,9 +1617,8 @@ module Google # Makes the operation conditional on whether the object's current metageneration # matches the given value. # @param [String] kms_key_name - # Resource name of the Cloud KMS key, of the form projects/my-project/locations/ - # global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the - # object. Overrides the object metadata's kms_key_name value, if any. + # Not currently supported. Specifying the parameter causes the request to fail + # with status code 400 - Bad Request. # @param [String] provisional_user_project # The project to be billed for this request if the target bucket is requester- # pays bucket. diff --git a/generated/google/apis/vectortile_v1.rb b/generated/google/apis/vectortile_v1.rb new file mode 100644 index 000000000..34e0072a0 --- /dev/null +++ b/generated/google/apis/vectortile_v1.rb @@ -0,0 +1,31 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/vectortile_v1/service.rb' +require 'google/apis/vectortile_v1/classes.rb' +require 'google/apis/vectortile_v1/representations.rb' + +module Google + module Apis + # Semantic Tile API + # + # Serves vector tiles containing geospatial data. + # + # @see https://developers.google.com/maps/contact-sales/ + module VectortileV1 + VERSION = 'V1' + REVISION = '20200622' + end + end +end diff --git a/generated/google/apis/vectortile_v1/classes.rb b/generated/google/apis/vectortile_v1/classes.rb new file mode 100644 index 000000000..2c20c6c26 --- /dev/null +++ b/generated/google/apis/vectortile_v1/classes.rb @@ -0,0 +1,881 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module VectortileV1 + + # Represents an area. Used to represent regions such as water, parks, etc. + class Area + include Google::Apis::Core::Hashable + + # True if the polygon is not entirely internal to the feature that it belongs + # to: that is, some of the edges are bordering another feature. + # Corresponds to the JSON property `hasExternalEdges` + # @return [Boolean] + attr_accessor :has_external_edges + alias_method :has_external_edges?, :has_external_edges + + # When has_external_edges is true, the polygon has some edges that border + # another feature. This field indicates the internal edges that do not border + # another feature. Each value is an index into the vertices array, and + # denotes the start vertex of the internal edge (the next vertex in the + # boundary loop is the end of the edge). If the selected vertex is the last + # vertex in the boundary loop, then the edge between that vertex and the + # starting vertex of the loop is internal. + # This field may be used for styling. For example, building parapets could be + # placed only on the external edges of a building polygon, or water could be + # lighter colored near the external edges of a body of water. + # If has_external_edges is false, all edges are internal and this field will + # be empty. + # Corresponds to the JSON property `internalEdges` + # @return [Array] + attr_accessor :internal_edges + + # Identifies the boundary loops of the polygon. Only set for INDEXED_TRIANGLE + # polygons. Each value is an index into the vertices array indicating the + # beginning of a loop. For instance, values of [2, 5] would indicate + # loop_data contained 3 loops with indices 0-1, 2-4, and 5-end. + # This may be used in conjunction with the internal_edges field for styling + # polygon boundaries. Note that an edge may be on a polygon boundary but + # still internal to the feature. For example, a feature split across multiple + # tiles will have an internal polygon boundary edge along the edge of the + # tile. + # Corresponds to the JSON property `loopBreaks` + # @return [Array] + attr_accessor :loop_breaks + + # When the polygon encoding is of type INDEXED_TRIANGLES, this contains the + # indices of the triangle vertices in the vertex_offsets field. There are 3 + # vertex indices per triangle. + # Corresponds to the JSON property `triangleIndices` + # @return [Array] + attr_accessor :triangle_indices + + # The polygon encoding type used for this area. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + # 2D vertex list used for lines and areas. Each entry represents an offset from + # the previous one in local tile coordinates. The first entry is offset from + # (0, 0). + # For example, the list of vertices [(1,1), (2, 2), (1, 2)] would be encoded + # in vertex offsets as [(1, 1), (1, 1), (-1, 0)]. + # Corresponds to the JSON property `vertexOffsets` + # @return [Google::Apis::VectortileV1::Vertex2DList] + attr_accessor :vertex_offsets + + # The z-ordering of this area. Areas with a lower z-order should be rendered + # beneath areas with a higher z-order. This z-ordering does not imply + # anything about the altitude of the line relative to the ground, but it + # can be used to prevent z-fighting during rendering on the client. This + # z-ordering can only be used to compare areas, and cannot be compared with + # the z_order field in the Line message. + # The z-order may be negative or zero. + # Corresponds to the JSON property `zOrder` + # @return [Fixnum] + attr_accessor :z_order + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @has_external_edges = args[:has_external_edges] if args.key?(:has_external_edges) + @internal_edges = args[:internal_edges] if args.key?(:internal_edges) + @loop_breaks = args[:loop_breaks] if args.key?(:loop_breaks) + @triangle_indices = args[:triangle_indices] if args.key?(:triangle_indices) + @type = args[:type] if args.key?(:type) + @vertex_offsets = args[:vertex_offsets] if args.key?(:vertex_offsets) + @z_order = args[:z_order] if args.key?(:z_order) + end + end + + # Represents a height-extruded area: a 3D prism with a constant X-Y plane cross + # section. Used to represent extruded buildings. A single building may consist + # of several extruded areas. + # The min_z and max_z fields are scaled to the size of the tile. An extruded + # area with a max_z value of 4096 has the same height as the width of the tile + # that it is on. + class ExtrudedArea + include Google::Apis::Core::Hashable + + # Represents an area. Used to represent regions such as water, parks, etc. + # Corresponds to the JSON property `area` + # @return [Google::Apis::VectortileV1::Area] + attr_accessor :area + + # The z-value in local tile coordinates where the extruded area ends. + # Corresponds to the JSON property `maxZ` + # @return [Fixnum] + attr_accessor :max_z + + # The z-value in local tile coordinates where the extruded area begins. This + # is non-zero for extruded areas that begin off the ground. For example, a + # building with a skybridge may have an extruded area component with a + # non-zero min_z. + # Corresponds to the JSON property `minZ` + # @return [Fixnum] + attr_accessor :min_z + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @area = args[:area] if args.key?(:area) + @max_z = args[:max_z] if args.key?(:max_z) + @min_z = args[:min_z] if args.key?(:min_z) + end + end + + # A feature representing a single geographic entity. + class Feature + include Google::Apis::Core::Hashable + + # The localized name of this feature. Currently only returned for roads. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Represents the geometry of a feature, that is, the shape that it has on the + # map. The local tile coordinate system has the origin at the north-west + # (upper-left) corner of the tile, and is scaled to 4096 units across each + # edge. The height (Z) axis has the same scale factor: an extruded area with a + # max_z value of 4096 has the same height as the width of the tile that it is + # on. + # There is no clipping boundary, so it is possible that some coordinates will + # lie outside the tile boundaries. + # Corresponds to the JSON property `geometry` + # @return [Google::Apis::VectortileV1::Geometry] + attr_accessor :geometry + + # Place ID of this feature, suitable for use in Places API details + # requests. + # Corresponds to the JSON property `placeId` + # @return [String] + attr_accessor :place_id + + # Relations to other features. + # Corresponds to the JSON property `relations` + # @return [Array] + attr_accessor :relations + + # Extra metadata relating to segments. + # Corresponds to the JSON property `segmentInfo` + # @return [Google::Apis::VectortileV1::SegmentInfo] + attr_accessor :segment_info + + # The type of this feature. + # Corresponds to the JSON property `type` + # @return [String] + attr_accessor :type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @display_name = args[:display_name] if args.key?(:display_name) + @geometry = args[:geometry] if args.key?(:geometry) + @place_id = args[:place_id] if args.key?(:place_id) + @relations = args[:relations] if args.key?(:relations) + @segment_info = args[:segment_info] if args.key?(:segment_info) + @type = args[:type] if args.key?(:type) + end + end + + # A tile containing information about the map features located in the region it + # covers. + class FeatureTile + include Google::Apis::Core::Hashable + + # Global tile coordinates. Global tile coordinates reference a specific tile on + # the map at a specific zoom level. + # The origin of this coordinate system is always at the northwest corner of the + # map, with x values increasing from west to east and y values increasing from + # north to south. Tiles are indexed using x, y coordinates from that origin. + # The zoom level containing the entire world in a tile is 0, and it increases + # as you zoom in. Zoom level n + 1 will contain 4 times as many tiles as zoom + # level n. + # The zoom level controls the level of detail of the data that is returned. In + # particular, this affects the set of feature types returned, their density, + # and geometry simplification. The exact tile contents may change over time, + # but care will be taken to keep supporting the most important use cases. For + # example, zoom level 15 shows roads for orientation and planning in the local + # neighborhood and zoom level 17 shows buildings to give users on foot a sense + # of situational awareness. + # Corresponds to the JSON property `coordinates` + # @return [Google::Apis::VectortileV1::TileCoordinates] + attr_accessor :coordinates + + # Features present on this map tile. + # Corresponds to the JSON property `features` + # @return [Array] + attr_accessor :features + + # Resource name of the tile. The tile resource name is prefixed by its + # collection ID `tiles/` followed by the resource ID, which encodes the + # tile's global x and y coordinates and zoom level as `@,,z`. For + # example, `tiles/@1,2,3z`. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Data providers for the data contained in this tile. + # Corresponds to the JSON property `providers` + # @return [Array] + attr_accessor :providers + + # Tile response status code to support tile caching. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + # An opaque value, usually less than 30 characters, that contains version + # info about this tile and the data that was used to generate it. + # The client should store this value in its tile cache and pass it back to + # the API in the client_tile_version_id field of subsequent tile requests in + # order to enable the API to detect when the new tile would be the same as + # the one the client already has in its cache. + # Also see STATUS_OK_DATA_UNCHANGED. + # Corresponds to the JSON property `versionId` + # @return [String] + attr_accessor :version_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @coordinates = args[:coordinates] if args.key?(:coordinates) + @features = args[:features] if args.key?(:features) + @name = args[:name] if args.key?(:name) + @providers = args[:providers] if args.key?(:providers) + @status = args[:status] if args.key?(:status) + @version_id = args[:version_id] if args.key?(:version_id) + end + end + + # A packed representation of a 2D grid of uniformly spaced points containing + # elevation data. Each point within the grid represents the altitude in + # meters above average sea level at that location within the tile. + # Elevations provided are (generally) relative to the EGM96 geoid, however + # some areas will be relative to NAVD88. EGM96 and NAVD88 are off by no more + # than 2 meters. + # The grid is oriented north-west to south-east, as illustrated: + # rows[0].a[0] rows[0].a[m] + # +-----------------+ + # | | + # | N | + # | ^ | + # | | | + # | W <-----> E | + # | | | + # | v | + # | S | + # | | + # +-----------------+ + # rows[n].a[0] rows[n].a[m] + # Rather than storing the altitudes directly, we store the diffs between them + # as integers at some requested level of precision to take advantage of + # integer packing. The actual altitude values a[] can be reconstructed using + # the scale and each row's first_altitude and altitude_diff fields. + class FirstDerivativeElevationGrid + include Google::Apis::Core::Hashable + + # A multiplier applied to the altitude fields below to extract the actual + # altitudes in meters from the elevation grid. + # Corresponds to the JSON property `altitudeMultiplier` + # @return [Float] + attr_accessor :altitude_multiplier + + # Rows of points containing altitude data making up the elevation grid. + # Each row is the same length. Rows are ordered from north to south. E.g: + # rows[0] is the north-most row, and rows[n] is the south-most row. + # Corresponds to the JSON property `rows` + # @return [Array] + attr_accessor :rows + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @altitude_multiplier = args[:altitude_multiplier] if args.key?(:altitude_multiplier) + @rows = args[:rows] if args.key?(:rows) + end + end + + # Represents the geometry of a feature, that is, the shape that it has on the + # map. The local tile coordinate system has the origin at the north-west + # (upper-left) corner of the tile, and is scaled to 4096 units across each + # edge. The height (Z) axis has the same scale factor: an extruded area with a + # max_z value of 4096 has the same height as the width of the tile that it is + # on. + # There is no clipping boundary, so it is possible that some coordinates will + # lie outside the tile boundaries. + class Geometry + include Google::Apis::Core::Hashable + + # The areas present in this geometry. + # Corresponds to the JSON property `areas` + # @return [Array] + attr_accessor :areas + + # The extruded areas present in this geometry. + # Corresponds to the JSON property `extrudedAreas` + # @return [Array] + attr_accessor :extruded_areas + + # The lines present in this geometry. + # Corresponds to the JSON property `lines` + # @return [Array] + attr_accessor :lines + + # The modeled volumes present in this geometry. + # Corresponds to the JSON property `modeledVolumes` + # @return [Array] + attr_accessor :modeled_volumes + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @areas = args[:areas] if args.key?(:areas) + @extruded_areas = args[:extruded_areas] if args.key?(:extruded_areas) + @lines = args[:lines] if args.key?(:lines) + @modeled_volumes = args[:modeled_volumes] if args.key?(:modeled_volumes) + end + end + + # Represents a 2D polyline. Used to represent segments such as roads, train + # tracks, etc. + class Line + include Google::Apis::Core::Hashable + + # 2D vertex list used for lines and areas. Each entry represents an offset from + # the previous one in local tile coordinates. The first entry is offset from + # (0, 0). + # For example, the list of vertices [(1,1), (2, 2), (1, 2)] would be encoded + # in vertex offsets as [(1, 1), (1, 1), (-1, 0)]. + # Corresponds to the JSON property `vertexOffsets` + # @return [Google::Apis::VectortileV1::Vertex2DList] + attr_accessor :vertex_offsets + + # The z-order of the line. Lines with a lower z-order should be rendered + # beneath lines with a higher z-order. This z-ordering does not imply + # anything about the altitude of the area relative to the ground, but it + # can be used to prevent z-fighting during rendering on the client. In + # general, larger and more important road features will have a higher z-order + # line associated with them. This z-ordering can only be used to compare + # lines, and cannot be compared with the z_order field in the Area message. + # The z-order may be negative or zero. + # Corresponds to the JSON property `zOrder` + # @return [Fixnum] + attr_accessor :z_order + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @vertex_offsets = args[:vertex_offsets] if args.key?(:vertex_offsets) + @z_order = args[:z_order] if args.key?(:z_order) + end + end + + # Represents a modeled volume in 3D space. Used to represent 3D buildings. + class ModeledVolume + include Google::Apis::Core::Hashable + + # The triangle strips present in this mesh. + # Corresponds to the JSON property `strips` + # @return [Array] + attr_accessor :strips + + # 3D vertex list used for modeled volumes. Each entry represents an offset from + # the previous one in local tile coordinates. The first coordinate is offset + # from (0, 0, 0). + # Corresponds to the JSON property `vertexOffsets` + # @return [Google::Apis::VectortileV1::Vertex3DList] + attr_accessor :vertex_offsets + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @strips = args[:strips] if args.key?(:strips) + @vertex_offsets = args[:vertex_offsets] if args.key?(:vertex_offsets) + end + end + + # Information about the data providers that should be included in the + # attribution string shown by the client. + class ProviderInfo + include Google::Apis::Core::Hashable + + # Attribution string for this provider. This string is not localized. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @description = args[:description] if args.key?(:description) + end + end + + # Represents a relation to another feature in the tile. For example, a building + # might be occupied by a given POI. The related feature can be retrieved using + # the related feature index. + class Relation + include Google::Apis::Core::Hashable + + # Zero-based index to look up the related feature from the list of features + # in the tile. + # Corresponds to the JSON property `relatedFeatureIndex` + # @return [Fixnum] + attr_accessor :related_feature_index + + # Relation type between the origin feature to the related feature. + # Corresponds to the JSON property `relationType` + # @return [String] + attr_accessor :relation_type + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @related_feature_index = args[:related_feature_index] if args.key?(:related_feature_index) + @relation_type = args[:relation_type] if args.key?(:relation_type) + end + end + + # Extra metadata relating to roads. + class RoadInfo + include Google::Apis::Core::Hashable + + # Road has signage discouraging or prohibiting use by the general public. + # E.g., roads with signs that say "Private", or "No trespassing." + # Corresponds to the JSON property `isPrivate` + # @return [Boolean] + attr_accessor :is_private + alias_method :is_private?, :is_private + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @is_private = args[:is_private] if args.key?(:is_private) + end + end + + # A row of altitude points in the elevation grid, ordered from west to + # east. + class Row + include Google::Apis::Core::Hashable + + # The difference between each successive pair of altitudes, from west to + # east. The first, westmost point, is just the altitude rather than a + # diff. The units are specified by the altitude_multiplier parameter + # above; the value in meters is given by altitude_multiplier * + # altitude_diffs[n]. The altitude row (in metres above sea level) can be + # reconstructed with: a[0] = altitude_diffs[0] * altitude_multiplier when + # n > 0, a[n] = a[n-1] + altitude_diffs[n-1] * altitude_multiplier. + # Corresponds to the JSON property `altitudeDiffs` + # @return [Array] + attr_accessor :altitude_diffs + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @altitude_diffs = args[:altitude_diffs] if args.key?(:altitude_diffs) + end + end + + # A packed representation of a 2D grid of uniformly spaced points containing + # elevation data. Each point within the grid represents the altitude in + # meters above average sea level at that location within the tile. + # Elevations provided are (generally) relative to the EGM96 geoid, however + # some areas will be relative to NAVD88. EGM96 and NAVD88 are off by no more + # than 2 meters. + # The grid is oriented north-west to south-east, as illustrated: + # rows[0].a[0] rows[0].a[m] + # +-----------------+ + # | | + # | N | + # | ^ | + # | | | + # | W <-----> E | + # | | | + # | v | + # | S | + # | | + # +-----------------+ + # rows[n].a[0] rows[n].a[m] + # Rather than storing the altitudes directly, we store the diffs of the diffs + # between them as integers at some requested level of precision to take + # advantage of integer packing. + # Note that the data is packed in such a way that is fast to decode in + # Unity and that further optimizes wire size. + class SecondDerivativeElevationGrid + include Google::Apis::Core::Hashable + + # A multiplier applied to the elements in the encoded data to extract the + # actual altitudes in meters. + # Corresponds to the JSON property `altitudeMultiplier` + # @return [Float] + attr_accessor :altitude_multiplier + + # The number of columns included in the encoded elevation data (i.e. the + # horizontal resolution of the grid). + # Corresponds to the JSON property `columnCount` + # @return [Fixnum] + attr_accessor :column_count + + # A stream of elements each representing a point on the tile running across + # each row from left to right, top to bottom. + # There will be precisely horizontal_resolution * vertical_resolution + # elements in the stream. + # The elements are not the heights, rather the second order derivative of + # the values one would expect in a stream of height data. + # Each element is a varint with the following encoding: + # ------------------------------------------------------------------------| + # | Head Nibble | + # ------------------------------------------------------------------------| + # | Bit 0 | Bit 1 | Bits 2-3 | + # | Terminator| Sign (1=neg) | Least significant 2 bits of absolute error | + # ------------------------------------------------------------------------| + # | Tail Nibble #1 | + # ------------------------------------------------------------------------| + # | Bit 0 | Bit 1-3 | + # | Terminator| Least significant 3 bits of absolute error | + # ------------------------------------------------------------------------| + # | ... + # | Tail Nibble #n | + # ------------------------------------------------------------------------| + # | Bit 0 | Bit 1-3 | + # | Terminator| Least significant 3 bits of absolute error | + # ------------------------------------------------------------------------| + # Corresponds to the JSON property `encodedData` + # NOTE: Values are automatically base64 encoded/decoded in the client library. + # @return [String] + attr_accessor :encoded_data + + # The number of rows included in the encoded elevation data (i.e. the + # vertical resolution of the grid). + # Corresponds to the JSON property `rowCount` + # @return [Fixnum] + attr_accessor :row_count + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @altitude_multiplier = args[:altitude_multiplier] if args.key?(:altitude_multiplier) + @column_count = args[:column_count] if args.key?(:column_count) + @encoded_data = args[:encoded_data] if args.key?(:encoded_data) + @row_count = args[:row_count] if args.key?(:row_count) + end + end + + # Extra metadata relating to segments. + class SegmentInfo + include Google::Apis::Core::Hashable + + # Extra metadata relating to roads. + # Corresponds to the JSON property `roadInfo` + # @return [Google::Apis::VectortileV1::RoadInfo] + attr_accessor :road_info + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @road_info = args[:road_info] if args.key?(:road_info) + end + end + + # A tile containing information about the terrain located in the region it + # covers. + class TerrainTile + include Google::Apis::Core::Hashable + + # Global tile coordinates. Global tile coordinates reference a specific tile on + # the map at a specific zoom level. + # The origin of this coordinate system is always at the northwest corner of the + # map, with x values increasing from west to east and y values increasing from + # north to south. Tiles are indexed using x, y coordinates from that origin. + # The zoom level containing the entire world in a tile is 0, and it increases + # as you zoom in. Zoom level n + 1 will contain 4 times as many tiles as zoom + # level n. + # The zoom level controls the level of detail of the data that is returned. In + # particular, this affects the set of feature types returned, their density, + # and geometry simplification. The exact tile contents may change over time, + # but care will be taken to keep supporting the most important use cases. For + # example, zoom level 15 shows roads for orientation and planning in the local + # neighborhood and zoom level 17 shows buildings to give users on foot a sense + # of situational awareness. + # Corresponds to the JSON property `coordinates` + # @return [Google::Apis::VectortileV1::TileCoordinates] + attr_accessor :coordinates + + # A packed representation of a 2D grid of uniformly spaced points containing + # elevation data. Each point within the grid represents the altitude in + # meters above average sea level at that location within the tile. + # Elevations provided are (generally) relative to the EGM96 geoid, however + # some areas will be relative to NAVD88. EGM96 and NAVD88 are off by no more + # than 2 meters. + # The grid is oriented north-west to south-east, as illustrated: + # rows[0].a[0] rows[0].a[m] + # +-----------------+ + # | | + # | N | + # | ^ | + # | | | + # | W <-----> E | + # | | | + # | v | + # | S | + # | | + # +-----------------+ + # rows[n].a[0] rows[n].a[m] + # Rather than storing the altitudes directly, we store the diffs between them + # as integers at some requested level of precision to take advantage of + # integer packing. The actual altitude values a[] can be reconstructed using + # the scale and each row's first_altitude and altitude_diff fields. + # Corresponds to the JSON property `firstDerivative` + # @return [Google::Apis::VectortileV1::FirstDerivativeElevationGrid] + attr_accessor :first_derivative + + # Resource name of the tile. The tile resource name is prefixed by its + # collection ID `terrain/` followed by the resource ID, which encodes the + # tile's global x and y coordinates and zoom level as `@,,z`. + # For example, `terrain/@1,2,3z`. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # A packed representation of a 2D grid of uniformly spaced points containing + # elevation data. Each point within the grid represents the altitude in + # meters above average sea level at that location within the tile. + # Elevations provided are (generally) relative to the EGM96 geoid, however + # some areas will be relative to NAVD88. EGM96 and NAVD88 are off by no more + # than 2 meters. + # The grid is oriented north-west to south-east, as illustrated: + # rows[0].a[0] rows[0].a[m] + # +-----------------+ + # | | + # | N | + # | ^ | + # | | | + # | W <-----> E | + # | | | + # | v | + # | S | + # | | + # +-----------------+ + # rows[n].a[0] rows[n].a[m] + # Rather than storing the altitudes directly, we store the diffs of the diffs + # between them as integers at some requested level of precision to take + # advantage of integer packing. + # Note that the data is packed in such a way that is fast to decode in + # Unity and that further optimizes wire size. + # Corresponds to the JSON property `secondDerivative` + # @return [Google::Apis::VectortileV1::SecondDerivativeElevationGrid] + attr_accessor :second_derivative + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @coordinates = args[:coordinates] if args.key?(:coordinates) + @first_derivative = args[:first_derivative] if args.key?(:first_derivative) + @name = args[:name] if args.key?(:name) + @second_derivative = args[:second_derivative] if args.key?(:second_derivative) + end + end + + # Global tile coordinates. Global tile coordinates reference a specific tile on + # the map at a specific zoom level. + # The origin of this coordinate system is always at the northwest corner of the + # map, with x values increasing from west to east and y values increasing from + # north to south. Tiles are indexed using x, y coordinates from that origin. + # The zoom level containing the entire world in a tile is 0, and it increases + # as you zoom in. Zoom level n + 1 will contain 4 times as many tiles as zoom + # level n. + # The zoom level controls the level of detail of the data that is returned. In + # particular, this affects the set of feature types returned, their density, + # and geometry simplification. The exact tile contents may change over time, + # but care will be taken to keep supporting the most important use cases. For + # example, zoom level 15 shows roads for orientation and planning in the local + # neighborhood and zoom level 17 shows buildings to give users on foot a sense + # of situational awareness. + class TileCoordinates + include Google::Apis::Core::Hashable + + # Required. The x coordinate. + # Corresponds to the JSON property `x` + # @return [Fixnum] + attr_accessor :x + + # Required. The y coordinate. + # Corresponds to the JSON property `y` + # @return [Fixnum] + attr_accessor :y + + # Required. The Google Maps API zoom level. + # Corresponds to the JSON property `zoom` + # @return [Fixnum] + attr_accessor :zoom + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @x = args[:x] if args.key?(:x) + @y = args[:y] if args.key?(:y) + @zoom = args[:zoom] if args.key?(:zoom) + end + end + + # Represents a strip of triangles. Each triangle uses the last edge of the + # previous one. The following diagram shows an example of a triangle strip, + # with each vertex labeled with its index in the vertex_index array. + # (1)-----(3) + # / \ / \ + # / \ / \ + # / \ / \ + # (0)-----(2)-----(4) + # Vertices may be in either clockwise or counter-clockwise order. + class TriangleStrip + include Google::Apis::Core::Hashable + + # Index into the vertex_offset array representing the next vertex in the + # triangle strip. + # Corresponds to the JSON property `vertexIndices` + # @return [Array] + attr_accessor :vertex_indices + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @vertex_indices = args[:vertex_indices] if args.key?(:vertex_indices) + end + end + + # 2D vertex list used for lines and areas. Each entry represents an offset from + # the previous one in local tile coordinates. The first entry is offset from + # (0, 0). + # For example, the list of vertices [(1,1), (2, 2), (1, 2)] would be encoded + # in vertex offsets as [(1, 1), (1, 1), (-1, 0)]. + class Vertex2DList + include Google::Apis::Core::Hashable + + # List of x-offsets in local tile coordinates. + # Corresponds to the JSON property `xOffsets` + # @return [Array] + attr_accessor :x_offsets + + # List of y-offsets in local tile coordinates. + # Corresponds to the JSON property `yOffsets` + # @return [Array] + attr_accessor :y_offsets + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @x_offsets = args[:x_offsets] if args.key?(:x_offsets) + @y_offsets = args[:y_offsets] if args.key?(:y_offsets) + end + end + + # 3D vertex list used for modeled volumes. Each entry represents an offset from + # the previous one in local tile coordinates. The first coordinate is offset + # from (0, 0, 0). + class Vertex3DList + include Google::Apis::Core::Hashable + + # List of x-offsets in local tile coordinates. + # Corresponds to the JSON property `xOffsets` + # @return [Array] + attr_accessor :x_offsets + + # List of y-offsets in local tile coordinates. + # Corresponds to the JSON property `yOffsets` + # @return [Array] + attr_accessor :y_offsets + + # List of z-offsets in local tile coordinates. + # Corresponds to the JSON property `zOffsets` + # @return [Array] + attr_accessor :z_offsets + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @x_offsets = args[:x_offsets] if args.key?(:x_offsets) + @y_offsets = args[:y_offsets] if args.key?(:y_offsets) + @z_offsets = args[:z_offsets] if args.key?(:z_offsets) + end + end + end + end +end diff --git a/generated/google/apis/vectortile_v1/representations.rb b/generated/google/apis/vectortile_v1/representations.rb new file mode 100644 index 000000000..85bf6075e --- /dev/null +++ b/generated/google/apis/vectortile_v1/representations.rb @@ -0,0 +1,329 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'date' +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module VectortileV1 + + class Area + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ExtrudedArea + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Feature + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class FeatureTile + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class FirstDerivativeElevationGrid + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Geometry + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Line + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ModeledVolume + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ProviderInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Relation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class RoadInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Row + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SecondDerivativeElevationGrid + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class SegmentInfo + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TerrainTile + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TileCoordinates + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class TriangleStrip + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Vertex2DList + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Vertex3DList + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class Area + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :has_external_edges, as: 'hasExternalEdges' + collection :internal_edges, as: 'internalEdges' + collection :loop_breaks, as: 'loopBreaks' + collection :triangle_indices, as: 'triangleIndices' + property :type, as: 'type' + property :vertex_offsets, as: 'vertexOffsets', class: Google::Apis::VectortileV1::Vertex2DList, decorator: Google::Apis::VectortileV1::Vertex2DList::Representation + + property :z_order, as: 'zOrder' + end + end + + class ExtrudedArea + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :area, as: 'area', class: Google::Apis::VectortileV1::Area, decorator: Google::Apis::VectortileV1::Area::Representation + + property :max_z, as: 'maxZ' + property :min_z, as: 'minZ' + end + end + + class Feature + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :display_name, as: 'displayName' + property :geometry, as: 'geometry', class: Google::Apis::VectortileV1::Geometry, decorator: Google::Apis::VectortileV1::Geometry::Representation + + property :place_id, as: 'placeId' + collection :relations, as: 'relations', class: Google::Apis::VectortileV1::Relation, decorator: Google::Apis::VectortileV1::Relation::Representation + + property :segment_info, as: 'segmentInfo', class: Google::Apis::VectortileV1::SegmentInfo, decorator: Google::Apis::VectortileV1::SegmentInfo::Representation + + property :type, as: 'type' + end + end + + class FeatureTile + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :coordinates, as: 'coordinates', class: Google::Apis::VectortileV1::TileCoordinates, decorator: Google::Apis::VectortileV1::TileCoordinates::Representation + + collection :features, as: 'features', class: Google::Apis::VectortileV1::Feature, decorator: Google::Apis::VectortileV1::Feature::Representation + + property :name, as: 'name' + collection :providers, as: 'providers', class: Google::Apis::VectortileV1::ProviderInfo, decorator: Google::Apis::VectortileV1::ProviderInfo::Representation + + property :status, as: 'status' + property :version_id, as: 'versionId' + end + end + + class FirstDerivativeElevationGrid + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :altitude_multiplier, as: 'altitudeMultiplier' + collection :rows, as: 'rows', class: Google::Apis::VectortileV1::Row, decorator: Google::Apis::VectortileV1::Row::Representation + + end + end + + class Geometry + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :areas, as: 'areas', class: Google::Apis::VectortileV1::Area, decorator: Google::Apis::VectortileV1::Area::Representation + + collection :extruded_areas, as: 'extrudedAreas', class: Google::Apis::VectortileV1::ExtrudedArea, decorator: Google::Apis::VectortileV1::ExtrudedArea::Representation + + collection :lines, as: 'lines', class: Google::Apis::VectortileV1::Line, decorator: Google::Apis::VectortileV1::Line::Representation + + collection :modeled_volumes, as: 'modeledVolumes', class: Google::Apis::VectortileV1::ModeledVolume, decorator: Google::Apis::VectortileV1::ModeledVolume::Representation + + end + end + + class Line + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :vertex_offsets, as: 'vertexOffsets', class: Google::Apis::VectortileV1::Vertex2DList, decorator: Google::Apis::VectortileV1::Vertex2DList::Representation + + property :z_order, as: 'zOrder' + end + end + + class ModeledVolume + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :strips, as: 'strips', class: Google::Apis::VectortileV1::TriangleStrip, decorator: Google::Apis::VectortileV1::TriangleStrip::Representation + + property :vertex_offsets, as: 'vertexOffsets', class: Google::Apis::VectortileV1::Vertex3DList, decorator: Google::Apis::VectortileV1::Vertex3DList::Representation + + end + end + + class ProviderInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :description, as: 'description' + end + end + + class Relation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :related_feature_index, as: 'relatedFeatureIndex' + property :relation_type, as: 'relationType' + end + end + + class RoadInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :is_private, as: 'isPrivate' + end + end + + class Row + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :altitude_diffs, as: 'altitudeDiffs' + end + end + + class SecondDerivativeElevationGrid + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :altitude_multiplier, as: 'altitudeMultiplier' + property :column_count, as: 'columnCount' + property :encoded_data, :base64 => true, as: 'encodedData' + property :row_count, as: 'rowCount' + end + end + + class SegmentInfo + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :road_info, as: 'roadInfo', class: Google::Apis::VectortileV1::RoadInfo, decorator: Google::Apis::VectortileV1::RoadInfo::Representation + + end + end + + class TerrainTile + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :coordinates, as: 'coordinates', class: Google::Apis::VectortileV1::TileCoordinates, decorator: Google::Apis::VectortileV1::TileCoordinates::Representation + + property :first_derivative, as: 'firstDerivative', class: Google::Apis::VectortileV1::FirstDerivativeElevationGrid, decorator: Google::Apis::VectortileV1::FirstDerivativeElevationGrid::Representation + + property :name, as: 'name' + property :second_derivative, as: 'secondDerivative', class: Google::Apis::VectortileV1::SecondDerivativeElevationGrid, decorator: Google::Apis::VectortileV1::SecondDerivativeElevationGrid::Representation + + end + end + + class TileCoordinates + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :x, as: 'x' + property :y, as: 'y' + property :zoom, as: 'zoom' + end + end + + class TriangleStrip + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :vertex_indices, as: 'vertexIndices' + end + end + + class Vertex2DList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :x_offsets, as: 'xOffsets' + collection :y_offsets, as: 'yOffsets' + end + end + + class Vertex3DList + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :x_offsets, as: 'xOffsets' + collection :y_offsets, as: 'yOffsets' + collection :z_offsets, as: 'zOffsets' + end + end + end + end +end diff --git a/generated/google/apis/vectortile_v1/service.rb b/generated/google/apis/vectortile_v1/service.rb new file mode 100644 index 000000000..0218ed5cc --- /dev/null +++ b/generated/google/apis/vectortile_v1/service.rb @@ -0,0 +1,268 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'google/apis/core/base_service' +require 'google/apis/core/json_representation' +require 'google/apis/core/hashable' +require 'google/apis/errors' + +module Google + module Apis + module VectortileV1 + # Semantic Tile API + # + # Serves vector tiles containing geospatial data. + # + # @example + # require 'google/apis/vectortile_v1' + # + # Vectortile = Google::Apis::VectortileV1 # Alias the module + # service = Vectortile::SemanticTileService.new + # + # @see https://developers.google.com/maps/contact-sales/ + class SemanticTileService < Google::Apis::Core::BaseService + # @return [String] + # API key. Your API key identifies your project and provides you with API access, + # quota, and reports. Required unless you provide an OAuth 2.0 token. + attr_accessor :key + + # @return [String] + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + attr_accessor :quota_user + + def initialize + super('https://vectortile.googleapis.com/', '') + @batch_path = 'batch' + end + + # Gets a feature tile by its tile resource name. + # @param [String] name + # Required. Resource name of the tile. The tile resource name is prefixed by + # its collection ID `tiles/` followed by the resource ID, which encodes the + # tile's global x and y coordinates and zoom level as `@,,z`. + # For example, `tiles/@1,2,3z`. + # @param [String] client_info_api_client + # API client name and version. For example, the SDK calling the API. The + # exact format is up to the client. + # @param [String] client_info_application_id + # Application ID, such as the package name on Android and the bundle + # identifier on iOS platforms. + # @param [String] client_info_application_version + # Application version number, such as "1.2.3". The exact format is + # application-dependent. + # @param [String] client_info_device_model + # Device model as reported by the device. The exact format is + # platform-dependent. + # @param [String] client_info_operating_system + # Operating system name and version as reported by the OS. For example, + # "Mac OS X 10.10.4". The exact format is platform-dependent. + # @param [String] client_info_platform + # Platform where the application is running. + # @param [String] client_info_user_id + # A client-generated user ID. The ID should be generated and persisted during + # the first user session or whenever a pre-existing ID is not found. The + # exact format is up to the client. This must be non-empty in a + # GetFeatureTileRequest (whether via the header or + # GetFeatureTileRequest.client_info). + # @param [String] client_tile_version_id + # Optional version id identifying the tile that is already in the client's + # cache. This field should be populated with the most recent version_id value + # returned by the API for the requested tile. + # If the version id is empty the server always returns a newly rendered tile. + # If it is provided the server checks if the tile contents would be identical + # to one that's already on the client, and if so, returns a stripped-down + # response tile with STATUS_OK_DATA_UNCHANGED instead. + # @param [Boolean] enable_detailed_highway_types + # Flag indicating whether detailed highway types should be returned. If this + # is set, the CONTROLLED_ACCESS_HIGHWAY type may be returned. If not, then + # these highways will have the generic HIGHWAY type. + # This exists for backwards compatibility reasons. + # @param [Boolean] enable_feature_names + # Flag indicating whether human-readable names should be returned for + # features. If this is set, the display_name field on the feature will be + # filled out. + # @param [Boolean] enable_modeled_volumes + # Flag indicating whether 3D building models should be enabled. If this is + # set structures will be returned as 3D modeled volumes rather than 2.5D + # extruded areas where possible. + # @param [Boolean] enable_political_features + # Flag indicating whether political features should be returned. + # @param [Boolean] enable_private_roads + # Flag indicating whether the returned tile will contain road features that + # are marked private. Private roads are indicated by the + # Feature.segment_info.road_info.is_private field. + # @param [Boolean] enable_unclipped_buildings + # Flag indicating whether unclipped buildings should be returned. If this is + # set, building render ops will extend beyond the tile boundary. Buildings + # will only be returned on the tile that contains their centroid. + # @param [String] language_code + # Required. The BCP-47 language code corresponding to the language in which + # the name was requested, such as "en-US" or "sr-Latn". + # For more information, see + # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + # @param [String] region_code + # Required. The Unicode country/region code (CLDR) of the location from which + # the request is coming from, such as "US" and "419". + # For more information, see + # http://www.unicode.org/reports/tr35/#unicode_region_subtag. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::VectortileV1::FeatureTile] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::VectortileV1::FeatureTile] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_featuretile(name, client_info_api_client: nil, client_info_application_id: nil, client_info_application_version: nil, client_info_device_model: nil, client_info_operating_system: nil, client_info_platform: nil, client_info_user_id: nil, client_tile_version_id: nil, enable_detailed_highway_types: nil, enable_feature_names: nil, enable_modeled_volumes: nil, enable_political_features: nil, enable_private_roads: nil, enable_unclipped_buildings: nil, language_code: nil, region_code: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::VectortileV1::FeatureTile::Representation + command.response_class = Google::Apis::VectortileV1::FeatureTile + command.params['name'] = name unless name.nil? + command.query['clientInfo.apiClient'] = client_info_api_client unless client_info_api_client.nil? + command.query['clientInfo.applicationId'] = client_info_application_id unless client_info_application_id.nil? + command.query['clientInfo.applicationVersion'] = client_info_application_version unless client_info_application_version.nil? + command.query['clientInfo.deviceModel'] = client_info_device_model unless client_info_device_model.nil? + command.query['clientInfo.operatingSystem'] = client_info_operating_system unless client_info_operating_system.nil? + command.query['clientInfo.platform'] = client_info_platform unless client_info_platform.nil? + command.query['clientInfo.userId'] = client_info_user_id unless client_info_user_id.nil? + command.query['clientTileVersionId'] = client_tile_version_id unless client_tile_version_id.nil? + command.query['enableDetailedHighwayTypes'] = enable_detailed_highway_types unless enable_detailed_highway_types.nil? + command.query['enableFeatureNames'] = enable_feature_names unless enable_feature_names.nil? + command.query['enableModeledVolumes'] = enable_modeled_volumes unless enable_modeled_volumes.nil? + command.query['enablePoliticalFeatures'] = enable_political_features unless enable_political_features.nil? + command.query['enablePrivateRoads'] = enable_private_roads unless enable_private_roads.nil? + command.query['enableUnclippedBuildings'] = enable_unclipped_buildings unless enable_unclipped_buildings.nil? + command.query['languageCode'] = language_code unless language_code.nil? + command.query['regionCode'] = region_code unless region_code.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Gets a terrain tile by its tile resource name. + # @param [String] name + # Required. Resource name of the tile. The tile resource name is prefixed by + # its collection ID `terraintiles/` followed by the resource ID, which + # encodes the tile's global x and y coordinates and zoom level as + # `@,,z`. For example, `terraintiles/@1,2,3z`. + # @param [Fixnum] altitude_precision_centimeters + # The precision of terrain altitudes in centimeters. + # Possible values: between 1 (cm level precision) and 1,000,000 (10-kilometer + # level precision). + # @param [String] client_info_api_client + # API client name and version. For example, the SDK calling the API. The + # exact format is up to the client. + # @param [String] client_info_application_id + # Application ID, such as the package name on Android and the bundle + # identifier on iOS platforms. + # @param [String] client_info_application_version + # Application version number, such as "1.2.3". The exact format is + # application-dependent. + # @param [String] client_info_device_model + # Device model as reported by the device. The exact format is + # platform-dependent. + # @param [String] client_info_operating_system + # Operating system name and version as reported by the OS. For example, + # "Mac OS X 10.10.4". The exact format is platform-dependent. + # @param [String] client_info_platform + # Platform where the application is running. + # @param [String] client_info_user_id + # A client-generated user ID. The ID should be generated and persisted during + # the first user session or whenever a pre-existing ID is not found. The + # exact format is up to the client. This must be non-empty in a + # GetFeatureTileRequest (whether via the header or + # GetFeatureTileRequest.client_info). + # @param [Fixnum] max_elevation_resolution_cells + # The maximum allowed resolution for the returned elevation heightmap. + # Possible values: between 1 and 1024 (and not less than + # min_elevation_resolution_cells). + # Over-sized heightmaps will be non-uniformly down-sampled such that each + # edge is no longer than this value. Non-uniformity is chosen to maximise the + # amount of preserved data. + # For example: + # Original resolution: 100px (width) * 30px (height) + # max_elevation_resolution: 30 + # New resolution: 30px (width) * 30px (height) + # @param [Fixnum] min_elevation_resolution_cells + # The minimum allowed resolution for the returned elevation heightmap. + # Possible values: between 0 and 1024 (and not more than + # max_elevation_resolution_cells). Zero is supported for backward + # compatibility. + # Under-sized heightmaps will be non-uniformly up-sampled + # such that each edge is no shorter than this value. Non-uniformity is chosen + # to maximise the amount of preserved data. + # For example: + # Original resolution: 30px (width) * 10px (height) + # min_elevation_resolution: 30 + # New resolution: 30px (width) * 30px (height) + # @param [Array, String] terrain_formats + # Terrain formats that the client understands. + # @param [String] fields + # Selector specifying which fields to include in a partial response. + # @param [String] quota_user + # Available to use for quota purposes for server-side applications. Can be any + # arbitrary string assigned to a user, but should not exceed 40 characters. + # @param [Google::Apis::RequestOptions] options + # Request-specific options + # + # @yield [result, err] Result & error if block supplied + # @yieldparam result [Google::Apis::VectortileV1::TerrainTile] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::VectortileV1::TerrainTile] + # + # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried + # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification + # @raise [Google::Apis::AuthorizationError] Authorization is required + def get_terraintile(name, altitude_precision_centimeters: nil, client_info_api_client: nil, client_info_application_id: nil, client_info_application_version: nil, client_info_device_model: nil, client_info_operating_system: nil, client_info_platform: nil, client_info_user_id: nil, max_elevation_resolution_cells: nil, min_elevation_resolution_cells: nil, terrain_formats: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v1/{+name}', options) + command.response_representation = Google::Apis::VectortileV1::TerrainTile::Representation + command.response_class = Google::Apis::VectortileV1::TerrainTile + command.params['name'] = name unless name.nil? + command.query['altitudePrecisionCentimeters'] = altitude_precision_centimeters unless altitude_precision_centimeters.nil? + command.query['clientInfo.apiClient'] = client_info_api_client unless client_info_api_client.nil? + command.query['clientInfo.applicationId'] = client_info_application_id unless client_info_application_id.nil? + command.query['clientInfo.applicationVersion'] = client_info_application_version unless client_info_application_version.nil? + command.query['clientInfo.deviceModel'] = client_info_device_model unless client_info_device_model.nil? + command.query['clientInfo.operatingSystem'] = client_info_operating_system unless client_info_operating_system.nil? + command.query['clientInfo.platform'] = client_info_platform unless client_info_platform.nil? + command.query['clientInfo.userId'] = client_info_user_id unless client_info_user_id.nil? + command.query['maxElevationResolutionCells'] = max_elevation_resolution_cells unless max_elevation_resolution_cells.nil? + command.query['minElevationResolutionCells'] = min_elevation_resolution_cells unless min_elevation_resolution_cells.nil? + command.query['terrainFormats'] = terrain_formats unless terrain_formats.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + protected + + def apply_command_defaults(command) + command.query['key'] = key unless key.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + end + end + end + end +end