google-cloud-monitoring-v3 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +1 -1
  3. data/README.md +3 -3
  4. data/lib/google/cloud/monitoring/v3/alert_policy_service/client.rb +6 -8
  5. data/lib/google/cloud/monitoring/v3/alert_policy_service.rb +1 -1
  6. data/lib/google/cloud/monitoring/v3/group_service/client.rb +10 -14
  7. data/lib/google/cloud/monitoring/v3/group_service.rb +1 -1
  8. data/lib/google/cloud/monitoring/v3/metric_service/client.rb +14 -20
  9. data/lib/google/cloud/monitoring/v3/metric_service.rb +1 -1
  10. data/lib/google/cloud/monitoring/v3/notification_channel_service/client.rb +10 -14
  11. data/lib/google/cloud/monitoring/v3/notification_channel_service.rb +1 -1
  12. data/lib/google/cloud/monitoring/v3/query_service/client.rb +6 -8
  13. data/lib/google/cloud/monitoring/v3/query_service.rb +1 -1
  14. data/lib/google/cloud/monitoring/v3/service_monitoring_service/client.rb +10 -14
  15. data/lib/google/cloud/monitoring/v3/service_monitoring_service.rb +1 -1
  16. data/lib/google/cloud/monitoring/v3/snooze_service/client.rb +746 -0
  17. data/lib/google/cloud/monitoring/v3/snooze_service/credentials.rb +53 -0
  18. data/lib/google/cloud/monitoring/v3/snooze_service/paths.rb +149 -0
  19. data/lib/google/cloud/monitoring/v3/snooze_service.rb +51 -0
  20. data/lib/google/cloud/monitoring/v3/uptime_check_service/client.rb +23 -21
  21. data/lib/google/cloud/monitoring/v3/uptime_check_service.rb +6 -6
  22. data/lib/google/cloud/monitoring/v3/version.rb +1 -1
  23. data/lib/google/cloud/monitoring/v3.rb +3 -2
  24. data/lib/google/monitoring/v3/snooze_pb.rb +33 -0
  25. data/lib/google/monitoring/v3/snooze_service_pb.rb +51 -0
  26. data/lib/google/monitoring/v3/snooze_service_services_pb.rb +57 -0
  27. data/lib/google/monitoring/v3/uptime_pb.rb +54 -0
  28. data/lib/google/monitoring/v3/uptime_service_pb.rb +1 -0
  29. data/lib/google/monitoring/v3/uptime_service_services_pb.rb +5 -5
  30. data/proto_docs/google/api/client.rb +381 -0
  31. data/proto_docs/google/api/distribution.rb +2 -0
  32. data/proto_docs/google/api/launch_stage.rb +3 -3
  33. data/proto_docs/google/api/metric.rb +10 -6
  34. data/proto_docs/google/api/monitored_resource.rb +30 -18
  35. data/proto_docs/google/monitoring/v3/snooze.rb +74 -0
  36. data/proto_docs/google/monitoring/v3/snooze_service.rb +154 -0
  37. data/proto_docs/google/monitoring/v3/uptime.rb +184 -14
  38. data/proto_docs/google/monitoring/v3/uptime_service.rb +8 -1
  39. data/proto_docs/google/rpc/status.rb +4 -2
  40. metadata +18 -8
@@ -19,9 +19,10 @@
19
19
 
20
20
  module Google
21
21
  module Api
22
- # An object that describes the schema of a {::Google::Api::MonitoredResource MonitoredResource} object using a
23
- # type name and a set of labels. For example, the monitored resource
24
- # descriptor for Google Compute Engine VM instances has a type of
22
+ # An object that describes the schema of a
23
+ # {::Google::Api::MonitoredResource MonitoredResource} object using a type name
24
+ # and a set of labels. For example, the monitored resource descriptor for
25
+ # Google Compute Engine VM instances has a type of
25
26
  # `"gce_instance"` and specifies the use of the labels `"instance_id"` and
26
27
  # `"zone"` to identify particular VM instances.
27
28
  #
@@ -40,6 +41,10 @@ module Google
40
41
  # @return [::String]
41
42
  # Required. The monitored resource type. For example, the type
42
43
  # `"cloudsql_database"` represents databases in Google Cloud SQL.
