google-cloud-monitoring-v3 0.9.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
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