google-cloud-support-v2 0.a → 0.2.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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/support/v2/actor_pb.rb +44 -0
  6. data/lib/google/cloud/support/v2/attachment_pb.rb +49 -0
  7. data/lib/google/cloud/support/v2/attachment_service_pb.rb +50 -0
  8. data/lib/google/cloud/support/v2/attachment_service_services_pb.rb +45 -0
  9. data/lib/google/cloud/support/v2/case_attachment_service/client.rb +416 -0
  10. data/lib/google/cloud/support/v2/case_attachment_service/credentials.rb +47 -0
  11. data/lib/google/cloud/support/v2/case_attachment_service/paths.rb +72 -0
  12. data/lib/google/cloud/support/v2/case_attachment_service.rb +49 -0
  13. data/lib/google/cloud/support/v2/case_pb.rb +52 -0
  14. data/lib/google/cloud/support/v2/case_service/client.rb +1180 -0
  15. data/lib/google/cloud/support/v2/case_service/credentials.rb +47 -0
  16. data/lib/google/cloud/support/v2/case_service/paths.rb +100 -0
  17. data/lib/google/cloud/support/v2/case_service.rb +49 -0
  18. data/lib/google/cloud/support/v2/case_service_pb.rb +63 -0
  19. data/lib/google/cloud/support/v2/case_service_services_pb.rb +75 -0
  20. data/lib/google/cloud/support/v2/comment_pb.rb +49 -0
  21. data/lib/google/cloud/support/v2/comment_service/client.rb +511 -0
  22. data/lib/google/cloud/support/v2/comment_service/credentials.rb +47 -0
  23. data/lib/google/cloud/support/v2/comment_service/paths.rb +115 -0
  24. data/lib/google/cloud/support/v2/comment_service.rb +49 -0
  25. data/lib/google/cloud/support/v2/comment_service_pb.rb +51 -0
  26. data/lib/google/cloud/support/v2/comment_service_services_pb.rb +48 -0
  27. data/lib/google/cloud/support/v2/escalation_pb.rb +45 -0
  28. data/lib/google/cloud/support/v2/version.rb +7 -2
  29. data/lib/google/cloud/support/v2.rb +42 -0
  30. data/lib/google-cloud-support-v2.rb +21 -0
  31. data/proto_docs/README.md +4 -0
  32. data/proto_docs/google/api/client.rb +381 -0
  33. data/proto_docs/google/api/field_behavior.rb +85 -0
  34. data/proto_docs/google/api/launch_stage.rb +71 -0
  35. data/proto_docs/google/api/resource.rb +222 -0
  36. data/proto_docs/google/cloud/support/v2/actor.rb +49 -0
  37. data/proto_docs/google/cloud/support/v2/attachment.rb +51 -0
  38. data/proto_docs/google/cloud/support/v2/attachment_service.rb +59 -0
  39. data/proto_docs/google/cloud/support/v2/case.rb +152 -0
  40. data/proto_docs/google/cloud/support/v2/case_service.rb +240 -0
  41. data/proto_docs/google/cloud/support/v2/comment.rb +49 -0
  42. data/proto_docs/google/cloud/support/v2/comment_service.rb +69 -0
  43. data/proto_docs/google/cloud/support/v2/escalation.rb +55 -0
  44. data/proto_docs/google/protobuf/duration.rb +98 -0
  45. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  46. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  47. metadata +201 -13