44
+ # For a list of types, see [Monitoring resource
45
+ # types](https://cloud.google.com/monitoring/api/resources)
46
+ # and [Logging resource
47
+ # types](https://cloud.google.com/logging/docs/api/v2/resource-list).
43
48
  # @!attribute [rw] display_name
44
49
  # @return [::String]
45
50
  # Optional. A concise name for the monitored resource type that might be
@@ -66,21 +71,28 @@ module Google
66
71
  # An object representing a resource that can be used for monitoring, logging,
67
72
  # billing, or other purposes. Examples include virtual machine instances,
68
73
  # databases, and storage devices such as disks. The `type` field identifies a
69
- # {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor} object that describes the resource's
70
- # schema. Information in the `labels` field identifies the actual resource and
71
- # its attributes according to the schema. For example, a particular Compute
72
- # Engine VM instance could be represented by the following object, because the
73
- # {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor} for `"gce_instance"` has labels
74
- # `"instance_id"` and `"zone"`:
74
+ # {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor} object
75
+ # that describes the resource's schema. Information in the `labels` field
76
+ # identifies the actual resource and its attributes according to the schema.
77
+ # For example, a particular Compute Engine VM instance could be represented by
78
+ # the following object, because the
79
+ # {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor} for
80
+ # `"gce_instance"` has labels
81
+ # `"project_id"`, `"instance_id"` and `"zone"`:
75
82
  #
76
83
  # { "type": "gce_instance",
77
- # "labels": { "instance_id": "12345678901234",
84
+ # "labels": { "project_id": "my-project",
85
+ # "instance_id": "12345678901234",
78
86
  # "zone": "us-central1-a" }}
79
87
  # @!attribute [rw] type
80
88
  # @return [::String]
81
89
  # Required. The monitored resource type. This field must match
82
- # the `type` field of a {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor} object. For
83
- # example, the type of a Compute Engine VM instance is `gce_instance`.
90
+ # the `type` field of a
91
+ # {::Google::Api::MonitoredResourceDescriptor MonitoredResourceDescriptor}
92
+ # object. For example, the type of a Compute Engine VM instance is
93
+ # `gce_instance`. Some descriptors include the service name in the type; for
94
+ # example, the type of a Datastream stream is
95
+ # `datastream.googleapis.com/Stream`.
84
96
  # @!attribute [rw] labels
85
97
  # @return [::Google::Protobuf::Map{::String => ::String}]
86
98
  # Required. Values for all of the labels listed in the associated monitored
@@ -100,12 +112,12 @@ module Google
100
112
  end
101
113
  end
102
114
 
103
- # Auxiliary metadata for a {::Google::Api::MonitoredResource MonitoredResource} object.
104
- # {::Google::Api::MonitoredResource MonitoredResource} objects contain the minimum set of information to
105
- # uniquely identify a monitored resource instance. There is some other useful
106
- # auxiliary metadata. Monitoring and Logging use an ingestion
107
- # pipeline to extract metadata for cloud resources of all types, and store
108
- # the metadata in this message.
115
+ # Auxiliary metadata for a {::Google::Api::MonitoredResource MonitoredResource}
116
+ # object. {::Google::Api::MonitoredResource MonitoredResource} objects contain the
117
+ # minimum set of information to uniquely identify a monitored resource
118
+ # instance. There is some other useful auxiliary metadata. Monitoring and
119
+ # Logging use an ingestion pipeline to extract metadata for cloud resources of
120
+ # all types, and store the metadata in this message.
109
121
  # @!attribute [rw] system_labels
110
122
  # @return [::Google::Protobuf::Struct]
