# 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 CloudtraceV2beta1 # A generic empty message that you can re-use to avoid defining duplicated # empty messages in your APIs. A typical example is to use it as the request # or the response type of an API method. For instance: # service Foo ` # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); # ` # The JSON representation for `Empty` is empty JSON object ````. class Empty include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Result returned from `ListTraceSinks`. class ListTraceSinksResponse include Google::Apis::Core::Hashable # If there might be more results than appear in this response, then # `nextPageToken` is included. To get the next set of results, call the same # method again using the value of `nextPageToken` as `pageToken`. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # A list of sinks. # Corresponds to the JSON property `sinks` # @return [Array] attr_accessor :sinks 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) @sinks = args[:sinks] if args.key?(:sinks) end end # OutputConfig contains a destination for writing trace data. class OutputConfig include Google::Apis::Core::Hashable # The destination for writing trace data. Currently only BigQuery is # supported. E.g.: # "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" # Corresponds to the JSON property `destination` # @return [String] attr_accessor :destination def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @destination = args[:destination] if args.key?(:destination) end end # Describes a sink used to export traces to a BigQuery dataset. The sink must # be created within a project. class TraceSink include Google::Apis::Core::Hashable # Required. The canonical sink resource name, unique within the project. Must be # of the # form: # project/[PROJECT_NUMBER]/traceSinks/[SINK_ID]. # E.g.: # `"projects/12345/traceSinks/my-project-trace-sink"`. # Sink identifiers are limited to 256 characters and can include only the # following characters: upper and lower-case alphanumeric characters, # underscores, hyphens, and periods. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # OutputConfig contains a destination for writing trace data. # Corresponds to the JSON property `outputConfig` # @return [Google::Apis::CloudtraceV2beta1::OutputConfig] attr_accessor :output_config # Output only. A service account name for exporting the data. This field is # set by sinks.create and sinks.update. The service account will need to be # granted write access to the destination specified in the output # configuration, see [Granting access for a # resource](/iam/docs/granting-roles-to-service-accounts# # granting_access_to_a_service_account_for_a_resource). # To create tables and write data this account will need the dataEditor role. # Read more about roles in the [BigQuery # documentation](https://cloud.google.com/bigquery/docs/access-control). # E.g.: # "service-00000001@00000002.iam.gserviceaccount.com" # Corresponds to the JSON property `writerIdentity` # @return [String] attr_accessor :writer_identity def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @output_config = args[:output_config] if args.key?(:output_config) @writer_identity = args[:writer_identity] if args.key?(:writer_identity) end end end end end