diff --git a/generated/google/apis/bigquery_v2.rb b/generated/google/apis/bigquery_v2.rb index f8fc9b609..cd0b632a3 100644 --- a/generated/google/apis/bigquery_v2.rb +++ b/generated/google/apis/bigquery_v2.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/bigquery/ module BigqueryV2 VERSION = 'V2' - REVISION = '20191019' + REVISION = '20191105' # View and manage your data in Google BigQuery AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery' diff --git a/generated/google/apis/bigquery_v2/classes.rb b/generated/google/apis/bigquery_v2/classes.rb index 25779c087..321fa15f7 100644 --- a/generated/google/apis/bigquery_v2/classes.rb +++ b/generated/google/apis/bigquery_v2/classes.rb @@ -3582,9 +3582,10 @@ module Google # @return [String] attr_accessor :next_page_token - # Routines in the requested dataset. Only the following fields are populated: + # Routines in the requested dataset. Unless read_mask is set in the request, + # only the following fields are populated: # etag, project_id, dataset_id, routine_id, routine_type, creation_time, - # last_modified_time, language. + # last_modified_time, and language. # Corresponds to the JSON property `routines` # @return [Array] attr_accessor :routines @@ -3626,6 +3627,13 @@ module Google class MaterializedViewDefinition include Google::Apis::Core::Hashable + # [Optional] [TrustedTester] Enable automatic refresh of the materialized view + # when the base table is updated. The default value is "true". + # Corresponds to the JSON property `enableRefresh` + # @return [Boolean] + attr_accessor :enable_refresh + alias_method :enable_refresh?, :enable_refresh + # [Output-only] [TrustedTester] The time when this materialized view was last # modified, in milliseconds since the epoch. # Corresponds to the JSON property `lastRefreshTime` @@ -3637,14 +3645,22 @@ module Google # @return [String] attr_accessor :query + # [Optional] [TrustedTester] The maximum frequency at which this materialized + # view will be refreshed. The default value is "1800000" (30 minutes). + # Corresponds to the JSON property `refreshIntervalMs` + # @return [Fixnum] + attr_accessor :refresh_interval_ms + def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) + @enable_refresh = args[:enable_refresh] if args.key?(:enable_refresh) @last_refresh_time = args[:last_refresh_time] if args.key?(:last_refresh_time) @query = args[:query] if args.key?(:query) + @refresh_interval_ms = args[:refresh_interval_ms] if args.key?(:refresh_interval_ms) end end @@ -4976,8 +4992,8 @@ module Google # @return [Google::Apis::BigqueryV2::RangePartitioning] attr_accessor :range_partitioning - # [Beta] [Optional] If set to true, queries over this table require a partition - # filter that can be used for partition elimination to be specified. + # [Optional] If set to true, queries over this table require a partition filter + # that can be used for partition elimination to be specified. # Corresponds to the JSON property `requirePartitionFilter` # @return [Boolean] attr_accessor :require_partition_filter @@ -5289,6 +5305,11 @@ module Google # @return [String] attr_accessor :name + # + # Corresponds to the JSON property `policyTags` + # @return [Google::Apis::BigqueryV2::TableFieldSchema::PolicyTags] + attr_accessor :policy_tags + # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, # INT64 (same as INTEGER), FLOAT, FLOAT64 (same as FLOAT), BOOLEAN, BOOL (same # as BOOLEAN), TIMESTAMP, DATE, TIME, DATETIME, RECORD (where RECORD indicates @@ -5308,6 +5329,7 @@ module Google @fields = args[:fields] if args.key?(:fields) @mode = args[:mode] if args.key?(:mode) @name = args[:name] if args.key?(:name) + @policy_tags = args[:policy_tags] if args.key?(:policy_tags) @type = args[:type] if args.key?(:type) end @@ -5331,6 +5353,26 @@ module Google @names = args[:names] if args.key?(:names) end end + + # + class PolicyTags + include Google::Apis::Core::Hashable + + # A list of category resource names. For example, "projects/1/location/eu/ + # taxonomies/2/policyTags/3". At most 1 policy tag is allowed. + # Corresponds to the JSON property `names` + # @return [Array] + attr_accessor :names + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @names = args[:names] if args.key?(:names) + end + end end # diff --git a/generated/google/apis/bigquery_v2/representations.rb b/generated/google/apis/bigquery_v2/representations.rb index 1383d3616..389751df1 100644 --- a/generated/google/apis/bigquery_v2/representations.rb +++ b/generated/google/apis/bigquery_v2/representations.rb @@ -624,6 +624,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + + class PolicyTags + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end include Google::Apis::Core::JsonObjectSupport end @@ -1550,8 +1556,10 @@ module Google class MaterializedViewDefinition # @private class Representation < Google::Apis::Core::JsonRepresentation + property :enable_refresh, as: 'enableRefresh' property :last_refresh_time, :numeric_string => true, as: 'lastRefreshTime' property :query, as: 'query' + property :refresh_interval_ms, :numeric_string => true, as: 'refreshIntervalMs' end end @@ -1981,6 +1989,8 @@ module Google property :mode, as: 'mode' property :name, as: 'name' + property :policy_tags, as: 'policyTags', class: Google::Apis::BigqueryV2::TableFieldSchema::PolicyTags, decorator: Google::Apis::BigqueryV2::TableFieldSchema::PolicyTags::Representation + property :type, as: 'type' end @@ -1990,6 +2000,13 @@ module Google collection :names, as: 'names' end end + + class PolicyTags + # @private + class Representation < Google::Apis::Core::JsonRepresentation + collection :names, as: 'names' + end + end end class TableList diff --git a/generated/google/apis/bigquery_v2/service.rb b/generated/google/apis/bigquery_v2/service.rb index f3dd0a772..0a1acfa59 100644 --- a/generated/google/apis/bigquery_v2/service.rb +++ b/generated/google/apis/bigquery_v2/service.rb @@ -858,9 +858,6 @@ module Google # Required. Dataset ID of the requested routine # @param [String] routine_id # Required. Routine ID of the requested routine - # @param [String] field_mask - # If set, only the Routine fields in the field mask are returned in the - # response. If unset, all Routine fields are returned. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user @@ -880,14 +877,13 @@ module Google # @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_routine(project_id, dataset_id, routine_id, field_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) + def get_routine(project_id, dataset_id, routine_id, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{+projectId}/datasets/{+datasetId}/routines/{+routineId}', options) command.response_representation = Google::Apis::BigqueryV2::Routine::Representation command.response_class = Google::Apis::BigqueryV2::Routine command.params['projectId'] = project_id unless project_id.nil? command.params['datasetId'] = dataset_id unless dataset_id.nil? command.params['routineId'] = routine_id unless routine_id.nil? - command.query['fieldMask'] = field_mask unless field_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? diff --git a/generated/google/apis/bigqueryconnection_v1beta1.rb b/generated/google/apis/bigqueryconnection_v1beta1.rb index 9fe2a6ebe..5f7a64fdd 100644 --- a/generated/google/apis/bigqueryconnection_v1beta1.rb +++ b/generated/google/apis/bigqueryconnection_v1beta1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/bigquery/ module BigqueryconnectionV1beta1 VERSION = 'V1beta1' - REVISION = '20191011' + REVISION = '20191105' # View and manage your data in Google BigQuery AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery' diff --git a/generated/google/apis/bigqueryconnection_v1beta1/classes.rb b/generated/google/apis/bigqueryconnection_v1beta1/classes.rb index 6e52294b1..eafe8b677 100644 --- a/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +++ b/generated/google/apis/bigqueryconnection_v1beta1/classes.rb @@ -162,6 +162,23 @@ module Google # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. # For example, `admins@example.com`. + # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a user that has been recently deleted. For + # example,`alice@example.com?uid=123456789012345678901`. If the user is + # recovered, this value reverts to `user:`emailid`` and the recovered user + # retains the role in the binding. + # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus + # unique identifier) representing a service account that has been recently + # deleted. For example, + # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to + # `serviceAccount:`emailid`` and the undeleted service account retains the + # role in the binding. + # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently + # deleted. For example, `admins@example.com?uid=123456789012345678901`. If + # the group is recovered, this value reverts to `group:`emailid`` and the + # recovered group retains the role in the binding. # * `domain:`domain``: The G Suite domain (primary) that represents all the # users of that domain. For example, `google.com` or `example.com`. # Corresponds to the JSON property `members` diff --git a/generated/google/apis/monitoring_v3.rb b/generated/google/apis/monitoring_v3.rb index 02f6de5f4..8f82a5b3d 100644 --- a/generated/google/apis/monitoring_v3.rb +++ b/generated/google/apis/monitoring_v3.rb @@ -30,7 +30,7 @@ module Google # @see https://cloud.google.com/monitoring/api/ module MonitoringV3 VERSION = 'V3' - REVISION = '20191102' + REVISION = '20191111' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/monitoring_v3/classes.rb b/generated/google/apis/monitoring_v3/classes.rb index 77e6ac481..21241f535 100644 --- a/generated/google/apis/monitoring_v3/classes.rb +++ b/generated/google/apis/monitoring_v3/classes.rb @@ -201,6 +201,40 @@ module Google end end + # App Engine service. Learn more at https://cloud.google.com/appengine. + class AppEngine + include Google::Apis::Core::Hashable + + # The ID of the App Engine module underlying this service. Corresponds to the + # module_id resource label in the gae_app monitored resource: https://cloud. + # google.com/monitoring/api/resources#tag_gae_app + # Corresponds to the JSON property `moduleId` + # @return [String] + attr_accessor :module_id + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @module_id = args[:module_id] if args.key?(:module_id) + end + end + + # Future parameters for the availability SLI. + class AvailabilityCriteria + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + # The authentication parameters to provide to the specified resource or URL that # requires a username and password. Currently, only Basic HTTP authentication ( # https://tools.ietf.org/html/rfc7617) is supported in Uptime checks. @@ -228,6 +262,63 @@ module Google end end + # An SLI measuring performance on a well-known service type. Performance will be + # computed on the basis of pre-defined metrics. The type of the service_resource + # determines the metrics to use and the service_resource.labels and + # metric_labels are used to construct a monitoring filter to filter that metric + # down to just the data relevant to this service. + class BasicSli + include Google::Apis::Core::Hashable + + # Future parameters for the availability SLI. + # Corresponds to the JSON property `availability` + # @return [Google::Apis::MonitoringV3::AvailabilityCriteria] + attr_accessor :availability + + # Parameters for a latency threshold SLI. + # Corresponds to the JSON property `latency` + # @return [Google::Apis::MonitoringV3::LatencyCriteria] + attr_accessor :latency + + # OPTIONAL: The set of locations to which this SLI is relevant. Telemetry from + # other locations will not be used to calculate performance for this SLI. If + # omitted, this SLI applies to all locations in which the Service has activity. + # For service types that don't support breaking down by location, setting this + # field will result in an error. + # Corresponds to the JSON property `location` + # @return [Array] + attr_accessor :location + + # OPTIONAL: The set of RPCs to which this SLI is relevant. Telemetry from other + # methods will not be used to calculate performance for this SLI. If omitted, + # this SLI applies to all the Service's methods. For service types that don't + # support breaking down by method, setting this field will result in an error. + # Corresponds to the JSON property `method` + # @return [Array] + attr_accessor :method_prop + + # OPTIONAL: The set of API versions to which this SLI is relevant. Telemetry + # from other API versions will not be used to calculate performance for this SLI. + # If omitted, this SLI applies to all API versions. For service types that don' + # t support breaking down by version, setting this field will result in an error. + # Corresponds to the JSON property `version` + # @return [Array] + attr_accessor :version + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @availability = args[:availability] if args.key?(:availability) + @latency = args[:latency] if args.key?(:latency) + @location = args[:location] if args.key?(:location) + @method_prop = args[:method_prop] if args.key?(:method_prop) + @version = args[:version] if args.key?(:version) + end + end + # BucketOptions describes the bucket boundaries used to create a histogram for # the distribution. The buckets can be in a linear sequence, an exponential # sequence, or each bucket can be specified explicitly. BucketOptions does not @@ -286,6 +377,68 @@ module Google end end + # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints. + class CloudEndpoints + include Google::Apis::Core::Hashable + + # The name of the Cloud Endpoints service underlying this service. Corresponds + # to the service resource label in the api monitored resource: https://cloud. + # google.com/monitoring/api/resources#tag_api + # Corresponds to the JSON property `service` + # @return [String] + attr_accessor :service + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @service = args[:service] if args.key?(:service) + end + end + + # Istio service. Learn more at http://istio.io. + class ClusterIstio + include Google::Apis::Core::Hashable + + # The name of the Kubernetes cluster in which this Istio service is defined. + # Corresponds to the cluster_name resource label in k8s_cluster resources. + # Corresponds to the JSON property `clusterName` + # @return [String] + attr_accessor :cluster_name + + # The location of the Kubernetes cluster in which this Istio service is defined. + # Corresponds to the location resource label in k8s_cluster resources. + # Corresponds to the JSON property `location` + # @return [String] + attr_accessor :location + + # The name of the Istio service underlying this service. Corresponds to the + # destination_service_name metric label in Istio metrics. + # Corresponds to the JSON property `serviceName` + # @return [String] + attr_accessor :service_name + + # The namespace of the Istio service underlying this service. Corresponds to the + # destination_service_namespace metric label in Istio metrics. + # Corresponds to the JSON property `serviceNamespace` + # @return [String] + attr_accessor :service_namespace + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @cluster_name = args[:cluster_name] if args.key?(:cluster_name) + @location = args[:location] if args.key?(:location) + @service_name = args[:service_name] if args.key?(:service_name) + @service_namespace = args[:service_namespace] if args.key?(:service_namespace) + end + end + # A collection of data points sent from a collectd-based plugin. See the # collectd documentation for more information. class CollectdPayload @@ -665,6 +818,20 @@ module Google end end + # Custom view of service telemetry. Currently a place-holder pending final + # design. + class Custom + include Google::Apis::Core::Hashable + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + end + end + # Distribution contains summary statistics for a population of values. It # optionally contains a histogram representing the distribution of those values # across a set of buckets.The summary statistics are the count, mean, sum of the @@ -756,6 +923,39 @@ module Google end end + # A DistributionCut defines a TimeSeries and thresholds used for measuring good + # service and total service. The TimeSeries must have ValueType = + # DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed + # good_service will be the count of values x in the Distribution such that range. + # min <= x < range.max. + class DistributionCut + include Google::Apis::Core::Hashable + + # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) + # specifying a TimeSeries aggregating values. Must have ValueType = + # DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. + # Corresponds to the JSON property `distributionFilter` + # @return [String] + attr_accessor :distribution_filter + + # Range of numerical values, inclusive of min and exclusive of max. If the open + # range "< range.max" is desired, set range.min = -infinity. If the open range "> + # = range.min" is desired, set range.max = infinity. + # Corresponds to the JSON property `range` + # @return [Google::Apis::MonitoringV3::GoogleMonitoringV3Range] + attr_accessor :range + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @distribution_filter = args[:distribution_filter] if args.key?(:distribution_filter) + @range = args[:range] if args.key?(:range) + end + end + # A content string and a MIME type that describes the content string's format. class Documentation include Google::Apis::Core::Hashable @@ -1097,6 +1297,33 @@ module Google end end + # Range of numerical values, inclusive of min and exclusive of max. If the open + # range "< range.max" is desired, set range.min = -infinity. If the open range "> + # = range.min" is desired, set range.max = infinity. + class GoogleMonitoringV3Range + include Google::Apis::Core::Hashable + + # Range maximum. + # Corresponds to the JSON property `max` + # @return [Float] + attr_accessor :max + + # Range minimum. + # Corresponds to the JSON property `min` + # @return [Float] + attr_accessor :min + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @max = args[:max] if args.key?(:max) + @min = args[:min] if args.key?(:min) + end + end + # The description of a dynamic collection of monitored resources. Each group has # a filter that is matched against monitored resources and their associated # metadata. If a group's filter matches an available monitored resource, then @@ -1337,6 +1564,26 @@ module Google end end + # Parameters for a latency threshold SLI. + class LatencyCriteria + include Google::Apis::Core::Hashable + + # Good service is defined to be the count of requests made to this service that + # return in no more than threshold. + # Corresponds to the JSON property `threshold` + # @return [String] + attr_accessor :threshold + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @threshold = args[:threshold] if args.key?(:threshold) + end + end + # Specifies a linear sequence of buckets that all have the same width (except # overflow and underflow). Each bucket represents a constant absolute # uncertainty on the specific value in the bucket.There are num_finite_buckets + @@ -1571,6 +1818,60 @@ module Google end end + # The ListServiceLevelObjectives response. + class ListServiceLevelObjectivesResponse + include Google::Apis::Core::Hashable + + # If there are more results than have been returned, then this field is set to a + # non-empty value. To see the additional results, use that value as pageToken in + # the next call to this method. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # The ServiceLevelObjectives matching the specified filter. + # Corresponds to the JSON property `serviceLevelObjectives` + # @return [Array] + attr_accessor :service_level_objectives + + 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) + @service_level_objectives = args[:service_level_objectives] if args.key?(:service_level_objectives) + end + end + + # The ListServices response. + class ListServicesResponse + include Google::Apis::Core::Hashable + + # If there are more results than have been returned, then this field is set to a + # non-empty value. To see the additional results, use that value as pageToken in + # the next call to this method. + # Corresponds to the JSON property `nextPageToken` + # @return [String] + attr_accessor :next_page_token + + # The Services matching the specified filter. + # Corresponds to the JSON property `services` + # @return [Array] + attr_accessor :services + + 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) + @services = args[:services] if args.key?(:services) + end + end + # The ListTimeSeries response. class ListTimeSeriesResponse include Google::Apis::Core::Hashable @@ -1936,6 +2237,36 @@ module Google end end + # A MetricRange is used when each window is good when the value x of a single + # TimeSeries satisfies range.min <= x < range.max. The provided TimeSeries must + # have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. + class MetricRange + include Google::Apis::Core::Hashable + + # Range of numerical values, inclusive of min and exclusive of max. If the open + # range "< range.max" is desired, set range.min = -infinity. If the open range "> + # = range.min" is desired, set range.max = infinity. + # Corresponds to the JSON property `range` + # @return [Google::Apis::MonitoringV3::GoogleMonitoringV3Range] + attr_accessor :range + + # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) + # specifying the TimeSeries to use for evaluating window quality. + # Corresponds to the JSON property `timeSeries` + # @return [String] + attr_accessor :time_series + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @range = args[:range] if args.key?(:range) + @time_series = args[:time_series] if args.key?(:time_series) + end + end + # A condition type that compares a collection of time series against a threshold. class MetricThreshold include Google::Apis::Core::Hashable @@ -2389,6 +2720,43 @@ module Google end end + # A PerformanceThreshold is used when each window is good when that window has a + # sufficiently high performance. + class PerformanceThreshold + include Google::Apis::Core::Hashable + + # An SLI measuring performance on a well-known service type. Performance will be + # computed on the basis of pre-defined metrics. The type of the service_resource + # determines the metrics to use and the service_resource.labels and + # metric_labels are used to construct a monitoring filter to filter that metric + # down to just the data relevant to this service. + # Corresponds to the JSON property `basicSliPerformance` + # @return [Google::Apis::MonitoringV3::BasicSli] + attr_accessor :basic_sli_performance + + # Service Level Indicators for which atomic units of service are counted + # directly. + # Corresponds to the JSON property `performance` + # @return [Google::Apis::MonitoringV3::RequestBasedSli] + attr_accessor :performance + + # If window performance >= threshold, the window is counted as good. + # Corresponds to the JSON property `threshold` + # @return [Float] + attr_accessor :threshold + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @basic_sli_performance = args[:basic_sli_performance] if args.key?(:basic_sli_performance) + @performance = args[:performance] if args.key?(:performance) + @threshold = args[:threshold] if args.key?(:threshold) + end + end + # A single data point in a time series. class Point include Google::Apis::Core::Hashable @@ -2454,6 +2822,41 @@ module Google end end + # Service Level Indicators for which atomic units of service are counted + # directly. + class RequestBasedSli + include Google::Apis::Core::Hashable + + # A DistributionCut defines a TimeSeries and thresholds used for measuring good + # service and total service. The TimeSeries must have ValueType = + # DISTRIBUTION and MetricKind = DELTA or MetricKind = CUMULATIVE. The computed + # good_service will be the count of values x in the Distribution such that range. + # min <= x < range.max. + # Corresponds to the JSON property `distributionCut` + # @return [Google::Apis::MonitoringV3::DistributionCut] + attr_accessor :distribution_cut + + # A TimeSeriesRatio specifies two TimeSeries to use for computing the + # good_service / total_service ratio. The specified TimeSeries must have + # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = + # DELTA or MetricKind = CUMULATIVE. The TimeSeriesRatio must specify exactly two + # of good, bad, and total, and the relationship good_service + + # bad_service = total_service will be assumed. + # Corresponds to the JSON property `goodTotalRatio` + # @return [Google::Apis::MonitoringV3::TimeSeriesRatio] + attr_accessor :good_total_ratio + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @distribution_cut = args[:distribution_cut] if args.key?(:distribution_cut) + @good_total_ratio = args[:good_total_ratio] if args.key?(:good_total_ratio) + end + end + # The resource submessage for group checks. It can be used instead of a # monitored resource, when multiple resources are being monitored. class ResourceGroup @@ -2494,6 +2897,187 @@ module Google end end + # A Service is a discrete, autonomous, and network-accessible unit, designed to + # solve an individual concern (Wikipedia (https://en.wikipedia.org/wiki/Service- + # orientation)). In Stackdriver Monitoring, a Service acts as the root resource + # under which operational aspects of the service are accessible. + class Service + include Google::Apis::Core::Hashable + + # App Engine service. Learn more at https://cloud.google.com/appengine. + # Corresponds to the JSON property `appEngine` + # @return [Google::Apis::MonitoringV3::AppEngine] + attr_accessor :app_engine + + # Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints. + # Corresponds to the JSON property `cloudEndpoints` + # @return [Google::Apis::MonitoringV3::CloudEndpoints] + attr_accessor :cloud_endpoints + + # Istio service. Learn more at http://istio.io. + # Corresponds to the JSON property `clusterIstio` + # @return [Google::Apis::MonitoringV3::ClusterIstio] + attr_accessor :cluster_istio + + # Custom view of service telemetry. Currently a place-holder pending final + # design. + # Corresponds to the JSON property `custom` + # @return [Google::Apis::MonitoringV3::Custom] + attr_accessor :custom + + # Name used for UI elements listing this Service. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Resource name for this Service. Of the form projects/`project_id`/services/` + # service_id`. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Configuration for how to query telemetry on a Service. + # Corresponds to the JSON property `telemetry` + # @return [Google::Apis::MonitoringV3::Telemetry] + attr_accessor :telemetry + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @app_engine = args[:app_engine] if args.key?(:app_engine) + @cloud_endpoints = args[:cloud_endpoints] if args.key?(:cloud_endpoints) + @cluster_istio = args[:cluster_istio] if args.key?(:cluster_istio) + @custom = args[:custom] if args.key?(:custom) + @display_name = args[:display_name] if args.key?(:display_name) + @name = args[:name] if args.key?(:name) + @telemetry = args[:telemetry] if args.key?(:telemetry) + end + end + + # A Service-Level Indicator (SLI) describes the "performance" of a service. For + # some services, the SLI is well-defined. In such cases, the SLI can be + # described easily by referencing the well-known SLI and providing the needed + # parameters. Alternatively, a "custom" SLI can be defined with a query to the + # underlying metric store. An SLI is defined to be good_service / + # total_service over any queried time interval. The value of performance always + # falls into the range 0 <= performance <= 1. A custom SLI describes how to + # compute this ratio, whether this is by dividing values from a pair of time + # series, cutting a Distribution into good and bad counts, or counting time + # windows in which the service complies with a criterion. For separation of + # concerns, a single Service-Level Indicator measures performance for only one + # aspect of service quality, such as fraction of successful queries or fast- + # enough queries. + class ServiceLevelIndicator + include Google::Apis::Core::Hashable + + # An SLI measuring performance on a well-known service type. Performance will be + # computed on the basis of pre-defined metrics. The type of the service_resource + # determines the metrics to use and the service_resource.labels and + # metric_labels are used to construct a monitoring filter to filter that metric + # down to just the data relevant to this service. + # Corresponds to the JSON property `basicSli` + # @return [Google::Apis::MonitoringV3::BasicSli] + attr_accessor :basic_sli + + # Service Level Indicators for which atomic units of service are counted + # directly. + # Corresponds to the JSON property `requestBased` + # @return [Google::Apis::MonitoringV3::RequestBasedSli] + attr_accessor :request_based + + # A WindowsBasedSli defines good_service as the count of time windows for which + # the provided service was of good quality. Criteria for determining if service + # was good are embedded in the window_criterion. + # Corresponds to the JSON property `windowsBased` + # @return [Google::Apis::MonitoringV3::WindowsBasedSli] + attr_accessor :windows_based + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @basic_sli = args[:basic_sli] if args.key?(:basic_sli) + @request_based = args[:request_based] if args.key?(:request_based) + @windows_based = args[:windows_based] if args.key?(:windows_based) + end + end + + # A Service-Level Objective (SLO) describes a level of desired good service. It + # consists of a service-level indicator (SLI), a performance goal, and a period + # over which the objective is to be evaluated against that goal. The SLO can use + # SLIs defined in a number of different manners. Typical SLOs might include "99% + # of requests in each rolling week have latency below 200 milliseconds" or "99.5% + # of requests in each calendar month return successfully." + class ServiceLevelObjective + include Google::Apis::Core::Hashable + + # A calendar period, semantically "since the start of the current < + # calendar_period>". At this time, only DAY, WEEK, FORTNIGHT, and MONTH are + # supported. + # Corresponds to the JSON property `calendarPeriod` + # @return [String] + attr_accessor :calendar_period + + # Name used for UI elements listing this SLO. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # The fraction of service that must be good in order for this objective to be + # met. 0 < goal <= 1. + # Corresponds to the JSON property `goal` + # @return [Float] + attr_accessor :goal + + # Resource name for this ServiceLevelObjective. Of the form projects/`project_id` + # /services/`service_id`/serviceLevelObjectives/`slo_name`. + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # A rolling time period, semantically "in the past ". Must be an + # integer multiple of 1 day no larger than 30 days. + # Corresponds to the JSON property `rollingPeriod` + # @return [String] + attr_accessor :rolling_period + + # A Service-Level Indicator (SLI) describes the "performance" of a service. For + # some services, the SLI is well-defined. In such cases, the SLI can be + # described easily by referencing the well-known SLI and providing the needed + # parameters. Alternatively, a "custom" SLI can be defined with a query to the + # underlying metric store. An SLI is defined to be good_service / + # total_service over any queried time interval. The value of performance always + # falls into the range 0 <= performance <= 1. A custom SLI describes how to + # compute this ratio, whether this is by dividing values from a pair of time + # series, cutting a Distribution into good and bad counts, or counting time + # windows in which the service complies with a criterion. For separation of + # concerns, a single Service-Level Indicator measures performance for only one + # aspect of service quality, such as fraction of successful queries or fast- + # enough queries. + # Corresponds to the JSON property `serviceLevelIndicator` + # @return [Google::Apis::MonitoringV3::ServiceLevelIndicator] + attr_accessor :service_level_indicator + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @calendar_period = args[:calendar_period] if args.key?(:calendar_period) + @display_name = args[:display_name] if args.key?(:display_name) + @goal = args[:goal] if args.key?(:goal) + @name = args[:name] if args.key?(:name) + @rolling_period = args[:rolling_period] if args.key?(:rolling_period) + @service_level_indicator = args[:service_level_indicator] if args.key?(:service_level_indicator) + end + end + # SourceContext represents information about the source of a protobuf element, # like the file in which it is defined. class SourceContext @@ -2601,6 +3185,26 @@ module Google end end + # Configuration for how to query telemetry on a Service. + class Telemetry + include Google::Apis::Core::Hashable + + # The full name of the resource that defines this service. Formatted as + # described in https://cloud.google.com/apis/design/resource_names. + # Corresponds to the JSON property `resourceName` + # @return [String] + attr_accessor :resource_name + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @resource_name = args[:resource_name] if args.key?(:resource_name) + end + end + # A closed time interval. It extends from the start time to the end time, and # includes both: [startTime, endTime]. Valid time intervals depend on the # MetricKind of the metric value. In no case can the end time be earlier than @@ -2725,6 +3329,52 @@ module Google end end + # A TimeSeriesRatio specifies two TimeSeries to use for computing the + # good_service / total_service ratio. The specified TimeSeries must have + # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = + # DELTA or MetricKind = CUMULATIVE. The TimeSeriesRatio must specify exactly two + # of good, bad, and total, and the relationship good_service + + # bad_service = total_service will be assumed. + class TimeSeriesRatio + include Google::Apis::Core::Hashable + + # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) + # specifying a TimeSeries quantifying bad service, either demanded service that + # was not provided or demanded service that was of inadequate quality. Must have + # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = DELTA or + # MetricKind = CUMULATIVE. + # Corresponds to the JSON property `badServiceFilter` + # @return [String] + attr_accessor :bad_service_filter + + # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) + # specifying a TimeSeries quantifying good service provided. Must have ValueType + # = DOUBLE or ValueType = INT64 and must have MetricKind = + # DELTA or MetricKind = CUMULATIVE. + # Corresponds to the JSON property `goodServiceFilter` + # @return [String] + attr_accessor :good_service_filter + + # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) + # specifying a TimeSeries quantifying total demanded service. Must have + # ValueType = DOUBLE or ValueType = INT64 and must have MetricKind = + # DELTA or MetricKind = CUMULATIVE. + # Corresponds to the JSON property `totalServiceFilter` + # @return [String] + attr_accessor :total_service_filter + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @bad_service_filter = args[:bad_service_filter] if args.key?(:bad_service_filter) + @good_service_filter = args[:good_service_filter] if args.key?(:good_service_filter) + @total_service_filter = args[:total_service_filter] if args.key?(:total_service_filter) + end + end + # Specifies how many time series must fail a predicate to trigger a condition. # If not specified, then a `count: 1` trigger is used. class Trigger @@ -3039,6 +3689,59 @@ module Google @code = args[:code] if args.key?(:code) end end + + # A WindowsBasedSli defines good_service as the count of time windows for which + # the provided service was of good quality. Criteria for determining if service + # was good are embedded in the window_criterion. + class WindowsBasedSli + include Google::Apis::Core::Hashable + + # A monitoring filter (https://cloud.google.com/monitoring/api/v3/filters) + # specifying a TimeSeries with ValueType = BOOL. The window is good if any true + # values appear in the window. + # Corresponds to the JSON property `goodBadMetricFilter` + # @return [String] + attr_accessor :good_bad_metric_filter + + # A PerformanceThreshold is used when each window is good when that window has a + # sufficiently high performance. + # Corresponds to the JSON property `goodTotalRatioThreshold` + # @return [Google::Apis::MonitoringV3::PerformanceThreshold] + attr_accessor :good_total_ratio_threshold + + # A MetricRange is used when each window is good when the value x of a single + # TimeSeries satisfies range.min <= x < range.max. The provided TimeSeries must + # have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. + # Corresponds to the JSON property `metricMeanInRange` + # @return [Google::Apis::MonitoringV3::MetricRange] + attr_accessor :metric_mean_in_range + + # A MetricRange is used when each window is good when the value x of a single + # TimeSeries satisfies range.min <= x < range.max. The provided TimeSeries must + # have ValueType = INT64 or ValueType = DOUBLE and MetricKind = GAUGE. + # Corresponds to the JSON property `metricSumInRange` + # @return [Google::Apis::MonitoringV3::MetricRange] + attr_accessor :metric_sum_in_range + + # Duration over which window quality is evaluated. Must be an integer fraction + # of a day and at least 60s. + # Corresponds to the JSON property `windowPeriod` + # @return [String] + attr_accessor :window_period + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @good_bad_metric_filter = args[:good_bad_metric_filter] if args.key?(:good_bad_metric_filter) + @good_total_ratio_threshold = args[:good_total_ratio_threshold] if args.key?(:good_total_ratio_threshold) + @metric_mean_in_range = args[:metric_mean_in_range] if args.key?(:metric_mean_in_range) + @metric_sum_in_range = args[:metric_sum_in_range] if args.key?(:metric_sum_in_range) + @window_period = args[:window_period] if args.key?(:window_period) + end + end end end end diff --git a/generated/google/apis/monitoring_v3/representations.rb b/generated/google/apis/monitoring_v3/representations.rb index aae00b859..3a3e29b0c 100644 --- a/generated/google/apis/monitoring_v3/representations.rb +++ b/generated/google/apis/monitoring_v3/representations.rb @@ -34,18 +34,48 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class AppEngine + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class AvailabilityCriteria + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class BasicAuthentication class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class BasicSli + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class BucketOptions class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class CloudEndpoints + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ClusterIstio + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class CollectdPayload class Representation < Google::Apis::Core::JsonRepresentation; end @@ -106,12 +136,24 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Custom + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Distribution class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end + class DistributionCut + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Documentation class Representation < Google::Apis::Core::JsonRepresentation; end @@ -172,6 +214,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class GoogleMonitoringV3Range + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Group class Representation < Google::Apis::Core::JsonRepresentation; end @@ -196,6 +244,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class LatencyCriteria + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Linear class Representation < Google::Apis::Core::JsonRepresentation; end @@ -244,6 +298,18 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class ListServiceLevelObjectivesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ListServicesResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ListTimeSeriesResponse class Representation < Google::Apis::Core::JsonRepresentation; end @@ -286,6 +352,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class MetricRange + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class MetricThreshold class Representation < Google::Apis::Core::JsonRepresentation; end @@ -334,6 +406,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class PerformanceThreshold + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Point class Representation < Google::Apis::Core::JsonRepresentation; end @@ -346,6 +424,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class RequestBasedSli + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class ResourceGroup class Representation < Google::Apis::Core::JsonRepresentation; end @@ -358,6 +442,24 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Service + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ServiceLevelIndicator + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ServiceLevelObjective + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class SourceContext class Representation < Google::Apis::Core::JsonRepresentation; end @@ -382,6 +484,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class Telemetry + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class TimeInterval class Representation < Google::Apis::Core::JsonRepresentation; end @@ -394,6 +502,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class TimeSeriesRatio + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Trigger class Representation < Google::Apis::Core::JsonRepresentation; end @@ -430,6 +544,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class WindowsBasedSli + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Aggregation # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -462,6 +582,19 @@ module Google end end + class AppEngine + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :module_id, as: 'moduleId' + end + end + + class AvailabilityCriteria + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + class BasicAuthentication # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -470,6 +603,19 @@ module Google end end + class BasicSli + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :availability, as: 'availability', class: Google::Apis::MonitoringV3::AvailabilityCriteria, decorator: Google::Apis::MonitoringV3::AvailabilityCriteria::Representation + + property :latency, as: 'latency', class: Google::Apis::MonitoringV3::LatencyCriteria, decorator: Google::Apis::MonitoringV3::LatencyCriteria::Representation + + collection :location, as: 'location' + collection :method_prop, as: 'method' + collection :version, as: 'version' + end + end + class BucketOptions # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -482,6 +628,23 @@ module Google end end + class CloudEndpoints + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :service, as: 'service' + end + end + + class ClusterIstio + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :cluster_name, as: 'clusterName' + property :location, as: 'location' + property :service_name, as: 'serviceName' + property :service_namespace, as: 'serviceNamespace' + end + end + class CollectdPayload # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -587,6 +750,12 @@ module Google end end + class Custom + # @private + class Representation < Google::Apis::Core::JsonRepresentation + end + end + class Distribution # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -603,6 +772,15 @@ module Google end end + class DistributionCut + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :distribution_filter, as: 'distributionFilter' + property :range, as: 'range', class: Google::Apis::MonitoringV3::GoogleMonitoringV3Range, decorator: Google::Apis::MonitoringV3::GoogleMonitoringV3Range::Representation + + end + end + class Documentation # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -690,6 +868,14 @@ module Google end end + class GoogleMonitoringV3Range + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :max, as: 'max' + property :min, as: 'min' + end + end + class Group # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -736,6 +922,13 @@ module Google end end + class LatencyCriteria + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :threshold, as: 'threshold' + end + end + class Linear # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -809,6 +1002,24 @@ module Google end end + class ListServiceLevelObjectivesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :service_level_objectives, as: 'serviceLevelObjectives', class: Google::Apis::MonitoringV3::ServiceLevelObjective, decorator: Google::Apis::MonitoringV3::ServiceLevelObjective::Representation + + end + end + + class ListServicesResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :next_page_token, as: 'nextPageToken' + collection :services, as: 'services', class: Google::Apis::MonitoringV3::Service, decorator: Google::Apis::MonitoringV3::Service::Representation + + end + end + class ListTimeSeriesResponse # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -887,6 +1098,15 @@ module Google end end + class MetricRange + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :range, as: 'range', class: Google::Apis::MonitoringV3::GoogleMonitoringV3Range, decorator: Google::Apis::MonitoringV3::GoogleMonitoringV3Range::Representation + + property :time_series, as: 'timeSeries' + end + end + class MetricThreshold # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -976,6 +1196,17 @@ module Google end end + class PerformanceThreshold + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :basic_sli_performance, as: 'basicSliPerformance', class: Google::Apis::MonitoringV3::BasicSli, decorator: Google::Apis::MonitoringV3::BasicSli::Representation + + property :performance, as: 'performance', class: Google::Apis::MonitoringV3::RequestBasedSli, decorator: Google::Apis::MonitoringV3::RequestBasedSli::Representation + + property :threshold, as: 'threshold' + end + end + class Point # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -994,6 +1225,16 @@ module Google end end + class RequestBasedSli + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :distribution_cut, as: 'distributionCut', class: Google::Apis::MonitoringV3::DistributionCut, decorator: Google::Apis::MonitoringV3::DistributionCut::Representation + + property :good_total_ratio, as: 'goodTotalRatio', class: Google::Apis::MonitoringV3::TimeSeriesRatio, decorator: Google::Apis::MonitoringV3::TimeSeriesRatio::Representation + + end + end + class ResourceGroup # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -1008,6 +1249,49 @@ module Google end end + class Service + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :app_engine, as: 'appEngine', class: Google::Apis::MonitoringV3::AppEngine, decorator: Google::Apis::MonitoringV3::AppEngine::Representation + + property :cloud_endpoints, as: 'cloudEndpoints', class: Google::Apis::MonitoringV3::CloudEndpoints, decorator: Google::Apis::MonitoringV3::CloudEndpoints::Representation + + property :cluster_istio, as: 'clusterIstio', class: Google::Apis::MonitoringV3::ClusterIstio, decorator: Google::Apis::MonitoringV3::ClusterIstio::Representation + + property :custom, as: 'custom', class: Google::Apis::MonitoringV3::Custom, decorator: Google::Apis::MonitoringV3::Custom::Representation + + property :display_name, as: 'displayName' + property :name, as: 'name' + property :telemetry, as: 'telemetry', class: Google::Apis::MonitoringV3::Telemetry, decorator: Google::Apis::MonitoringV3::Telemetry::Representation + + end + end + + class ServiceLevelIndicator + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :basic_sli, as: 'basicSli', class: Google::Apis::MonitoringV3::BasicSli, decorator: Google::Apis::MonitoringV3::BasicSli::Representation + + property :request_based, as: 'requestBased', class: Google::Apis::MonitoringV3::RequestBasedSli, decorator: Google::Apis::MonitoringV3::RequestBasedSli::Representation + + property :windows_based, as: 'windowsBased', class: Google::Apis::MonitoringV3::WindowsBasedSli, decorator: Google::Apis::MonitoringV3::WindowsBasedSli::Representation + + end + end + + class ServiceLevelObjective + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :calendar_period, as: 'calendarPeriod' + property :display_name, as: 'displayName' + property :goal, as: 'goal' + property :name, as: 'name' + property :rolling_period, as: 'rollingPeriod' + property :service_level_indicator, as: 'serviceLevelIndicator', class: Google::Apis::MonitoringV3::ServiceLevelIndicator, decorator: Google::Apis::MonitoringV3::ServiceLevelIndicator::Representation + + end + end + class SourceContext # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -1038,6 +1322,13 @@ module Google end end + class Telemetry + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :resource_name, as: 'resourceName' + end + end + class TimeInterval # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -1062,6 +1353,15 @@ module Google end end + class TimeSeriesRatio + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :bad_service_filter, as: 'badServiceFilter' + property :good_service_filter, as: 'goodServiceFilter' + property :total_service_filter, as: 'totalServiceFilter' + end + end + class Trigger # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -1136,6 +1436,20 @@ module Google property :code, as: 'code' end end + + class WindowsBasedSli + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :good_bad_metric_filter, as: 'goodBadMetricFilter' + property :good_total_ratio_threshold, as: 'goodTotalRatioThreshold', class: Google::Apis::MonitoringV3::PerformanceThreshold, decorator: Google::Apis::MonitoringV3::PerformanceThreshold::Representation + + property :metric_mean_in_range, as: 'metricMeanInRange', class: Google::Apis::MonitoringV3::MetricRange, decorator: Google::Apis::MonitoringV3::MetricRange::Representation + + property :metric_sum_in_range, as: 'metricSumInRange', class: Google::Apis::MonitoringV3::MetricRange, decorator: Google::Apis::MonitoringV3::MetricRange::Representation + + property :window_period, as: 'windowPeriod' + end + end end end end diff --git a/generated/google/apis/monitoring_v3/service.rb b/generated/google/apis/monitoring_v3/service.rb index 44e142a77..4d330f54f 100644 --- a/generated/google/apis/monitoring_v3/service.rb +++ b/generated/google/apis/monitoring_v3/service.rb @@ -1503,6 +1503,388 @@ module Google execute_or_queue_command(command, &block) end + # Create a Service. + # @param [String] parent + # Resource name of the parent workspace. Of the form projects/`project_id`. + # @param [Google::Apis::MonitoringV3::Service] service_object + # @param [String] service_id + # Optional. The Service id to use for this Service. If omitted, an id will be + # generated instead. Must match the pattern a-z0-9-+ + # @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::MonitoringV3::Service] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::MonitoringV3::Service] + # + # @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 create_service(parent, service_object = nil, service_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v3/{+parent}/services', options) + command.request_representation = Google::Apis::MonitoringV3::Service::Representation + command.request_object = service_object + command.response_representation = Google::Apis::MonitoringV3::Service::Representation + command.response_class = Google::Apis::MonitoringV3::Service + command.params['parent'] = parent unless parent.nil? + command.query['serviceId'] = service_id unless service_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Soft delete this Service. + # @param [String] name + # Resource name of the Service to delete. Of the form projects/`project_id`/ + # service/`service_id`. + # @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::MonitoringV3::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::MonitoringV3::Empty] + # + # @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 delete_service(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v3/{+name}', options) + command.response_representation = Google::Apis::MonitoringV3::Empty::Representation + command.response_class = Google::Apis::MonitoringV3::Empty + 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 + + # Get the named Service. + # @param [String] name + # Resource name of the Service. Of the form projects/`project_id`/services/` + # service_id`. + # @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::MonitoringV3::Service] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::MonitoringV3::Service] + # + # @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_service(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v3/{+name}', options) + command.response_representation = Google::Apis::MonitoringV3::Service::Representation + command.response_class = Google::Apis::MonitoringV3::Service + 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 + + # List Services for this workspace. + # @param [String] parent + # Resource name of the parent Workspace. Of the form projects/`project_id`. + # @param [String] filter + # A filter specifying what Services to return. The filter currently supports the + # following fields: + # - `identifier_case` + # - `app_engine.module_id` + # - `cloud_endpoints.service` + # - `cluster_istio.location` + # - `cluster_istio.cluster_name` + # - `cluster_istio.service_namespace` + # - `cluster_istio.service_name` + # identifier_case refers to which option in the identifier oneof is populated. + # For example, the filter identifier_case = "CUSTOM" would match all services + # with a value for the custom field. Valid options are "CUSTOM", "APP_ENGINE", " + # CLOUD_ENDPOINTS", and "CLUSTER_ISTIO". + # @param [Fixnum] page_size + # A non-negative number that is the maximum number of results to return. When 0, + # use default page size. + # @param [String] page_token + # If this field is not empty then it must contain the nextPageToken value + # returned by a previous call to this method. Using this field causes the method + # to return additional results from the previous method call. + # @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::MonitoringV3::ListServicesResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::MonitoringV3::ListServicesResponse] + # + # @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 list_services(parent, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v3/{+parent}/services', options) + command.response_representation = Google::Apis::MonitoringV3::ListServicesResponse::Representation + command.response_class = Google::Apis::MonitoringV3::ListServicesResponse + command.params['parent'] = parent unless parent.nil? + command.query['filter'] = filter unless filter.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Update this Service. + # @param [String] name + # Resource name for this Service. Of the form projects/`project_id`/services/` + # service_id`. + # @param [Google::Apis::MonitoringV3::Service] service_object + # @param [String] update_mask + # A set of field paths defining which fields to use for the update. + # @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::MonitoringV3::Service] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::MonitoringV3::Service] + # + # @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 patch_service(name, service_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v3/{+name}', options) + command.request_representation = Google::Apis::MonitoringV3::Service::Representation + command.request_object = service_object + command.response_representation = Google::Apis::MonitoringV3::Service::Representation + command.response_class = Google::Apis::MonitoringV3::Service + command.params['name'] = name unless name.nil? + command.query['updateMask'] = update_mask unless update_mask.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Create a ServiceLevelObjective for the given Service. + # @param [String] parent + # Resource name of the parent Service. Of the form projects/`project_id`/ + # services/`service_id`. + # @param [Google::Apis::MonitoringV3::ServiceLevelObjective] service_level_objective_object + # @param [String] service_level_objective_id + # Optional. The ServiceLevelObjective id to use for this ServiceLevelObjective. + # If omitted, an id will be generated instead. Must match the pattern a-z0-9-+ + # @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::MonitoringV3::ServiceLevelObjective] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::MonitoringV3::ServiceLevelObjective] + # + # @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 create_service_service_level_objective(parent, service_level_objective_object = nil, service_level_objective_id: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v3/{+parent}/serviceLevelObjectives', options) + command.request_representation = Google::Apis::MonitoringV3::ServiceLevelObjective::Representation + command.request_object = service_level_objective_object + command.response_representation = Google::Apis::MonitoringV3::ServiceLevelObjective::Representation + command.response_class = Google::Apis::MonitoringV3::ServiceLevelObjective + command.params['parent'] = parent unless parent.nil? + command.query['serviceLevelObjectiveId'] = service_level_objective_id unless service_level_objective_id.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Delete the given ServiceLevelObjective. + # @param [String] name + # Resource name of the ServiceLevelObjective to delete. Of the form projects/` + # project_id`/services/`service_id`/serviceLevelObjectives/`slo_name`. + # @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::MonitoringV3::Empty] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::MonitoringV3::Empty] + # + # @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 delete_service_service_level_objective(name, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:delete, 'v3/{+name}', options) + command.response_representation = Google::Apis::MonitoringV3::Empty::Representation + command.response_class = Google::Apis::MonitoringV3::Empty + 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 + + # Get a ServiceLevelObjective by name. + # @param [String] name + # Resource name of the ServiceLevelObjective to get. Of the form projects/` + # project_id`/services/`service_id`/serviceLevelObjectives/`slo_name`. + # @param [String] view + # View of the ServiceLevelObjective to return. If DEFAULT, return the + # ServiceLevelObjective as originally defined. If EXPLICIT and the + # ServiceLevelObjective is defined in terms of a BasicSli, replace the BasicSli + # with a RequestBasedSli spelling out how the SLI is computed. + # @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::MonitoringV3::ServiceLevelObjective] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::MonitoringV3::ServiceLevelObjective] + # + # @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_service_service_level_objective(name, view: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v3/{+name}', options) + command.response_representation = Google::Apis::MonitoringV3::ServiceLevelObjective::Representation + command.response_class = Google::Apis::MonitoringV3::ServiceLevelObjective + command.params['name'] = name unless name.nil? + command.query['view'] = view unless view.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # List the ServiceLevelObjectives for the given Service. + # @param [String] parent + # Resource name of the parent Service. Of the form projects/`project_id`/ + # services/`service_id`. + # @param [String] filter + # A filter specifying what ServiceLevelObjectives to return. + # @param [Fixnum] page_size + # A non-negative number that is the maximum number of results to return. When 0, + # use default page size. + # @param [String] page_token + # If this field is not empty then it must contain the nextPageToken value + # returned by a previous call to this method. Using this field causes the method + # to return additional results from the previous method call. + # @param [String] view + # View of the ServiceLevelObjectives to return. If DEFAULT, return each + # ServiceLevelObjective as originally defined. If EXPLICIT and the + # ServiceLevelObjective is defined in terms of a BasicSli, replace the BasicSli + # with a RequestBasedSli spelling out how the SLI is computed. + # @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::MonitoringV3::ListServiceLevelObjectivesResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::MonitoringV3::ListServiceLevelObjectivesResponse] + # + # @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 list_service_service_level_objectives(parent, filter: nil, page_size: nil, page_token: nil, view: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:get, 'v3/{+parent}/serviceLevelObjectives', options) + command.response_representation = Google::Apis::MonitoringV3::ListServiceLevelObjectivesResponse::Representation + command.response_class = Google::Apis::MonitoringV3::ListServiceLevelObjectivesResponse + command.params['parent'] = parent unless parent.nil? + command.query['filter'] = filter unless filter.nil? + command.query['pageSize'] = page_size unless page_size.nil? + command.query['pageToken'] = page_token unless page_token.nil? + command.query['view'] = view unless view.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + + # Update the given ServiceLevelObjective. + # @param [String] name + # Resource name for this ServiceLevelObjective. Of the form projects/`project_id` + # /services/`service_id`/serviceLevelObjectives/`slo_name`. + # @param [Google::Apis::MonitoringV3::ServiceLevelObjective] service_level_objective_object + # @param [String] update_mask + # A set of field paths defining which fields to use for the update. + # @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::MonitoringV3::ServiceLevelObjective] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::MonitoringV3::ServiceLevelObjective] + # + # @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 patch_service_service_level_objective(name, service_level_objective_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:patch, 'v3/{+name}', options) + command.request_representation = Google::Apis::MonitoringV3::ServiceLevelObjective::Representation + command.request_object = service_level_objective_object + command.response_representation = Google::Apis::MonitoringV3::ServiceLevelObjective::Representation + command.response_class = Google::Apis::MonitoringV3::ServiceLevelObjective + command.params['name'] = name unless name.nil? + command.query['updateMask'] = update_mask unless update_mask.nil? + command.query['fields'] = fields unless fields.nil? + command.query['quotaUser'] = quota_user unless quota_user.nil? + execute_or_queue_command(command, &block) + end + # Returns the list of IP addresses that checkers run from # @param [Fixnum] page_size # The maximum number of results to return in a single response. The server may diff --git a/generated/google/apis/serviceconsumermanagement_v1.rb b/generated/google/apis/serviceconsumermanagement_v1.rb index b70fa8d60..aa1c227f2 100644 --- a/generated/google/apis/serviceconsumermanagement_v1.rb +++ b/generated/google/apis/serviceconsumermanagement_v1.rb @@ -25,7 +25,7 @@ module Google # @see https://cloud.google.com/service-consumer-management/docs/overview module ServiceconsumermanagementV1 VERSION = 'V1' - REVISION = '20191004' + REVISION = '20191113' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/serviceconsumermanagement_v1/classes.rb b/generated/google/apis/serviceconsumermanagement_v1/classes.rb index 5aa3ef536..c90bffa13 100644 --- a/generated/google/apis/serviceconsumermanagement_v1/classes.rb +++ b/generated/google/apis/serviceconsumermanagement_v1/classes.rb @@ -2958,8 +2958,9 @@ module Google attr_accessor :http # A unique ID for a specific instance of this message, typically assigned - # by the client for tracking purpose. If empty, the server may choose to - # generate one instead. Must be no longer than 60 characters. + # by the client for tracking purpose. Must be no longer than 63 characters + # and only lower case letters, digits, '.', '_' and '-' are allowed. If + # empty, the server may choose to generate one instead. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id diff --git a/generated/google/apis/servicemanagement_v1.rb b/generated/google/apis/servicemanagement_v1.rb index 21847be19..42cb92a4e 100644 --- a/generated/google/apis/servicemanagement_v1.rb +++ b/generated/google/apis/servicemanagement_v1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/service-management/ module ServicemanagementV1 VERSION = 'V1' - REVISION = '20191004' + REVISION = '20191113' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicemanagement_v1/classes.rb b/generated/google/apis/servicemanagement_v1/classes.rb index f10cb3a1b..c8e279c7d 100644 --- a/generated/google/apis/servicemanagement_v1/classes.rb +++ b/generated/google/apis/servicemanagement_v1/classes.rb @@ -623,6 +623,23 @@ module Google # account. For example, `my-other-app@appspot.gserviceaccount.com`. # * `group:`emailid``: An email address that represents a Google group. # For example, `admins@example.com`. + # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a user that has been recently deleted. For + # example,`alice@example.com?uid=123456789012345678901`. If the user is + # recovered, this value reverts to `user:`emailid`` and the recovered user + # retains the role in the binding. + # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus + # unique identifier) representing a service account that has been recently + # deleted. For example, + # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. + # If the service account is undeleted, this value reverts to + # `serviceAccount:`emailid`` and the undeleted service account retains the + # role in the binding. + # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique + # identifier) representing a Google group that has been recently + # deleted. For example, `admins@example.com?uid=123456789012345678901`. If + # the group is recovered, this value reverts to `group:`emailid`` and the + # recovered group retains the role in the binding. # * `domain:`domain``: The G Suite domain (primary) that represents all the # users of that domain. For example, `google.com` or `example.com`. # Corresponds to the JSON property `members` diff --git a/generated/google/apis/servicenetworking_v1.rb b/generated/google/apis/servicenetworking_v1.rb index 1c8c2b8f5..c3cf4046d 100644 --- a/generated/google/apis/servicenetworking_v1.rb +++ b/generated/google/apis/servicenetworking_v1.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started module ServicenetworkingV1 VERSION = 'V1' - REVISION = '20190922' + REVISION = '20191113' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicenetworking_v1/classes.rb b/generated/google/apis/servicenetworking_v1/classes.rb index fbb8bcafe..652205c22 100644 --- a/generated/google/apis/servicenetworking_v1/classes.rb +++ b/generated/google/apis/servicenetworking_v1/classes.rb @@ -45,7 +45,7 @@ module Google # @return [String] attr_accessor :consumer_network - # An optional description of the subnet. + # Optional. Description of the subnet. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description @@ -611,6 +611,28 @@ module Google end end + # Represents a consumer project. + class ConsumerProject + include Google::Apis::Core::Hashable + + # Required. Project number of the consumer that is launching the service + # instance. It + # can own the network that is peered with Google or, be a service project in + # an XPN where the host project has the network. + # Corresponds to the JSON property `projectNum` + # @return [Fixnum] + attr_accessor :project_num + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @project_num = args[:project_num] if args.key?(:project_num) + end + end + # `Context` defines which contexts an API requests. # Example: # context: @@ -2714,25 +2736,46 @@ module Google end end - # Request to search for an unused range within allocated ranges. - class SearchRangeRequest + # Represents a range reservation. + class RangeReservation include Google::Apis::Core::Hashable - # Required. The prefix length of the IP range. - # Use usual CIDR range notation. - # For example, '30' to find unused x.x.x.x/30 CIDR range. - # Actual range will be determined using allocated range for the consumer - # peered network and returned in the result. + # Required. The size of the desired subnet. Use usual CIDR range notation. For + # example, + # '30' to find unused x.x.x.x/30 CIDR range. The goal is to determine if one + # of the allocated ranges has enough free space for a subnet of the requested + # size. # Corresponds to the JSON property `ipPrefixLength` # @return [Fixnum] attr_accessor :ip_prefix_length - # Network name in the consumer project. This network must have been + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @ip_prefix_length = args[:ip_prefix_length] if args.key?(:ip_prefix_length) + end + end + + # Request to search for an unused range within allocated ranges. + class SearchRangeRequest + include Google::Apis::Core::Hashable + + # Required. The prefix length of the IP range. Use usual CIDR range notation. + # For + # example, '30' to find unused x.x.x.x/30 CIDR range. Actual range will be + # determined using allocated range for the consumer peered network and + # returned in the result. + # Corresponds to the JSON property `ipPrefixLength` + # @return [Fixnum] + attr_accessor :ip_prefix_length + + # Network name in the consumer project. This network must have been # already peered with a shared VPC network using CreateConnection - # method. - # Must be in a form 'projects/`project`/global/networks/`network`'. - # `project` is a project number, as in '12345' - # `network` is network name. + # method. Must be in a form 'projects/`project`/global/networks/`network`'. + # `project` is a project number, as in '12345' `network` is network name. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network @@ -2963,8 +3006,9 @@ module Google attr_accessor :http # A unique ID for a specific instance of this message, typically assigned - # by the client for tracking purpose. If empty, the server may choose to - # generate one instead. Must be no longer than 60 characters. + # by the client for tracking purpose. Must be no longer than 63 characters + # and only lower case letters, digits, '.', '_' and '-' are allowed. If + # empty, the server may choose to generate one instead. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id @@ -3570,6 +3614,79 @@ module Google @skip_service_control = args[:skip_service_control] if args.key?(:skip_service_control) end end + + # + class ValidateConsumerConfigRequest + include Google::Apis::Core::Hashable + + # Required. The network that the consumer is using to connect with services. + # Must be in + # the form of projects/`project`/global/networks/`network` `project` is a + # project number, as in '12345' `network` is network name. + # Corresponds to the JSON property `consumerNetwork` + # @return [String] + attr_accessor :consumer_network + + # Represents a consumer project. + # Corresponds to the JSON property `consumerProject` + # @return [Google::Apis::ServicenetworkingV1::ConsumerProject] + attr_accessor :consumer_project + + # Represents a range reservation. + # Corresponds to the JSON property `rangeReservation` + # @return [Google::Apis::ServicenetworkingV1::RangeReservation] + attr_accessor :range_reservation + + # The validations will be performed in the order listed in the + # ValidationError enum. The first failure will return. If a validation is not + # requested, then the next one will be performed. + # SERVICE_NETWORKING_NOT_ENABLED and NETWORK_NOT_PEERED checks are performed + # for all requests where validation is requested. NETWORK_NOT_FOUND and + # NETWORK_DISCONNECTED checks are done for requests that have + # validate_network set to true. + # Corresponds to the JSON property `validateNetwork` + # @return [Boolean] + attr_accessor :validate_network + alias_method :validate_network?, :validate_network + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @consumer_network = args[:consumer_network] if args.key?(:consumer_network) + @consumer_project = args[:consumer_project] if args.key?(:consumer_project) + @range_reservation = args[:range_reservation] if args.key?(:range_reservation) + @validate_network = args[:validate_network] if args.key?(:validate_network) + end + end + + # + class ValidateConsumerConfigResponse + include Google::Apis::Core::Hashable + + # + # Corresponds to the JSON property `isValid` + # @return [Boolean] + attr_accessor :is_valid + alias_method :is_valid?, :is_valid + + # + # Corresponds to the JSON property `validationError` + # @return [String] + attr_accessor :validation_error + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @is_valid = args[:is_valid] if args.key?(:is_valid) + @validation_error = args[:validation_error] if args.key?(:validation_error) + end + end end end end diff --git a/generated/google/apis/servicenetworking_v1/representations.rb b/generated/google/apis/servicenetworking_v1/representations.rb index b526eb23f..f74bb79b9 100644 --- a/generated/google/apis/servicenetworking_v1/representations.rb +++ b/generated/google/apis/servicenetworking_v1/representations.rb @@ -94,6 +94,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class ConsumerProject + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class Context class Representation < Google::Apis::Core::JsonRepresentation; end @@ -316,6 +322,12 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class RangeReservation + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class SearchRangeRequest class Representation < Google::Apis::Core::JsonRepresentation; end @@ -388,6 +400,18 @@ module Google include Google::Apis::Core::JsonObjectSupport end + class ValidateConsumerConfigRequest + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + + class ValidateConsumerConfigResponse + class Representation < Google::Apis::Core::JsonRepresentation; end + + include Google::Apis::Core::JsonObjectSupport + end + class AddSubnetworkRequest # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -513,6 +537,13 @@ module Google end end + class ConsumerProject + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :project_num, :numeric_string => true, as: 'projectNum' + end + end + class Context # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -897,6 +928,13 @@ module Google end end + class RangeReservation + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :ip_prefix_length, as: 'ipPrefixLength' + end + end + class SearchRangeRequest # @private class Representation < Google::Apis::Core::JsonRepresentation @@ -1052,6 +1090,26 @@ module Google property :skip_service_control, as: 'skipServiceControl' end end + + class ValidateConsumerConfigRequest + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :consumer_network, as: 'consumerNetwork' + property :consumer_project, as: 'consumerProject', class: Google::Apis::ServicenetworkingV1::ConsumerProject, decorator: Google::Apis::ServicenetworkingV1::ConsumerProject::Representation + + property :range_reservation, as: 'rangeReservation', class: Google::Apis::ServicenetworkingV1::RangeReservation, decorator: Google::Apis::ServicenetworkingV1::RangeReservation::Representation + + property :validate_network, as: 'validateNetwork' + end + end + + class ValidateConsumerConfigResponse + # @private + class Representation < Google::Apis::Core::JsonRepresentation + property :is_valid, as: 'isValid' + property :validation_error, as: 'validationError' + end + end end end end diff --git a/generated/google/apis/servicenetworking_v1/service.rb b/generated/google/apis/servicenetworking_v1/service.rb index cdf3d6f15..12191139c 100644 --- a/generated/google/apis/servicenetworking_v1/service.rb +++ b/generated/google/apis/servicenetworking_v1/service.rb @@ -259,9 +259,9 @@ module Google # notation). # Operation # @param [String] parent - # Required. This is in a form services/`service`. - # `service` the name of the private access management service, for example - # 'service-peering.example.com'. + # Required. This is in a form services/`service`. `service` the name of the + # private + # access management service, for example 'service-peering.example.com'. # @param [Google::Apis::ServicenetworkingV1::SearchRangeRequest] search_range_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. @@ -292,6 +292,45 @@ module Google execute_or_queue_command(command, &block) end + # Service producers use this method to validate if the consumer provided + # network, project and the requested range is valid. This allows them to use + # a fail-fast mechanism for consumer requests, and not have to wait for + # AddSubnetwork operation completion to determine if user request is invalid. + # @param [String] parent + # Required. This is in a form services/`service` where `service` is the name of + # the + # private access management service. For example + # 'service-peering.example.com'. + # @param [Google::Apis::ServicenetworkingV1::ValidateConsumerConfigRequest] validate_consumer_config_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::ServicenetworkingV1::ValidateConsumerConfigResponse] parsed result object + # @yieldparam err [StandardError] error object if request failed + # + # @return [Google::Apis::ServicenetworkingV1::ValidateConsumerConfigResponse] + # + # @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 validate_service_consumer_config(parent, validate_consumer_config_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) + command = make_simple_command(:post, 'v1/{+parent}:validate', options) + command.request_representation = Google::Apis::ServicenetworkingV1::ValidateConsumerConfigRequest::Representation + command.request_object = validate_consumer_config_request_object + command.response_representation = Google::Apis::ServicenetworkingV1::ValidateConsumerConfigResponse::Representation + command.response_class = Google::Apis::ServicenetworkingV1::ValidateConsumerConfigResponse + command.params['parent'] = parent unless parent.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 private connection that establishes a VPC Network Peering # connection to a VPC network in the service producer's organization. # The administrator of the service consumer's VPC network invokes this diff --git a/generated/google/apis/servicenetworking_v1beta.rb b/generated/google/apis/servicenetworking_v1beta.rb index 1fe4fc4d4..9b5792bf6 100644 --- a/generated/google/apis/servicenetworking_v1beta.rb +++ b/generated/google/apis/servicenetworking_v1beta.rb @@ -26,7 +26,7 @@ module Google # @see https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started module ServicenetworkingV1beta VERSION = 'V1beta' - REVISION = '20190922' + REVISION = '20191113' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/servicenetworking_v1beta/classes.rb b/generated/google/apis/servicenetworking_v1beta/classes.rb index 952ec00cb..4c735c423 100644 --- a/generated/google/apis/servicenetworking_v1beta/classes.rb +++ b/generated/google/apis/servicenetworking_v1beta/classes.rb @@ -2903,8 +2903,9 @@ module Google attr_accessor :http # A unique ID for a specific instance of this message, typically assigned - # by the client for tracking purpose. If empty, the server may choose to - # generate one instead. Must be no longer than 60 characters. + # by the client for tracking purpose. Must be no longer than 63 characters + # and only lower case letters, digits, '.', '_' and '-' are allowed. If + # empty, the server may choose to generate one instead. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id diff --git a/generated/google/apis/serviceusage_v1.rb b/generated/google/apis/serviceusage_v1.rb index bf7941420..9b0517db0 100644 --- a/generated/google/apis/serviceusage_v1.rb +++ b/generated/google/apis/serviceusage_v1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/service-usage/ module ServiceusageV1 VERSION = 'V1' - REVISION = '20191007' + REVISION = '20191113' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/serviceusage_v1/classes.rb b/generated/google/apis/serviceusage_v1/classes.rb index 96a7c3c12..7436c7b8d 100644 --- a/generated/google/apis/serviceusage_v1/classes.rb +++ b/generated/google/apis/serviceusage_v1/classes.rb @@ -1505,8 +1505,9 @@ module Google attr_accessor :http # A unique ID for a specific instance of this message, typically assigned - # by the client for tracking purpose. If empty, the server may choose to - # generate one instead. Must be no longer than 60 characters. + # by the client for tracking purpose. Must be no longer than 63 characters + # and only lower case letters, digits, '.', '_' and '-' are allowed. If + # empty, the server may choose to generate one instead. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id diff --git a/generated/google/apis/serviceusage_v1beta1.rb b/generated/google/apis/serviceusage_v1beta1.rb index a35b0d860..c6437b16b 100644 --- a/generated/google/apis/serviceusage_v1beta1.rb +++ b/generated/google/apis/serviceusage_v1beta1.rb @@ -27,7 +27,7 @@ module Google # @see https://cloud.google.com/service-usage/ module ServiceusageV1beta1 VERSION = 'V1beta1' - REVISION = '20191007' + REVISION = '20191113' # View and manage your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' diff --git a/generated/google/apis/serviceusage_v1beta1/classes.rb b/generated/google/apis/serviceusage_v1beta1/classes.rb index 56f8e915e..191e0bea6 100644 --- a/generated/google/apis/serviceusage_v1beta1/classes.rb +++ b/generated/google/apis/serviceusage_v1beta1/classes.rb @@ -1483,8 +1483,9 @@ module Google attr_accessor :http # A unique ID for a specific instance of this message, typically assigned - # by the client for tracking purpose. If empty, the server may choose to - # generate one instead. Must be no longer than 60 characters. + # by the client for tracking purpose. Must be no longer than 63 characters + # and only lower case letters, digits, '.', '_' and '-' are allowed. If + # empty, the server may choose to generate one instead. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id