111
123
  # Output only. Values for predefined system metadata labels.
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Monitoring
23
+ module V3
24
+ # A `Snooze` will prevent any alerts from being opened, and close any that
25
+ # are already open. The `Snooze` will work on alerts that match the
26
+ # criteria defined in the `Snooze`. The `Snooze` will be active from
27
+ # `interval.start_time` through `interval.end_time`.
28
+ # @!attribute [rw] name
29
+ # @return [::String]
30
+ # Required. The name of the `Snooze`. The format is:
31
+ #
32
+ # projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID]
33
+ #
34
+ # The ID of the `Snooze` will be generated by the system.
35
+ # @!attribute [rw] criteria
36
+ # @return [::Google::Cloud::Monitoring::V3::Snooze::Criteria]
37
+ # Required. This defines the criteria for applying the `Snooze`. See
38
+ # `Criteria` for more information.
39
+ # @!attribute [rw] interval
40
+ # @return [::Google::Cloud::Monitoring::V3::TimeInterval]
41
+ # Required. The `Snooze` will be active from `interval.start_time` through
42
+ # `interval.end_time`.
43
+ # `interval.start_time` cannot be in the past. There is a 15 second clock
44
+ # skew to account for the time it takes for a request to reach the API from
45
+ # the UI.
46
+ # @!attribute [rw] display_name
47
+ # @return [::String]
48
+ # Required. A display name for the `Snooze`. This can be, at most, 512
49
+ # unicode characters.
50
+ class Snooze
51
+ include ::Google::Protobuf::MessageExts
52
+ extend ::Google::Protobuf::MessageExts::ClassMethods
53
+
54
+ # Criteria specific to the `AlertPolicy`s that this `Snooze` applies to. The
55
+ # `Snooze` will suppress alerts that come from one of the `AlertPolicy`s
56
+ # whose names are supplied.
57
+ # @!attribute [rw] policies
58
+ # @return [::Array<::String>]
59
+ # The specific `AlertPolicy` names for the alert that should be snoozed.
60
+ # The format is:
61
+ #
62
+ # projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID]
63
+ #
64
+ # There is a limit of 10 policies per snooze. This limit is checked during
65
+ # snooze creation.
66
+ class Criteria
67
+ include ::Google::Protobuf::MessageExts
68
+ extend ::Google::Protobuf::MessageExts::ClassMethods
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,154 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Monitoring
23
+ module V3
24
+ # The message definition for creating a `Snooze`. Users must provide the body
25
+ # of the `Snooze` to be created but must omit the `Snooze` field, `name`.
26
+ # @!attribute [rw] parent
27
+ # @return [::String]
28
+ # Required. The
29
+ # [project](https://cloud.google.com/monitoring/api/v3#project_name) in which
30
+ # a `Snooze` should be created. The format is:
31
+ #
32
+ # projects/[PROJECT_ID_OR_NUMBER]
33
+ # @!attribute [rw] snooze
34
+ # @return [::Google::Cloud::Monitoring::V3::Snooze]
35
+ # Required. The `Snooze` to create. Omit the `name` field, as it will be
36
+ # filled in by the API.
37
+ class CreateSnoozeRequest
38
+ include ::Google::Protobuf::MessageExts
39
+ extend ::Google::Protobuf::MessageExts::ClassMethods
40
+ end
41
+
42
+ # The message definition for listing `Snooze`s associated with the given
43
+ # `parent`, satisfying the optional `filter`.
44
+ # @!attribute [rw] parent
45
+ # @return [::String]
46
+ # Required. The
47
+ # [project](https://cloud.google.com/monitoring/api/v3#project_name) whose
48
+ # `Snooze`s should be listed. The format is:
49
+ #
50
+ # projects/[PROJECT_ID_OR_NUMBER]
51
+ # @!attribute [rw] filter
52
+ # @return [::String]
53
+ # Optional. Optional filter to restrict results to the given criteria. The
54
+ # following fields are supported.
55
+ #
56
+ # * `interval.start_time`
57
+ # * `interval.end_time`
58
+ #
59
+ # For example:
60
+ #
61
+ # ```
62
+ # interval.start_time > "2022-03-11T00:00:00-08:00" AND
63
+ # interval.end_time < "2022-03-12T00:00:00-08:00"
64
+ # ```
65
+ # @!attribute [rw] page_size
66
+ # @return [::Integer]
67
+ # Optional. The maximum number of results to return for a single query. The
68
+ # server may further constrain the maximum number of results returned in a
69
+ # single page. The value should be in the range [1, 1000]. If the value given
70
+ # is outside this range, the server will decide the number of results to be
71
+ # returned.
72
+ # @!attribute [rw] page_token
73
+ # @return [::String]
74
+ # Optional. The `next_page_token` from a previous call to
75
+ # `ListSnoozesRequest` to get the next page of results.
76
+ class ListSnoozesRequest
77
+ include ::Google::Protobuf::MessageExts
78
+ extend ::Google::Protobuf::MessageExts::ClassMethods
79
+ end
80
+
81
+ # The results of a successful `ListSnoozes` call, containing the matching
82
+ # `Snooze`s.
83
+ # @!attribute [rw] snoozes
84
+ # @return [::Array<::Google::Cloud::Monitoring::V3::Snooze>]
85
+ # `Snooze`s matching this list call.
86
+ # @!attribute [rw] next_page_token
87
+ # @return [::String]
88
+ # Page token for repeated calls to `ListSnoozes`, to fetch additional pages
89
+ # of results. If this is empty or missing, there are no more pages.
90
+ class ListSnoozesResponse
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+ end
94
+
95
+ # The message definition for retrieving a `Snooze`. Users must specify the
96
+ # field, `name`, which identifies the `Snooze`.
97
+ # @!attribute [rw] name
98
+ # @return [::String]
99
+ # Required. The ID of the `Snooze` to retrieve. The format is:
100
+ #
101
+ # projects/[PROJECT_ID_OR_NUMBER]/snoozes/[SNOOZE_ID]
102
+ class GetSnoozeRequest
103
+ include ::Google::Protobuf::MessageExts
104
+ extend ::Google::Protobuf::MessageExts::ClassMethods
105
+ end
106
+
107
+ # The message definition for updating a `Snooze`. The field, `snooze.name`
108
+ # identifies the `Snooze` to be updated. The remainder of `snooze` gives the
109
+ # content the `Snooze` in question will be assigned.
110
+ #
111
+ # What fields can be updated depends on the start time and end time of the
112
+ # `Snooze`.
113
+ #
114
+ # * end time is in the past: These `Snooze`s are considered
115
+ # read-only and cannot be updated.
116
+ # * start time is in the past and end time is in the future: `display_name`
117
+ # and `interval.end_time` can be updated.
118
+ # * start time is in the future: `display_name`, `interval.start_time` and
119
+ # `interval.end_time` can be updated.
120
+ # @!attribute [rw] snooze
121
+ # @return [::Google::Cloud::Monitoring::V3::Snooze]
122
+ # Required. The `Snooze` to update. Must have the name field present.
123
+ # @!attribute [rw] update_mask
124
+ # @return [::Google::Protobuf::FieldMask]
125
+ # Required. The fields to update.
126
+ #
127
+ # For each field listed in `update_mask`:
128
+ #
129
+ # * If the `Snooze` object supplied in the `UpdateSnoozeRequest` has a
130
+ # value for that field, the value of the field in the existing `Snooze`
131
+ # will be set to the value of the field in the supplied `Snooze`.
132
+ # * If the field does not have a value in the supplied `Snooze`, the field
133
+ # in the existing `Snooze` is set to its default value.
134
+ #
135
+ # Fields not listed retain their existing value.
136
+ #
137
+ # The following are the field names that are accepted in `update_mask`:
138
+ #
139
+ # * `display_name`
140
+ # * `interval.start_time`
141
+ # * `interval.end_time`
142
+ #
143
+ # That said, the start time and end time of the `Snooze` determines which
144
+ # fields can legally be updated. Before attempting an update, users should
145
+ # consult the documentation for `UpdateSnoozeRequest`, which talks about
146
+ # which fields can be updated.
147
+ class UpdateSnoozeRequest
148
+ include ::Google::Protobuf::MessageExts
149
+ extend ::Google::Protobuf::MessageExts::ClassMethods
150
+ end
151
+ end
152
+ end
153
+ end
154
+ end
@@ -29,13 +29,13 @@ module Google
29
29
  #
