lib/google/cloud/monitoring.rb in google-cloud-monitoring-0.27.0 vs lib/google/cloud/monitoring.rb in google-cloud-monitoring-0.28.0

- old
+ new

@@ -1,6 +1,6 @@ -# Copyright 2017 Google LLC +# Copyright 2018 Google LLC # # 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 # @@ -21,22 +21,23 @@ ## # # Ruby Client for Stackdriver Monitoring API ([Beta](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning)) # # [Stackdriver Monitoring API][Product Documentation]: - # Manages your Stackdriver Monitoring data and configurations. Most projects must - # be associated with a Stackdriver account, with a few exceptions as noted on the - # individual method pages. + # Manages your Stackdriver Monitoring data and configurations. Most projects + # must be associated with a Stackdriver account, with a few exceptions as + # noted on the individual method pages. # - [Product Documentation][] # # ## Quick Start # In order to use this library, you first need to go through the following # steps: # # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project) - # 2. [Enable the Stackdriver Monitoring API.](https://console.cloud.google.com/apis/api/monitoring) - # 3. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication) + # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project) + # 3. [Enable the Stackdriver Monitoring API.](https://console.cloud.google.com/apis/api/monitoring) + # 4. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication) # # ### Preview # #### MetricServiceClient # ```rb # require "google/cloud/monitoring" @@ -76,10 +77,65 @@ .select { |file| File.directory?(file) } .select { |dir| Google::Gax::VERSION_MATCHER.match(File.basename(dir)) } .select { |dir| File.exist?(dir + ".rb") } .map { |dir| File.basename(dir) } + module AlertPolicy + ## + # The AlertPolicyService API is used to manage (list, create, delete, + # edit) alert policies in Stackdriver Monitoring. An alerting policy is + # a description of the conditions under which some aspect of your + # system is considered to be "unhealthy" and the ways to notify + # people or services about this state. In addition to using this API, alert + # policies can also be managed through + # [Stackdriver Monitoring](https://cloud.google.com/monitoring/docs/), + # which can be reached by clicking the "Monitoring" tab in + # [Cloud Console](https://console.cloud.google.com/). + # + # @param version [Symbol, String] + # The major version of the service to be used. By default :v3 + # is used. + # @overload new(version:, credentials:, scopes:, client_config:, timeout:) + # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc] + # Provides the means for authenticating requests made by the client. This parameter can + # be many types. + # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for + # authenticating requests made by this client. + # A `String` will be treated as the path to the keyfile to be used for the construction of + # credentials for this client. + # A `Hash` will be treated as the contents of a keyfile to be used for the construction of + # credentials for this client. + # A `GRPC::Core::Channel` will be used to make calls through. + # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials + # should already be composed with a `GRPC::Core::CallCredentials` object. + # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the + # metadata for requests, generally, to give OAuth credentials. + # @param scopes [Array<String>] + # The OAuth scopes for this service. This parameter is ignored if + # an updater_proc is supplied. + # @param client_config [Hash] + # A Hash for call options for each method. See + # Google::Gax#construct_settings for the structure of + # this data. Falls back to the default config if not specified + # or the specified config is missing data points. + # @param timeout [Numeric] + # The default timeout, in seconds, for calls made through this client. + def self.new(*args, version: :v3, **kwargs) + unless AVAILABLE_VERSIONS.include?(version.to_s.downcase) + raise "The version: #{version} is not available. The available versions " \ + "are: [#{AVAILABLE_VERSIONS.join(", ")}]" + end + + require "#{FILE_DIR}/#{version.to_s.downcase}" + version_module = Google::Cloud::Monitoring + .constants + .select {|sym| sym.to_s.downcase == version.to_s.downcase} + .first + Google::Cloud::Monitoring.const_get(version_module)::AlertPolicy.new(*args, **kwargs) + end + end + module Group ## # The Group API lets you inspect and manage your # [groups](https://cloud.google.comgoogle.monitoring.v3.Group). # @@ -179,9 +235,111 @@ version_module = Google::Cloud::Monitoring .constants .select {|sym| sym.to_s.downcase == version.to_s.downcase} .first Google::Cloud::Monitoring.const_get(version_module)::Metric.new(*args, **kwargs) + end + end + + module NotificationChannel + ## + # The Notification Channel API provides access to configuration that + # controls how messages related to incidents are sent. + # + # @param version [Symbol, String] + # The major version of the service to be used. By default :v3 + # is used. + # @overload new(version:, credentials:, scopes:, client_config:, timeout:) + # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc] + # Provides the means for authenticating requests made by the client. This parameter can + # be many types. + # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for + # authenticating requests made by this client. + # A `String` will be treated as the path to the keyfile to be used for the construction of + # credentials for this client. + # A `Hash` will be treated as the contents of a keyfile to be used for the construction of + # credentials for this client. + # A `GRPC::Core::Channel` will be used to make calls through. + # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials + # should already be composed with a `GRPC::Core::CallCredentials` object. + # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the + # metadata for requests, generally, to give OAuth credentials. + # @param scopes [Array<String>] + # The OAuth scopes for this service. This parameter is ignored if + # an updater_proc is supplied. + # @param client_config [Hash] + # A Hash for call options for each method. See + # Google::Gax#construct_settings for the structure of + # this data. Falls back to the default config if not specified + # or the specified config is missing data points. + # @param timeout [Numeric] + # The default timeout, in seconds, for calls made through this client. + def self.new(*args, version: :v3, **kwargs) + unless AVAILABLE_VERSIONS.include?(version.to_s.downcase) + raise "The version: #{version} is not available. The available versions " \ + "are: [#{AVAILABLE_VERSIONS.join(", ")}]" + end + + require "#{FILE_DIR}/#{version.to_s.downcase}" + version_module = Google::Cloud::Monitoring + .constants + .select {|sym| sym.to_s.downcase == version.to_s.downcase} + .first + Google::Cloud::Monitoring.const_get(version_module)::NotificationChannel.new(*args, **kwargs) + end + end + + module UptimeCheck + ## + # The UptimeCheckService API is used to manage (list, create, delete, edit) + # uptime check configurations in the Stackdriver Monitoring product. An uptime + # check is a piece of configuration that determines which resources and + # services to monitor for availability. These configurations can also be + # configured interactively by navigating to the [Cloud Console] + # (http://console.cloud.google.com), selecting the appropriate project, + # clicking on "Monitoring" on the left-hand side to navigate to Stackdriver, + # and then clicking on "Uptime". + # + # @param version [Symbol, String] + # The major version of the service to be used. By default :v3 + # is used. + # @overload new(version:, credentials:, scopes:, client_config:, timeout:) + # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc] + # Provides the means for authenticating requests made by the client. This parameter can + # be many types. + # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for + # authenticating requests made by this client. + # A `String` will be treated as the path to the keyfile to be used for the construction of + # credentials for this client. + # A `Hash` will be treated as the contents of a keyfile to be used for the construction of + # credentials for this client. + # A `GRPC::Core::Channel` will be used to make calls through. + # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials + # should already be composed with a `GRPC::Core::CallCredentials` object. + # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the + # metadata for requests, generally, to give OAuth credentials. + # @param scopes [Array<String>] + # The OAuth scopes for this service. This parameter is ignored if + # an updater_proc is supplied. + # @param client_config [Hash] + # A Hash for call options for each method. See + # Google::Gax#construct_settings for the structure of + # this data. Falls back to the default config if not specified + # or the specified config is missing data points. + # @param timeout [Numeric] + # The default timeout, in seconds, for calls made through this client. + def self.new(*args, version: :v3, **kwargs) + unless AVAILABLE_VERSIONS.include?(version.to_s.downcase) + raise "The version: #{version} is not available. The available versions " \ + "are: [#{AVAILABLE_VERSIONS.join(", ")}]" + end + + require "#{FILE_DIR}/#{version.to_s.downcase}" + version_module = Google::Cloud::Monitoring + .constants + .select {|sym| sym.to_s.downcase == version.to_s.downcase} + .first + Google::Cloud::Monitoring.const_get(version_module)::UptimeCheck.new(*args, **kwargs) end end end end end