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
This commit is contained in:
Google APIs 2020-06-25 00:37:57 +00:00
parent b7da348cd1
commit 4630b98e3a
47 changed files with 2428 additions and 54 deletions

View File

@ -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'

View File

@ -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<Google::Apis::AdminDirectoryV1::ChromeOsDevice::LastKnownNetwork>]
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

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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<String,Google::Apis::CloudassetV1::Permissions>]
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<String>]
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<String>]
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<String,Object>]
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<String,String>]
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<String>]
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<Google::Apis::CloudassetV1::IamPolicySearchResult>]
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<Google::Apis::CloudassetV1::ResourceSearchResult>]
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

View File

@ -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

View File

@ -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>, 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

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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.

View File

@ -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'

View File

@ -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.

View File

@ -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'

View File

@ -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<String,String>]
attr_accessor :attributes

View File

@ -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'

View File

@ -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

View File

@ -323,6 +323,19 @@ module Google
# <a href="/composer/docs/concepts/versioning/composer-versions">Cloud
# Composer Version List</a> for valid values.</td>
# </tr>
# <tr>
# <td>config.databaseConfig.machineType</td>
# <td>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.</td>
# </tr>
# <tr>
# <td>config.webServerConfig.machineType</td>
# <td>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.
# </td>
# </tr>
# </tbody>
# </table>
# @param [String] fields

View File

@ -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'

View File

@ -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:

View File

@ -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'

View File

@ -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<Google::Apis::DatacatalogV1beta1::GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue>]
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

View File

@ -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

View File

@ -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.

View File

@ -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'

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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'

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -2681,6 +2681,7 @@ module Google
# * `min` minute
# * `h` hour
# * `d` day
# * `1` dimensionless
# **Prefixes (PREFIX)**
# * `k` kilo (10^3)
# * `M` mega (10^6)

View File

@ -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'

View File

@ -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.

View File

@ -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

View File

@ -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<Fixnum>]
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<Fixnum>]
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<Fixnum>]
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<Google::Apis::VectortileV1::Relation>]
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<Google::Apis::VectortileV1::Feature>]
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 `@<x>,<y>,<zoom>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<Google::Apis::VectortileV1::ProviderInfo>]
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<Google::Apis::VectortileV1::Row>]
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<Google::Apis::VectortileV1::Area>]
attr_accessor :areas
# The extruded areas present in this geometry.
# Corresponds to the JSON property `extrudedAreas`
# @return [Array<Google::Apis::VectortileV1::ExtrudedArea>]
attr_accessor :extruded_areas
# The lines present in this geometry.
# Corresponds to the JSON property `lines`
# @return [Array<Google::Apis::VectortileV1::Line>]
attr_accessor :lines
# The modeled volumes present in this geometry.
# Corresponds to the JSON property `modeledVolumes`
# @return [Array<Google::Apis::VectortileV1::ModeledVolume>]
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<Google::Apis::VectortileV1::TriangleStrip>]
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<Fixnum>]
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 `@<x>,<y>,<zoom>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<Fixnum>]
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<Fixnum>]
attr_accessor :x_offsets
# List of y-offsets in local tile coordinates.
# Corresponds to the JSON property `yOffsets`
# @return [Array<Fixnum>]
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<Fixnum>]
attr_accessor :x_offsets
# List of y-offsets in local tile coordinates.
# Corresponds to the JSON property `yOffsets`
# @return [Array<Fixnum>]
attr_accessor :y_offsets
# List of z-offsets in local tile coordinates.
# Corresponds to the JSON property `zOffsets`
# @return [Array<Fixnum>]
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

View File

@ -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

View File

@ -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 `@<x>,<y>,<zoom>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
# `@<x>,<y>,<zoom>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>, 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