30
30
  # projects/[PROJECT_ID_OR_NUMBER]/internalCheckers/[INTERNAL_CHECKER_ID]
31
31
  #
32
- # `[PROJECT_ID_OR_NUMBER]` is the Stackdriver Workspace project for the
33
- # Uptime check config associated with the internal checker.
32
+ # `[PROJECT_ID_OR_NUMBER]` is the Cloud Monitoring Metrics Scope project for
33
+ # the Uptime check config associated with the internal checker.
34
34
  # @!attribute [rw] display_name
35
35
  # @return [::String]
36
36
  # The checker's human-readable name. The display name
37
- # should be unique within a Stackdriver Workspace in order to make it easier
38
- # to identify; however, uniqueness is not enforced.
37
+ # should be unique within a Cloud Monitoring Metrics Scope in order to make
38
+ # it easier to identify; however, uniqueness is not enforced.
39
39
  # @!attribute [rw] network
40
40
  # @return [::String]
41
41
  # The [GCP VPC network](https://cloud.google.com/vpc/docs/vpc) where the
@@ -47,7 +47,7 @@ module Google
47
47
  # @!attribute [rw] peer_project_id
48
48
  # @return [::String]
49
49
  # The GCP project ID where the internal checker lives. Not necessary
50
- # the same as the Workspace project.
50
+ # the same as the Metrics Scope project.
51
51
  # @!attribute [rw] state