@@ -0,0 +1,152 @@
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 Support
23
+ module V2
24
+ # A support case.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # The resource name for the case.
28
+ # @!attribute [rw] display_name
29
+ # @return [::String]
30
+ # The short summary of the issue reported in this case.
31
+ # @!attribute [rw] description
32
+ # @return [::String]
33
+ # A broad description of the issue.
34
+ # @!attribute [rw] classification
35
+ # @return [::Google::Cloud::Support::V2::CaseClassification]
36
+ # The issue classification applicable to this case.
37
+ # @!attribute [rw] time_zone
38
+ # @return [::String]
39
+ # The timezone of the user who created the support case.
40
+ # It should be in a format IANA recognizes: https://www.iana.org/time-zones.
41
+ # There is no additional validation done by the API.
42
+ # @!attribute [rw] subscriber_email_addresses
43
+ # @return [::Array<::String>]
44
+ # The email addresses to receive updates on this case.
45
+ # @!attribute [r] state
46
+ # @return [::Google::Cloud::Support::V2::Case::State]
47
+ # Output only. The current status of the support case.
48
+ # @!attribute [r] create_time
49
+ # @return [::Google::Protobuf::Timestamp]
50
+ # Output only. The time this case was created.
51
+ # @!attribute [r] update_time
52
+ # @return [::Google::Protobuf::Timestamp]
53
+ # Output only. The time this case was last updated.
54
+ # @!attribute [rw] creator
55
+ # @return [::Google::Cloud::Support::V2::Actor]
56
+ # The user who created the case.
57
+ #
58
+ # Note: The name and email will be obfuscated if the case was created by
59
+ # Google Support.
60
+ # @!attribute [rw] contact_email
61
+ # @return [::String]
62
+ # A user-supplied email address to send case update notifications for. This
63
+ # should only be used in BYOID flows, where we cannot infer the user's email
64
+ # address directly from their EUCs.
65
+ # @!attribute [rw] escalated
66
+ # @return [::Boolean]
67
+ # Whether the case is currently escalated.
68
+ # @!attribute [rw] test_case
69
+ # @return [::Boolean]
70
+ # Whether this case was created for internal API testing and should not be
71
+ # acted on by the support team.
72
+ # @!attribute [rw] language_code
73
+ # @return [::String]
74
+ # The language the user has requested to receive support in. This should be a
75
+ # BCP 47 language code (e.g., `"en"`, `"zh-CN"`, `"zh-TW"`, `"ja"`, `"ko"`).
76
+ # If no language or an unsupported language is specified, this field defaults
77
+ # to English (en).
78
+ #
79
+ # Language selection during case creation may affect your available support
80
+ # options. For a list of supported languages and their support working hours,
81
+ # see: https://cloud.google.com/support/docs/language-working-hours
82
+ # @!attribute [rw] priority
83
+ # @return [::Google::Cloud::Support::V2::Case::Priority]
84
+ # The priority of this case.
85
+ class Case
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+
89
+ # The status of a support case.
90
+ module State
91
+ # Case is in an unknown state.
92
+ STATE_UNSPECIFIED = 0
93
+
94
+ # The case has been created but no one is assigned to work on it yet.
95
+ NEW = 1
96
+
97
+ # The case is currently being handled by Google support.
98
+ IN_PROGRESS_GOOGLE_SUPPORT = 2
99
+
100
+ # Google is waiting for a response.
101
+ ACTION_REQUIRED = 3
102
+
103
+ # A solution has been offered for the case, but it isn't yet closed.
104
+ SOLUTION_PROVIDED = 4
105
+
106
+ # The case has been resolved.
107
+ CLOSED = 5
108
+ end
109
+
110
+ # The case Priority. P0 is most urgent and P4 the least.
111
+ module Priority
112
+ # Priority is undefined or has not been set yet.
113
+ PRIORITY_UNSPECIFIED = 0
114
+
115
+ # Extreme impact on a production service. Service is hard down.
116
+ P0 = 1
117
+
118
+ # Critical impact on a production service. Service is currently unusable.
119
+ P1 = 2
120
+
121
+ # Severe impact on a production service. Service is usable but greatly
122
+ # impaired.
123
+ P2 = 3
124
+
125
+ # Medium impact on a production service. Service is available, but
126
+ # moderately impaired.
127
+ P3 = 4
128
+
129
+ # General questions or minor issues. Production service is fully
130
+ # available.
131
+ P4 = 5
132
+ end
133
+ end
134
+
135
+ # A classification object with a product type and value.
136
+ # @!attribute [rw] id
137
+ # @return [::String]
138
+ # The unique ID for a classification. Must be specified for case creation.
139
+ #
140
+ # To retrieve valid classification IDs for case creation, use
141
+ # `caseClassifications.search`.
142
+ # @!attribute [rw] display_name
143
+ # @return [::String]
144
+ # The display name of the classification.
145
+ class CaseClassification
146
+ include ::Google::Protobuf::MessageExts
147
+ extend ::Google::Protobuf::MessageExts::ClassMethods
148
+ end
149
+ end
150
+ end
151
+ end
152
+ end
@@ -0,0 +1,240 @@
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 Support
23
+ module V2
24
+ # The request message for the GetCase endpoint.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Required. The fully qualified name of a case to be retrieved.
28
+ class GetCaseRequest
29
+ include ::Google::Protobuf::MessageExts
30
+ extend ::Google::Protobuf::MessageExts::ClassMethods
31
+ end
32
+
33
+ # The request message for the CreateCase endpoint.
34
+ # @!attribute [rw] parent
35
+ # @return [::String]
36
+ # Required. The name of the Google Cloud Resource under which the case should
37
+ # be created.
38
+ # @!attribute [rw] case
39
+ # @return [::Google::Cloud::Support::V2::Case]
40
+ # Required. The case to be created.
41
+ class CreateCaseRequest
42
+ include ::Google::Protobuf::MessageExts
43
+ extend ::Google::Protobuf::MessageExts::ClassMethods
44
+ end
45
+
46
+ # The request message for the ListCases endpoint.
47
+ # @!attribute [rw] parent
48
+ # @return [::String]
49
+ # Required. The fully qualified name of parent resource to list cases under.
50
+ # @!attribute [rw] filter
51
+ # @return [::String]
52
+ # An expression written in filter language. If non-empty, the query returns
53
+ # the cases that match the filter. Else, the query doesn't filter the cases.
54
+ #
55
+ # Filter expressions use the following fields with the operators equals (`=`)
56
+ # and `AND`:
57
+ #
58
+ # - `state`: The accepted values are `OPEN` or `CLOSED`.
59
+ # - `priority`: The accepted values are `P0`, `P1`, `P2`, `P3`, or `P4`. You
60
+ # can specify multiple values for priority using the `OR` operator. For
61
+ # example, `priority=P1 OR priority=P2`.
62
+ # - `creator.email`: The email address of the case creator.
63
+ #
64
+ # Examples:
65
+ #
66
+ # - `state=CLOSED`
67
+ # - `state=OPEN AND creator.email="tester@example.com"`
68
+ # - `state=OPEN AND (priority=P0 OR priority=P1)`
69
+ # @!attribute [rw] page_size
70
+ # @return [::Integer]
71
+ # The maximum number of cases fetched with each request. Defaults to 10.
72
+ # @!attribute [rw] page_token
73
+ # @return [::String]
74
+ # A token identifying the page of results to return. If unspecified, the
75
+ # first page is retrieved.
76
+ class ListCasesRequest
77
+ include ::Google::Protobuf::MessageExts
78
+ extend ::Google::Protobuf::MessageExts::ClassMethods
79
+ end
80
+
81
+ # The response message for the ListCases endpoint.
82
+ # @!attribute [rw] cases
83
+ # @return [::Array<::Google::Cloud::Support::V2::Case>]
84
+ # The list of cases associated with the Google Cloud Resource, after any
85
+ # filters have been applied.
86
+ # @!attribute [rw] next_page_token
87
+ # @return [::String]
88
+ # A token to retrieve the next page of results. This should be set in the
89
+ # `page_token` field of the subsequent `ListCasesRequest` message that is
90
+ # issued. If unspecified, there are no more results to retrieve.
91
+ class ListCasesResponse
92
+ include ::Google::Protobuf::MessageExts
93
+ extend ::Google::Protobuf::MessageExts::ClassMethods
94
+ end
95
+
96
+ # The request message for the SearchCases endpoint.
97
+ # @!attribute [rw] parent
98
+ # @return [::String]
99
+ # The fully qualified name of parent resource to search cases under.
100
+ # @!attribute [rw] query
101
+ # @return [::String]
102
+ # An expression written in filter language.
103
+ #
104
+ # A query uses the following fields with the operators equals (`=`) and
105
+ # `AND`:
106
+ #
107
+ # - `organization`: An organization name in the form
108
+ # `organizations/<organization_id>`.
109
+ # - `project`: A project name in the form `projects/<project_id>`.
110
+ # - `state`: The accepted values are `OPEN` or `CLOSED`.
111
+ # - `priority`: The accepted values are `P0`, `P1`, `P2`, `P3`, or `P4`. You
112
+ # can specify multiple values for priority using the `OR` operator. For
113
+ # example, `priority=P1 OR priority=P2`.
114
+ # - `creator.email`: The email address of the case creator.
115
+ # - `billingAccount`: A billing account in the form
116
+ # `billingAccounts/<billing_account_id>`
117
+ #
118
+ # You must specify either `organization` or `project`.
119
+ #
120
+ # To search across `displayName`, `description`, and comments, use a global
121
+ # restriction with no keyword or operator. For example, `"my search"`.
122
+ #
123
+ # To search only cases updated after a certain date, use `update_time`
124
+ # restricted with that particular date, time, and timezone in ISO datetime
125
+ # format. For example, `update_time>"2020-01-01T00:00:00-05:00"`.
126
+ # `update_time` only supports the greater than operator (`>`).
127
+ #
128
+ # Examples:
129
+ #
130
+ # - `organization="organizations/123456789"`
131
+ # - `project="projects/my-project-id"`
132
+ # - `project="projects/123456789"`
133
+ # - `billing_account="billingAccounts/123456-A0B0C0-CUZ789"`
134
+ # - `organization="organizations/123456789" AND state=CLOSED`
135
+ # - `project="projects/my-project-id" AND creator.email="tester@example.com"`
136
+ # - `project="projects/my-project-id" AND (priority=P0 OR priority=P1)`
137
+ # @!attribute [rw] page_size
138
+ # @return [::Integer]
139
+ # The maximum number of cases fetched with each request. The default page
140
+ # size is 10.
141
+ # @!attribute [rw] page_token
142
+ # @return [::String]
143
+ # A token identifying the page of results to return. If unspecified, the
144
+ # first page is retrieved.
145
+ class SearchCasesRequest
146
+ include ::Google::Protobuf::MessageExts
147
+ extend ::Google::Protobuf::MessageExts::ClassMethods
148
+ end
149
+
150
+ # The response message for the SearchCases endpoint.
151
+ # @!attribute [rw] cases
152
+ # @return [::Array<::Google::Cloud::Support::V2::Case>]
153
+ # The list of cases associated with the Google Cloud Resource, after any
154
+ # filters have been applied.
155
+ # @!attribute [rw] next_page_token
156
+ # @return [::String]
157
+ # A token to retrieve the next page of results. This should be set in the
158
+ # `page_token` field of subsequent `SearchCaseRequest` message that is
159
+ # issued. If unspecified, there are no more results to retrieve.
160
+ class SearchCasesResponse
161
+ include ::Google::Protobuf::MessageExts
162
+ extend ::Google::Protobuf::MessageExts::ClassMethods
163
+ end
164
+
165
+ # The request message for the EscalateCase endpoint.
166
+ # @!attribute [rw] name
167
+ # @return [::String]
168
+ # Required. The fully qualified name of the Case resource to be escalated.
169
+ # @!attribute [rw] escalation
170
+ # @return [::Google::Cloud::Support::V2::Escalation]
171
+ # The escalation object to be sent with the escalation request.
172
+ class EscalateCaseRequest
173
+ include ::Google::Protobuf::MessageExts
174
+ extend ::Google::Protobuf::MessageExts::ClassMethods
175
+ end
176
+
177
+ # The request message for the UpdateCase endpoint
178
+ # @!attribute [rw] case
179
+ # @return [::Google::Cloud::Support::V2::Case]
180
+ # Required. The case object to update.
181
+ # @!attribute [rw] update_mask
182
+ # @return [::Google::Protobuf::FieldMask]
183
+ # A list of attributes of the case object that should be updated
184
+ # as part of this request. Supported values are `priority`, `display_name`,
185
+ # and `subscriber_email_addresses`. If no fields are specified, all supported
186
+ # fields are updated.
187
+ #
188
+ # WARNING: If you do not provide a field mask, then you might accidentally
189
+ # clear some fields. For example, if you leave the field mask empty and do
190
+ # not provide a value for `subscriber_email_addresses`, then
191
+ # `subscriber_email_addresses` is updated to empty.
192
+ class UpdateCaseRequest
193
+ include ::Google::Protobuf::MessageExts
194
+ extend ::Google::Protobuf::MessageExts::ClassMethods
195
+ end
196
+
197
+ # The request message for the CloseCase endpoint.
198
+ # @!attribute [rw] name
199
+ # @return [::String]
200
+ # Required. The fully qualified name of the case resource to be closed.
201
+ class CloseCaseRequest
202
+ include ::Google::Protobuf::MessageExts
203
+ extend ::Google::Protobuf::MessageExts::ClassMethods
204
+ end
205
+
206
+ # The request message for SearchCaseClassifications endpoint.
207
+ # @!attribute [rw] query
208
+ # @return [::String]
209
+ # An expression written in the Google Cloud filter language. If non-empty,
210
+ # then only cases whose fields match the filter are returned. If empty, then
211
+ # no messages are filtered out.
212
+ # @!attribute [rw] page_size
213
+ # @return [::Integer]
214
+ # The maximum number of cases fetched with each request.
215
+ # @!attribute [rw] page_token
216
+ # @return [::String]
217
+ # A token identifying the page of results to return. If unspecified, the
218
+ # first page is retrieved.
219
+ class SearchCaseClassificationsRequest
220
+ include ::Google::Protobuf::MessageExts
221
+ extend ::Google::Protobuf::MessageExts::ClassMethods
222
+ end
223
+
224
+ # The response message for SearchCaseClassifications endpoint.
225
+ # @!attribute [rw] case_classifications
226
+ # @return [::Array<::Google::Cloud::Support::V2::CaseClassification>]
227
+ # The classifications retrieved.
228
+ # @!attribute [rw] next_page_token
229
+ # @return [::String]
230
+ # A token to retrieve the next page of results. This should be set in the
231
+ # `page_token` field of subsequent `SearchCaseClassificationsRequest` message
232
+ # that is issued. If unspecified, there are no more results to retrieve.
233
+ class SearchCaseClassificationsResponse
234
+ include ::Google::Protobuf::MessageExts
235
+ extend ::Google::Protobuf::MessageExts::ClassMethods
236
+ end
237
+ end
238
+ end
239
+ end
240
+ end
@@ -0,0 +1,49 @@
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 Support
23
+ module V2
24
+ # A comment associated with a support case.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. The resource name for the comment.
28
+ # @!attribute [r] create_time
29
+ # @return [::Google::Protobuf::Timestamp]
30
+ # Output only. The time when this comment was created.
31
+ # @!attribute [r] creator
32
+ # @return [::Google::Cloud::Support::V2::Actor]
33
+ # Output only. The user or Google Support agent created this comment.
34
+ # @!attribute [rw] body
35
+ # @return [::String]
36
+ # The full comment body. Maximum of 12800 characters. This can contain rich
37
+ # text syntax.
38
+ # @!attribute [r] plain_text_body
39
+ # @return [::String]
40
+ # Output only. DEPRECATED. An automatically generated plain text version of
41
+ # body with all rich text syntax stripped.
42
+ class Comment
43
+ include ::Google::Protobuf::MessageExts
44
+ extend ::Google::Protobuf::MessageExts::ClassMethods
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,69 @@
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 Support
23
+ module V2
24
+ # The request message for the ListComments endpoint.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The resource name of Case object for which comments should be
28
+ # listed.
29
+ # @!attribute [rw] page_size
30
+ # @return [::Integer]
31
+ # The maximum number of comments fetched with each request. Defaults to 10.
32
+ # @!attribute [rw] page_token
33
+ # @return [::String]
34
+ # A token identifying the page of results to return. If unspecified, the
35
+ # first page is retrieved.
36
+ class ListCommentsRequest
37
+ include ::Google::Protobuf::MessageExts
38
+ extend ::Google::Protobuf::MessageExts::ClassMethods
39
+ end
40
+
41
+ # The response message for the ListComments endpoint.
42
+ # @!attribute [rw] comments
43
+ # @return [::Array<::Google::Cloud::Support::V2::Comment>]
44
+ # The list of Comments associated with the given Case.
45
+ # @!attribute [rw] next_page_token
46
+ # @return [::String]
47
+ # A token to retrieve the next page of results. This should be set in the
48
+ # `page_token` field of subsequent `ListCommentsRequest` message that is
49
+ # issued. If unspecified, there are no more results to retrieve.
50
+ class ListCommentsResponse
51
+ include ::Google::Protobuf::MessageExts
52
+ extend ::Google::Protobuf::MessageExts::ClassMethods
53
+ end
54
+
55
+ # The request message for CreateComment endpoint.
56
+ # @!attribute [rw] parent
57
+ # @return [::String]
58
+ # Required. The resource name of Case to which this comment should be added.
59
+ # @!attribute [rw] comment
60
+ # @return [::Google::Cloud::Support::V2::Comment]
61
+ # Required. The Comment object to be added to this Case.
62
+ class CreateCommentRequest
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,55 @@
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 Support
23
+ module V2
24
+ # An escalation of a support case.
25
+ # @!attribute [rw] reason
26
+ # @return [::Google::Cloud::Support::V2::Escalation::Reason]
27
+ # Required. The reason why the Case is being escalated.
28
+ # @!attribute [rw] justification
29
+ # @return [::String]
30
+ # Required. A free text description to accompany the `reason` field above.
31
+ # Provides additional context on why the case is being escalated.
32
+ class Escalation
33
+ include ::Google::Protobuf::MessageExts
34
+ extend ::Google::Protobuf::MessageExts::ClassMethods
35
+
36
+ # An enum detailing the possible reasons a case may be escalated.
37
+ module Reason
38
+ # The escalation reason is in an unknown state or has not been specified.
39
+ REASON_UNSPECIFIED = 0
40
+
41
+ # The case is taking too long to resolve.
42
+ RESOLUTION_TIME = 1
43
+
44
+ # The support agent does not have the expertise required to successfully
45
+ # resolve the issue.
46
+ TECHNICAL_EXPERTISE = 2
47
+
48
+ # The issue is having a significant business impact.
49
+ BUSINESS_IMPACT = 3
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,98 @@
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 Protobuf
22
+ # A Duration represents a signed, fixed-length span of time represented
23
+ # as a count of seconds and fractions of seconds at nanosecond
24
+ # resolution. It is independent of any calendar and concepts like "day"
25
+ # or "month". It is related to Timestamp in that the difference between
26
+ # two Timestamp values is a Duration and it can be added or subtracted
27
+ # from a Timestamp. Range is approximately +-10,000 years.
28
+ #
29
+ # # Examples
30
+ #
31
+ # Example 1: Compute Duration from two Timestamps in pseudo code.
32
+ #
33
+ # Timestamp start = ...;
34
+ # Timestamp end = ...;
35
+ # Duration duration = ...;
36
+ #
37
+ # duration.seconds = end.seconds - start.seconds;
38
+ # duration.nanos = end.nanos - start.nanos;
39
+ #
40
+ # if (duration.seconds < 0 && duration.nanos > 0) {
41
+ # duration.seconds += 1;
42
+ # duration.nanos -= 1000000000;
43
+ # } else if (duration.seconds > 0 && duration.nanos < 0) {
44
+ # duration.seconds -= 1;
45
+ # duration.nanos += 1000000000;
46
+ # }
47
+ #
48
+ # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
49
+ #
50
+ # Timestamp start = ...;
51
+ # Duration duration = ...;
52
+ # Timestamp end = ...;
53
+ #
54
+ # end.seconds = start.seconds + duration.seconds;
55
+ # end.nanos = start.nanos + duration.nanos;
56
+ #
57
+ # if (end.nanos < 0) {
58
+ # end.seconds -= 1;
59
+ # end.nanos += 1000000000;
60
+ # } else if (end.nanos >= 1000000000) {
61
+ # end.seconds += 1;
62
+ # end.nanos -= 1000000000;
63
+ # }
64
+ #
65
+ # Example 3: Compute Duration from datetime.timedelta in Python.
66
+ #
67
+ # td = datetime.timedelta(days=3, minutes=10)
68
+ # duration = Duration()
69
+ # duration.FromTimedelta(td)
70
+ #
71
+ # # JSON Mapping
72
+ #
73
+ # In JSON format, the Duration type is encoded as a string rather than an
74
+ # object, where the string ends in the suffix "s" (indicating seconds) and
75
+ # is preceded by the number of seconds, with nanoseconds expressed as
76
+ # fractional seconds. For example, 3 seconds with 0 nanoseconds should be
77
+ # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
78
+ # be expressed in JSON format as "3.000000001s", and 3 seconds and 1
79
+ # microsecond should be expressed in JSON format as "3.000001s".
80
+ # @!attribute [rw] seconds
81
+ # @return [::Integer]
82
+ # Signed seconds of the span of time. Must be from -315,576,000,000
83
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
84
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
85
+ # @!attribute [rw] nanos
86
+ # @return [::Integer]
87
+ # Signed fractions of a second at nanosecond resolution of the span
88
+ # of time. Durations less than one second are represented with a 0
89
+ # `seconds` field and a positive or negative `nanos` field. For durations
90
+ # of one second or more, a non-zero value for the `nanos` field must be
91
+ # of the same sign as the `seconds` field. Must be from -999,999,999
92
+ # to +999,999,999 inclusive.
93
+ class Duration
94
+ include ::Google::Protobuf::MessageExts
95
+ extend ::Google::Protobuf::MessageExts::ClassMethods
96
+ end
97
+ end
98
+ end