52
52
  # @return [::Google::Cloud::Monitoring::V3::InternalChecker::State]
53
53
  # The current operational state of the internal checker.
@@ -95,8 +95,8 @@ module Google
95
95
  # @!attribute [rw] display_name
96
96
  # @return [::String]
97
97
  # A human-friendly name for the Uptime check configuration. The display name
98
- # should be unique within a Stackdriver Workspace in order to make it easier
99
- # to identify; however, uniqueness is not enforced. Required.
98
+ # should be unique within a Cloud Monitoring Workspace in order to make it
99
+ # easier to identify; however, uniqueness is not enforced. Required.
100
100
  # @!attribute [rw] monitored_resource
101
101
  # @return [::Google::Api::MonitoredResource]
102
102
  # The [monitored
@@ -109,6 +109,8 @@ module Google
109
109
  # `aws_ec2_instance`,
110
110
  # `aws_elb_load_balancer`
111
111
  # `k8s_service`
112
+ # `servicedirectory_service`
113
+ # `cloud_run_revision`
112
114
  # @!attribute [rw] resource_group
113
115
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::ResourceGroup]
114
116
  # The group resource associated with the configuration.
@@ -135,6 +137,9 @@ module Google
135
137
  # in the `content_matchers` list is supported, and additional entries will
136
138
  # be ignored. This field is optional and should only be specified if a
137
139
  # content match is required as part of the/ Uptime check.
140
+ # @!attribute [rw] checker_type
141
+ # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::CheckerType]
142
+ # The type of checkers to use to execute the Uptime check.
138
143
  # @!attribute [rw] selected_regions
139
144
  # @return [::Array<::Google::Cloud::Monitoring::V3::UptimeCheckRegion>]
140
145
  # The list of regions from which the check will be run.
@@ -154,6 +159,15 @@ module Google
154
159
  # `true` and this list is empty, the check will egress from all the
155
160
  # InternalCheckers configured for the project that owns this
156
161
  # `UptimeCheckConfig`.
162
+ # @!attribute [rw] user_labels
163
+ # @return [::Google::Protobuf::Map{::String => ::String}]
164
+ # User-supplied key/value data to be used for organizing and
165
+ # identifying the `UptimeCheckConfig` objects.
166
+ #
167
+ # The field can contain up to 64 entries. Each key and value is limited to
168
+ # 63 Unicode characters or 128 bytes, whichever is smaller. Labels and
169
+ # values can contain only lowercase letters, numerals, underscores, and
170
+ # dashes. Keys must begin with a letter.
157
171
  class UptimeCheckConfig
158
172
  include ::Google::Protobuf::MessageExts
159
173
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -173,6 +187,17 @@ module Google
173
187
  extend ::Google::Protobuf::MessageExts::ClassMethods
174
188
  end
175
189
 
190
+ # Information involved in sending ICMP pings alongside public HTTP/TCP
191
+ # checks. For HTTP, the pings are performed for each part of the redirect
192
+ # chain.
193
+ # @!attribute [rw] pings_count
194
+ # @return [::Integer]
195
+ # Number of ICMP pings. A maximum of 3 ICMP pings is currently supported.
196
+ class PingConfig
197
+ include ::Google::Protobuf::MessageExts
198
+ extend ::Google::Protobuf::MessageExts::ClassMethods
199
+ end
200
+
176
201
  # Information involved in an HTTP/HTTPS Uptime check request.
177
202
  # @!attribute [rw] request_method
178
203
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::HttpCheck::RequestMethod]
@@ -226,6 +251,14 @@ module Google
226
251
  # 3. Request method is `POST` and `content_type` is `TYPE_UNSPECIFIED`.
227
252
  # 4. Request method is `POST` and a "Content-Type" header is provided via
228
253
  # `headers` field. The `content_type` field should be used instead.
254
+ # @!attribute [rw] custom_content_type
255
+ # @return [::String]
256
+ # A user provided content type header to use for the check. The invalid
257
+ # configurations outlined in the `content_type` field apply to
258
+ # `custom_content_type`, as well as the following:
259
+ # 1. `content_type` is `URL_ENCODED` and `custom_content_type` is set.
260
+ # 2. `content_type` is `USER_PROVIDED` and `custom_content_type` is not
261
+ # set.
229
262
  # @!attribute [rw] validate_ssl
230
263
  # @return [::Boolean]
231
264
  # Boolean specifying whether to include SSL certificate validation as a
@@ -238,10 +271,19 @@ module Google
238
271
  # is `URL_ENCODED`, the body passed in must be URL-encoded. Users can
239
272
  # provide a `Content-Length` header via the `headers` field or the API will
240
273
  # do so. If the `request_method` is `GET` and `body` is not empty, the API
241
- # will return an error. The maximum byte size is 1 megabyte. Note: As with
242
- # all `bytes` fields, JSON representations are base64 encoded. e.g.:
243
- # "foo=bar" in URL-encoded form is "foo%3Dbar" and in base64 encoding is
244
- # "Zm9vJTI1M0RiYXI=".
274
+ # will return an error. The maximum byte size is 1 megabyte.
275
+ #
276
+ # Note: If client libraries aren't used (which performs the conversion
277
+ # automatically) base64 encode your `body` data since the field is of
278
+ # `bytes` type.
279
+ # @!attribute [rw] accepted_response_status_codes
280
+ # @return [::Array<::Google::Cloud::Monitoring::V3::UptimeCheckConfig::HttpCheck::ResponseStatusCode>]
281
+ # If present, the check will only pass if the HTTP response status code is
282
+ # in this set of status codes. If empty, the HTTP status code will only
283
+ # pass if the HTTP status code is 200-299.
284
+ # @!attribute [rw] ping_config
285
+ # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::PingConfig]
286
+ # Contains information needed to add pings to an HTTP check.
245
287
  class HttpCheck
246
288
  include ::Google::Protobuf::MessageExts
247
289
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -261,6 +303,43 @@ module Google
261
303
  extend ::Google::Protobuf::MessageExts::ClassMethods
262
304
  end
263
305
 
306
+ # A status to accept. Either a status code class like "2xx", or an integer
307
+ # status code like "200".
308
+ # @!attribute [rw] status_value
309
+ # @return [::Integer]
310
+ # A status code to accept.
311
+ # @!attribute [rw] status_class
312
+ # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::HttpCheck::ResponseStatusCode::StatusClass]
313
+ # A class of status codes to accept.
314
+ class ResponseStatusCode
315
+ include ::Google::Protobuf::MessageExts
316
+ extend ::Google::Protobuf::MessageExts::ClassMethods
317
+
318
+ # An HTTP status code class.
319
+ module StatusClass
320
+ # Default value that matches no status codes.
321
+ STATUS_CLASS_UNSPECIFIED = 0
322
+
323
+ # The class of status codes between 100 and 199.
324
+ STATUS_CLASS_1XX = 100
325
+
326
+ # The class of status codes between 200 and 299.
327
+ STATUS_CLASS_2XX = 200
328
+
329
+ # The class of status codes between 300 and 399.
330
+ STATUS_CLASS_3XX = 300
331
+
332
+ # The class of status codes between 400 and 499.
333
+ STATUS_CLASS_4XX = 400
334
+
335
+ # The class of status codes between 500 and 599.
336
+ STATUS_CLASS_5XX = 500
337
+
338
+ # The class of all status codes.
339
+ STATUS_CLASS_ANY = 1000
340
+ end
341
+ end
342
+
264
343
  # @!attribute [rw] key
265
344
  # @return [::String]
266
345
  # @!attribute [rw] value
@@ -290,6 +369,11 @@ module Google
290
369
  # `body` is in URL-encoded form. Equivalent to setting the `Content-Type`
291
370
  # to `application/x-www-form-urlencoded` in the HTTP request.
292
371
  URL_ENCODED = 1
372
+
373
+ # `body` is in `custom_content_type` form. Equivalent to setting the
374
+ # `Content-Type` to the contents of `custom_content_type` in the HTTP
375
+ # request.
376
+ USER_PROVIDED = 2
293
377
  end
294
378
  end
295
379
 
@@ -299,6 +383,9 @@ module Google
299
383
  # The TCP port on the server against which to run the check. Will be
300
384
  # combined with host (specified within the `monitored_resource`) to
301
385
  # construct the full URL. Required.
386
+ # @!attribute [rw] ping_config
387
+ # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::PingConfig]
388
+ # Contains information needed to add pings to a TCP check.
302
389
  class TcpCheck
303
390
  include ::Google::Protobuf::MessageExts
304
391
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -311,16 +398,51 @@ module Google
311
398
  # matching.
312
399
  # @!attribute [rw] content
313
400
  # @return [::String]
314
- # String or regex content to match. Maximum 1024 bytes. An empty `content`
315
- # string indicates no content matching is to be performed.
401
+ # String, regex or JSON content to match. Maximum 1024 bytes. An empty
402
+ # `content` string indicates no content matching is to be performed.
316
403
  # @!attribute [rw] matcher
317
404
  # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::ContentMatcher::ContentMatcherOption]
318
405
  # The type of content matcher that will be applied to the server output,
319
406
  # compared to the `content` string when the check is run.
407
+ # @!attribute [rw] json_path_matcher
408
+ # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::ContentMatcher::JsonPathMatcher]
409
+ # Matcher information for `MATCHES_JSON_PATH` and `NOT_MATCHES_JSON_PATH`
320
410
  class ContentMatcher
321
411
  include ::Google::Protobuf::MessageExts
322
412
  extend ::Google::Protobuf::MessageExts::ClassMethods
323
413
 
414
+ # Information needed to perform a JSONPath content match.
415
+ # Used for `ContentMatcherOption::MATCHES_JSON_PATH` and
416
+ # `ContentMatcherOption::NOT_MATCHES_JSON_PATH`.
417
+ # @!attribute [rw] json_path
418
+ # @return [::String]
419
+ # JSONPath within the response output pointing to the expected
420
+ # `ContentMatcher::content` to match against.
421
+ # @!attribute [rw] json_matcher
422
+ # @return [::Google::Cloud::Monitoring::V3::UptimeCheckConfig::ContentMatcher::JsonPathMatcher::JsonPathMatcherOption]
423
+ # The type of JSONPath match that will be applied to the JSON output
424
+ # (`ContentMatcher.content`)
425
+ class JsonPathMatcher
426
+ include ::Google::Protobuf::MessageExts
427
+ extend ::Google::Protobuf::MessageExts::ClassMethods
428
+
429
+ # Options to perform JSONPath content matching.
430
+ module JsonPathMatcherOption
431
+ # No JSONPath matcher type specified (not valid).
432
+ JSON_PATH_MATCHER_OPTION_UNSPECIFIED = 0
433
+
434
+ # Selects 'exact string' matching. The match succeeds if the content at
435
+ # the `json_path` within the output is exactly the same as the
436
+ # `content` string.
437
+ EXACT_MATCH = 1
438
+
439
+ # Selects regular-expression matching. The match succeeds if the
440
+ # content at the `json_path` within the output matches the regular
441
+ # expression specified in the `content` string.
442
+ REGEX_MATCH = 2
443
+ end
444
+ end
445
+
324
446
  # Options to perform content matching.
325
447
  module ContentMatcherOption
326
448
  # No content matcher type specified (maintained for backward
@@ -338,7 +460,7 @@ module Google
338
460
  # output does _NOT_ contain the `content` string.
339
461
  NOT_CONTAINS_STRING = 2
340
462
 
341
- # Selects regular-expression matching. The match succeeds of the output
463
+ # Selects regular-expression matching. The match succeeds if the output
342
464
  # matches the regular expression specified in the `content` string.
343
465
  # Regex matching is only supported for HTTP/HTTPS checks.
344
466
  MATCHES_REGEX = 3
@@ -348,8 +470,44 @@ module Google
348
470
  # `content` string. Regex matching is only supported for HTTP/HTTPS
349
471
  # checks.
350
472
  NOT_MATCHES_REGEX = 4
473
+
474
+ # Selects JSONPath matching. See `JsonPathMatcher` for details on when
475
+ # the match succeeds. JSONPath matching is only supported for HTTP/HTTPS
476
+ # checks.
477
+ MATCHES_JSON_PATH = 5
478
+
479
+ # Selects JSONPath matching. See `JsonPathMatcher` for details on when
480
+ # the match succeeds. Succeeds when output does _NOT_ match as specified.
481
+ # JSONPath is only supported for HTTP/HTTPS checks.
482
+ NOT_MATCHES_JSON_PATH = 6
351
483
  end
352
484
  end
485
+
486
+ # @!attribute [rw] key
487
+ # @return [::String]
488
+ # @!attribute [rw] value
489
+ # @return [::String]
490
+ class UserLabelsEntry
491
+ include ::Google::Protobuf::MessageExts
492
+ extend ::Google::Protobuf::MessageExts::ClassMethods
493
+ end
494
+
495
+ # What kind of checkers are available to be used by the check.
496
+ module CheckerType
497
+ # The default checker type. Currently converted to `STATIC_IP_CHECKERS`
498
+ # on creation, the default conversion behavior may change in the future.
499
+ CHECKER_TYPE_UNSPECIFIED = 0
500
+
501
+ # `STATIC_IP_CHECKERS` are used for uptime checks that perform egress
502
+ # across the public internet. `STATIC_IP_CHECKERS` use the static IP
503
+ # addresses returned by `ListUptimeCheckIps`.
504
+ STATIC_IP_CHECKERS = 1
505
+
506
+ # `VPC_CHECKERS` are used for uptime checks that perform egress using
507
+ # Service Directory and private network access. When using `VPC_CHECKERS`,
508
+ # the monitored resource type must be `servicedirectory_service`.
509
+ VPC_CHECKERS = 3
510
+ end
353
511
  end
354
512
 
355
513
  # Contains the region, location, and list of IP
@@ -393,6 +551,18 @@ module Google
393
551
  # Allows checks to run from locations within the Asia Pacific area (ex:
394
552
  # Singapore).
395
553
  ASIA_PACIFIC = 4
554
+
555
+ # Allows checks to run from locations within the western United States of
556
+ # America
557
+ USA_OREGON = 5
558
+
559
+ # Allows checks to run from locations within the central United States of
560
+ # America
561
+ USA_IOWA = 6
562
+
563
+ # Allows checks to run from locations within the eastern United States of
564
+ # America
565
+ USA_VIRGINIA = 7
396
566
  end
397
567
 
398
568
  # The supported resource types that can be used as values of
@@ -29,6 +29,13 @@ module Google
29
29
  # Uptime check configurations are listed. The format is:
30
30
  #
31
31
  # projects/[PROJECT_ID_OR_NUMBER]
32
+ # @!attribute [rw] filter
33
+ # @return [::String]
34
+ # If provided, this field specifies the criteria that must be met by
35
+ # uptime checks to be included in the response.
36
+ #
37
+ # For more details, see [Filtering
38
+ # syntax](https://cloud.google.com/monitoring/api/v3/sorting-and-filtering#filter_syntax).
32
39
  # @!attribute [rw] page_size
33
40
  # @return [::Integer]
34
41
  # The maximum number of results to return in a single response. The server
@@ -105,7 +112,7 @@ module Google
105
112
  # the values for the set of fields mentioned in the `updateMask`. If an
106
113
  # `updateMask` has not been given, this Uptime check configuration replaces
107
114
  # the current configuration. If a field is mentioned in `updateMask` but
108
- # the corresonding field is omitted in this partial Uptime check
115
+ # the corresponding field is omitted in this partial Uptime check
109
116
  # configuration, it has the effect of deleting/clearing the field from the
110
117
  # configuration on the server.
111
118
  #
@@ -28,12 +28,14 @@ module Google
28
28
  # [API Design Guide](https://cloud.google.com/apis/design/errors).
29
29
  # @!attribute [rw] code
30
30
  # @return [::Integer]
31
- # The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
31
+ # The status code, which should be an enum value of
32
+ # [google.rpc.Code][google.rpc.Code].
32
33
  # @!attribute [rw] message
33
34
  # @return [::String]
34
35
  # A developer-facing error message, which should be in English. Any
35
36
  # user-facing error message should be localized and sent in the
36
- # {::Google::Rpc::Status#details google.rpc.Status.details} field, or localized by the client.
37
+ # {::Google::Rpc::Status#details google.rpc.Status.details} field, or localized
38
+ # by the client.
37
39
  # @!attribute [rw] details
38
40
  # @return [::Array<::Google::Protobuf::Any>]
39
41
  # A list of messages that carry the error details. There is a common set of