google-cloud-network_security-v1 0.a → 0.1.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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/cloud/network_security/v1/address_group_service/client.rb +1457 -0
  6. data/lib/google/cloud/network_security/v1/address_group_service/credentials.rb +47 -0
  7. data/lib/google/cloud/network_security/v1/address_group_service/operations.rb +843 -0
  8. data/lib/google/cloud/network_security/v1/address_group_service/paths.rb +110 -0
  9. data/lib/google/cloud/network_security/v1/address_group_service.rb +52 -0
  10. data/lib/google/cloud/network_security/v1/dns_threat_detector_service/client.rb +900 -0
  11. data/lib/google/cloud/network_security/v1/dns_threat_detector_service/credentials.rb +47 -0
  12. data/lib/google/cloud/network_security/v1/dns_threat_detector_service/paths.rb +86 -0
  13. data/lib/google/cloud/network_security/v1/dns_threat_detector_service.rb +49 -0
  14. data/lib/google/cloud/network_security/v1/firewall_activation/client.rb +2098 -0
  15. data/lib/google/cloud/network_security/v1/firewall_activation/credentials.rb +47 -0
  16. data/lib/google/cloud/network_security/v1/firewall_activation/operations.rb +843 -0
  17. data/lib/google/cloud/network_security/v1/firewall_activation/paths.rb +165 -0
  18. data/lib/google/cloud/network_security/v1/firewall_activation.rb +50 -0
  19. data/lib/google/cloud/network_security/v1/intercept/client.rb +2599 -0
  20. data/lib/google/cloud/network_security/v1/intercept/credentials.rb +47 -0
  21. data/lib/google/cloud/network_security/v1/intercept/operations.rb +843 -0
  22. data/lib/google/cloud/network_security/v1/intercept/paths.rb +160 -0
  23. data/lib/google/cloud/network_security/v1/intercept.rb +51 -0
  24. data/lib/google/cloud/network_security/v1/mirroring/client.rb +2598 -0
  25. data/lib/google/cloud/network_security/v1/mirroring/credentials.rb +47 -0
  26. data/lib/google/cloud/network_security/v1/mirroring/operations.rb +843 -0
  27. data/lib/google/cloud/network_security/v1/mirroring/paths.rb +160 -0
  28. data/lib/google/cloud/network_security/v1/mirroring.rb +50 -0
  29. data/lib/google/cloud/network_security/v1/network_security/client.rb +5161 -0
  30. data/lib/google/cloud/network_security/v1/network_security/credentials.rb +47 -0
  31. data/lib/google/cloud/network_security/v1/network_security/operations.rb +843 -0
  32. data/lib/google/cloud/network_security/v1/network_security/paths.rb +280 -0
  33. data/lib/google/cloud/network_security/v1/network_security.rb +52 -0
  34. data/lib/google/cloud/network_security/v1/organization_address_group_service/client.rb +1457 -0
  35. data/lib/google/cloud/network_security/v1/organization_address_group_service/credentials.rb +47 -0
  36. data/lib/google/cloud/network_security/v1/organization_address_group_service/operations.rb +843 -0
  37. data/lib/google/cloud/network_security/v1/organization_address_group_service/paths.rb +110 -0
  38. data/lib/google/cloud/network_security/v1/organization_address_group_service.rb +52 -0
  39. data/lib/google/cloud/network_security/v1/organization_security_profile_group_service/client.rb +1471 -0
  40. data/lib/google/cloud/network_security/v1/organization_security_profile_group_service/credentials.rb +47 -0
  41. data/lib/google/cloud/network_security/v1/organization_security_profile_group_service/operations.rb +843 -0
  42. data/lib/google/cloud/network_security/v1/organization_security_profile_group_service/paths.rb +191 -0
  43. data/lib/google/cloud/network_security/v1/organization_security_profile_group_service.rb +50 -0
  44. data/lib/google/cloud/network_security/v1/security_profile_group_service/client.rb +1472 -0
  45. data/lib/google/cloud/network_security/v1/security_profile_group_service/credentials.rb +47 -0
  46. data/lib/google/cloud/network_security/v1/security_profile_group_service/operations.rb +843 -0
  47. data/lib/google/cloud/network_security/v1/security_profile_group_service/paths.rb +191 -0
  48. data/lib/google/cloud/network_security/v1/security_profile_group_service.rb +51 -0
  49. data/lib/google/cloud/network_security/v1/sse_realm_service/client.rb +1316 -0
  50. data/lib/google/cloud/network_security/v1/sse_realm_service/credentials.rb +47 -0
  51. data/lib/google/cloud/network_security/v1/sse_realm_service/operations.rb +843 -0
  52. data/lib/google/cloud/network_security/v1/sse_realm_service/paths.rb +88 -0
  53. data/lib/google/cloud/network_security/v1/sse_realm_service.rb +50 -0
  54. data/lib/google/cloud/network_security/v1/version.rb +7 -2
  55. data/lib/google/cloud/network_security/v1.rb +49 -0
  56. data/lib/google/cloud/networksecurity/v1/address_group_pb.rb +46 -0
  57. data/lib/google/cloud/networksecurity/v1/address_group_services_pb.rb +97 -0
  58. data/lib/google/cloud/networksecurity/v1/authorization_policy_pb.rb +37 -0
  59. data/lib/google/cloud/networksecurity/v1/authz_policy_pb.rb +56 -0
  60. data/lib/google/cloud/networksecurity/v1/backend_authentication_config_pb.rb +33 -0
  61. data/lib/google/cloud/networksecurity/v1/client_tls_policy_pb.rb +33 -0
  62. data/lib/google/cloud/networksecurity/v1/common_pb.rb +24 -0
  63. data/lib/google/cloud/networksecurity/v1/dns_threat_detector_pb.rb +36 -0
  64. data/lib/google/cloud/networksecurity/v1/dns_threat_detector_services_pb.rb +53 -0
  65. data/lib/google/cloud/networksecurity/v1/firewall_activation_pb.rb +48 -0
  66. data/lib/google/cloud/networksecurity/v1/firewall_activation_services_pb.rb +73 -0
  67. data/lib/google/cloud/networksecurity/v1/gateway_security_policy_pb.rb +32 -0
  68. data/lib/google/cloud/networksecurity/v1/gateway_security_policy_rule_pb.rb +33 -0
  69. data/lib/google/cloud/networksecurity/v1/intercept_pb.rb +71 -0
  70. data/lib/google/cloud/networksecurity/v1/intercept_services_pb.rb +104 -0
  71. data/lib/google/cloud/networksecurity/v1/mirroring_pb.rb +72 -0
  72. data/lib/google/cloud/networksecurity/v1/mirroring_services_pb.rb +103 -0
  73. data/lib/google/cloud/networksecurity/v1/network_security_pb.rb +35 -0
  74. data/lib/google/cloud/networksecurity/v1/network_security_services_pb.rb +138 -0
  75. data/lib/google/cloud/networksecurity/v1/security_profile_group_intercept_pb.rb +24 -0
  76. data/lib/google/cloud/networksecurity/v1/security_profile_group_mirroring_pb.rb +24 -0
  77. data/lib/google/cloud/networksecurity/v1/security_profile_group_pb.rb +31 -0
  78. data/lib/google/cloud/networksecurity/v1/security_profile_group_service_pb.rb +42 -0
  79. data/lib/google/cloud/networksecurity/v1/security_profile_group_service_services_pb.rb +98 -0
  80. data/lib/google/cloud/networksecurity/v1/security_profile_group_threatprevention_pb.rb +30 -0
  81. data/lib/google/cloud/networksecurity/v1/security_profile_group_urlfiltering_pb.rb +25 -0
  82. data/lib/google/cloud/networksecurity/v1/server_tls_policy_pb.rb +35 -0
  83. data/lib/google/cloud/networksecurity/v1/sse_realm_pb.rb +46 -0
  84. data/lib/google/cloud/networksecurity/v1/sse_realm_services_pb.rb +59 -0
  85. data/lib/google/cloud/networksecurity/v1/tls_inspection_policy_pb.rb +34 -0
  86. data/lib/google/cloud/networksecurity/v1/tls_pb.rb +26 -0
  87. data/lib/google/cloud/networksecurity/v1/url_list_pb.rb +32 -0
  88. data/lib/google-cloud-network_security-v1.rb +21 -0
  89. data/proto_docs/README.md +4 -0
  90. data/proto_docs/google/api/client.rb +593 -0
  91. data/proto_docs/google/api/field_behavior.rb +85 -0
  92. data/proto_docs/google/api/field_info.rb +88 -0
  93. data/proto_docs/google/api/launch_stage.rb +71 -0
  94. data/proto_docs/google/api/resource.rb +227 -0
  95. data/proto_docs/google/cloud/networksecurity/v1/address_group.rb +374 -0
  96. data/proto_docs/google/cloud/networksecurity/v1/authorization_policy.rb +263 -0
  97. data/proto_docs/google/cloud/networksecurity/v1/authz_policy.rb +735 -0
  98. data/proto_docs/google/cloud/networksecurity/v1/backend_authentication_config.rb +217 -0
  99. data/proto_docs/google/cloud/networksecurity/v1/client_tls_policy.rb +162 -0
  100. data/proto_docs/google/cloud/networksecurity/v1/common.rb +57 -0
  101. data/proto_docs/google/cloud/networksecurity/v1/dns_threat_detector.rb +159 -0
  102. data/proto_docs/google/cloud/networksecurity/v1/firewall_activation.rb +469 -0
  103. data/proto_docs/google/cloud/networksecurity/v1/gateway_security_policy.rb +144 -0
  104. data/proto_docs/google/cloud/networksecurity/v1/gateway_security_policy_rule.rb +178 -0
  105. data/proto_docs/google/cloud/networksecurity/v1/intercept.rb +960 -0
  106. data/proto_docs/google/cloud/networksecurity/v1/mirroring.rb +970 -0
  107. data/proto_docs/google/cloud/networksecurity/v1/security_profile_group.rb +166 -0
  108. data/proto_docs/google/cloud/networksecurity/v1/security_profile_group_intercept.rb +38 -0
  109. data/proto_docs/google/cloud/networksecurity/v1/security_profile_group_mirroring.rb +38 -0
  110. data/proto_docs/google/cloud/networksecurity/v1/security_profile_group_service.rb +211 -0
  111. data/proto_docs/google/cloud/networksecurity/v1/security_profile_group_threatprevention.rb +193 -0
  112. data/proto_docs/google/cloud/networksecurity/v1/security_profile_group_urlfiltering.rb +66 -0
  113. data/proto_docs/google/cloud/networksecurity/v1/server_tls_policy.rb +251 -0
  114. data/proto_docs/google/cloud/networksecurity/v1/sse_realm.rb +388 -0
  115. data/proto_docs/google/cloud/networksecurity/v1/tls.rb +90 -0
  116. data/proto_docs/google/cloud/networksecurity/v1/tls_inspection_policy.rb +239 -0
  117. data/proto_docs/google/cloud/networksecurity/v1/url_list.rb +144 -0
  118. data/proto_docs/google/longrunning/operations.rb +191 -0
  119. data/proto_docs/google/protobuf/any.rb +145 -0
  120. data/proto_docs/google/protobuf/duration.rb +98 -0
  121. data/proto_docs/google/protobuf/empty.rb +34 -0
  122. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  123. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  124. data/proto_docs/google/rpc/status.rb +48 -0
  125. data/proto_docs/google/type/expr.rb +75 -0
  126. metadata +186 -9
@@ -0,0 +1,374 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 NetworkSecurity
23
+ module V1
24
+ # AddressGroup is a resource that specifies how a collection of IP/DNS used
25
+ # in Firewall Policy.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Required. Name of the AddressGroup resource. It matches pattern
29
+ # `projects/*/locations/{location}/addressGroups/<address_group>`.
30
+ # @!attribute [rw] description
31
+ # @return [::String]
32
+ # Optional. Free-text description of the resource.
33
+ # @!attribute [r] create_time
34
+ # @return [::Google::Protobuf::Timestamp]
35
+ # Output only. The timestamp when the resource was created.
36
+ # @!attribute [r] update_time
37
+ # @return [::Google::Protobuf::Timestamp]
38
+ # Output only. The timestamp when the resource was updated.
39
+ # @!attribute [rw] labels
40
+ # @return [::Google::Protobuf::Map{::String => ::String}]
41
+ # Optional. Set of label tags associated with the AddressGroup resource.
42
+ # @!attribute [rw] type
43
+ # @return [::Google::Cloud::NetworkSecurity::V1::AddressGroup::Type]
44
+ # Required. The type of the Address Group. Possible values are "IPv4" or
45
+ # "IPV6".
46
+ # @!attribute [rw] items
47
+ # @return [::Array<::String>]
48
+ # Optional. List of items.
49
+ # @!attribute [rw] capacity
50
+ # @return [::Integer]
51
+ # Required. Capacity of the Address Group
52
+ # @!attribute [r] self_link
53
+ # @return [::String]
54
+ # Output only. Server-defined fully-qualified URL for this resource.
55
+ # @!attribute [rw] purpose
56
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::AddressGroup::Purpose>]
57
+ # Optional. List of supported purposes of the Address Group.
58
+ class AddressGroup
59
+ include ::Google::Protobuf::MessageExts
60
+ extend ::Google::Protobuf::MessageExts::ClassMethods
61
+
62
+ # @!attribute [rw] key
63
+ # @return [::String]
64
+ # @!attribute [rw] value
65
+ # @return [::String]
66
+ class LabelsEntry
67
+ include ::Google::Protobuf::MessageExts
68
+ extend ::Google::Protobuf::MessageExts::ClassMethods
69
+ end
70
+
71
+ # Possible type of the Address Group.
72
+ module Type
73
+ # Default value.
74
+ TYPE_UNSPECIFIED = 0
75
+
76
+ # IP v4 ranges.
77
+ IPV4 = 1
78
+
79
+ # IP v6 ranges.
80
+ IPV6 = 2
81
+ end
82
+
83
+ # Purpose of the Address Group.
84
+ module Purpose
85
+ # Default value. Should never happen.
86
+ PURPOSE_UNSPECIFIED = 0
87
+
88
+ # Address Group is distributed to VMC, and is usable in Firewall Policies
89
+ # and other systems that rely on VMC.
90
+ DEFAULT = 1
91
+
92
+ # Address Group is usable in Cloud Armor.
93
+ CLOUD_ARMOR = 2
94
+ end
95
+ end
96
+
97
+ # Request used with the ListAddressGroups method.
98
+ # @!attribute [rw] parent
99
+ # @return [::String]
100
+ # Required. The project and location from which the AddressGroups
101
+ # should be listed, specified in the format
102
+ # `projects/*/locations/{location}`.
103
+ # @!attribute [rw] page_size
104
+ # @return [::Integer]
105
+ # Maximum number of AddressGroups to return per call.
106
+ # @!attribute [rw] page_token
107
+ # @return [::String]
108
+ # The value returned by the last
109
+ # `ListAddressGroupsResponse` Indicates that this is a
110
+ # continuation of a prior `ListAddressGroups` call, and
111
+ # that the system should return the next page of data.
112
+ # @!attribute [rw] return_partial_success
113
+ # @return [::Boolean]
114
+ # Optional. If true, allow partial responses for multi-regional Aggregated
115
+ # List requests.
116
+ class ListAddressGroupsRequest
117
+ include ::Google::Protobuf::MessageExts
118
+ extend ::Google::Protobuf::MessageExts::ClassMethods
119
+ end
120
+
121
+ # Response returned by the ListAddressGroups method.
122
+ # @!attribute [rw] address_groups
123
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::AddressGroup>]
124
+ # List of AddressGroups resources.
125
+ # @!attribute [rw] next_page_token
126
+ # @return [::String]
127
+ # If there might be more results than those appearing in this response, then
128
+ # `next_page_token` is included. To get the next set of results, call this
129
+ # method again using the value of `next_page_token` as `page_token`.
130
+ # @!attribute [rw] unreachable
131
+ # @return [::Array<::String>]
132
+ # Locations that could not be reached.
133
+ class ListAddressGroupsResponse
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+
138
+ # Request used by the GetAddressGroup method.
139
+ # @!attribute [rw] name
140
+ # @return [::String]
141
+ # Required. A name of the AddressGroup to get. Must be in the format
142
+ # `projects/*/locations/{location}/addressGroups/*`.
143
+ class GetAddressGroupRequest
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+ end
147
+
148
+ # Request used by the CreateAddressGroup method.
149
+ # @!attribute [rw] parent
150
+ # @return [::String]
151
+ # Required. The parent resource of the AddressGroup. Must be in the
152
+ # format `projects/*/locations/{location}`.
153
+ # @!attribute [rw] address_group_id
154
+ # @return [::String]
155
+ # Required. Short name of the AddressGroup resource to be created.
156
+ # This value should be 1-63 characters long, containing only
157
+ # letters, numbers, hyphens, and underscores, and should not start
158
+ # with a number. E.g. "authz_policy".
159
+ # @!attribute [rw] address_group
160
+ # @return [::Google::Cloud::NetworkSecurity::V1::AddressGroup]
161
+ # Required. AddressGroup resource to be created.
162
+ # @!attribute [rw] request_id
163
+ # @return [::String]
164
+ # Optional. An optional request ID to identify requests. Specify a unique
165
+ # request ID so that if you must retry your request, the server will know to
166
+ # ignore the request if it has already been completed. The server will
167
+ # guarantee that for at least 60 minutes since the first request.
168
+ #
169
+ # For example, consider a situation where you make an initial request and
170
+ # the request times out. If you make the request again with the same request
171
+ # ID, the server can check if original operation with the same request ID
172
+ # was received, and if so, will ignore the second request. This prevents
173
+ # clients from accidentally creating duplicate commitments.
174
+ #
175
+ # The request ID must be a valid UUID with the exception that zero UUID is
176
+ # not supported (00000000-0000-0000-0000-000000000000).
177
+ class CreateAddressGroupRequest
178
+ include ::Google::Protobuf::MessageExts
179
+ extend ::Google::Protobuf::MessageExts::ClassMethods
180
+ end
181
+
182
+ # Request used by the UpdateAddressGroup method.
183
+ # @!attribute [rw] update_mask
184
+ # @return [::Google::Protobuf::FieldMask]
185
+ # Optional. Field mask is used to specify the fields to be overwritten in the
186
+ # AddressGroup resource by the update.
187
+ # The fields specified in the update_mask are relative to the resource, not
188
+ # the full request. A field will be overwritten if it is in the mask. If the
189
+ # user does not provide a mask then all fields will be overwritten.
190
+ # @!attribute [rw] address_group
191
+ # @return [::Google::Cloud::NetworkSecurity::V1::AddressGroup]
192
+ # Required. Updated AddressGroup resource.
193
+ # @!attribute [rw] request_id
194
+ # @return [::String]
195
+ # Optional. An optional request ID to identify requests. Specify a unique
196
+ # request ID so that if you must retry your request, the server will know to
197
+ # ignore the request if it has already been completed. The server will
198
+ # guarantee that for at least 60 minutes since the first request.
199
+ #
200
+ # For example, consider a situation where you make an initial request and
201
+ # the request times out. If you make the request again with the same request
202
+ # ID, the server can check if original operation with the same request ID
203
+ # was received, and if so, will ignore the second request. This prevents
204
+ # clients from accidentally creating duplicate commitments.
205
+ #
206
+ # The request ID must be a valid UUID with the exception that zero UUID is
207
+ # not supported (00000000-0000-0000-0000-000000000000).
208
+ class UpdateAddressGroupRequest
209
+ include ::Google::Protobuf::MessageExts
210
+ extend ::Google::Protobuf::MessageExts::ClassMethods
211
+ end
212
+
213
+ # Request used by the DeleteAddressGroup method.
214
+ # @!attribute [rw] name
215
+ # @return [::String]
216
+ # Required. A name of the AddressGroup to delete. Must be in the format
217
+ # `projects/*/locations/{location}/addressGroups/*`.
218
+ # @!attribute [rw] request_id
219
+ # @return [::String]
220
+ # Optional. An optional request ID to identify requests. Specify a unique
221
+ # request ID so that if you must retry your request, the server will know to
222
+ # ignore the request if it has already been completed. The server will
223
+ # guarantee that for at least 60 minutes since the first request.
224
+ #
225
+ # For example, consider a situation where you make an initial request and
226
+ # the request times out. If you make the request again with the same request
227
+ # ID, the server can check if original operation with the same request ID
228
+ # was received, and if so, will ignore the second request. This prevents
229
+ # clients from accidentally creating duplicate commitments.
230
+ #
231
+ # The request ID must be a valid UUID with the exception that zero UUID is
232
+ # not supported (00000000-0000-0000-0000-000000000000).
233
+ class DeleteAddressGroupRequest
234
+ include ::Google::Protobuf::MessageExts
235
+ extend ::Google::Protobuf::MessageExts::ClassMethods
236
+ end
237
+
238
+ # Request used by the AddAddressGroupItems method.
239
+ # @!attribute [rw] address_group
240
+ # @return [::String]
241
+ # Required. A name of the AddressGroup to add items to. Must be in the format
242
+ # `projects|organization/*/locations/{location}/addressGroups/*`.
243
+ # @!attribute [rw] items
244
+ # @return [::Array<::String>]
245
+ # Required. List of items to add.
246
+ # @!attribute [rw] request_id
247
+ # @return [::String]
248
+ # Optional. An optional request ID to identify requests. Specify a unique
249
+ # request ID so that if you must retry your request, the server will know to
250
+ # ignore the request if it has already been completed. The server will
251
+ # guarantee that for at least 60 minutes since the first request.
252
+ #
253
+ # For example, consider a situation where you make an initial request and
254
+ # the request times out. If you make the request again with the same request
255
+ # ID, the server can check if original operation with the same request ID
256
+ # was received, and if so, will ignore the second request. This prevents
257
+ # clients from accidentally creating duplicate commitments.
258
+ #
259
+ # The request ID must be a valid UUID with the exception that zero UUID is
260
+ # not supported (00000000-0000-0000-0000-000000000000).
261
+ class AddAddressGroupItemsRequest
262
+ include ::Google::Protobuf::MessageExts
263
+ extend ::Google::Protobuf::MessageExts::ClassMethods
264
+ end
265
+
266
+ # Request used by the RemoveAddressGroupItems method.
267
+ # @!attribute [rw] address_group
268
+ # @return [::String]
269
+ # Required. A name of the AddressGroup to remove items from. Must be in the
270
+ # format `projects|organization/*/locations/{location}/addressGroups/*`.
271
+ # @!attribute [rw] items
272
+ # @return [::Array<::String>]
273
+ # Required. List of items to remove.
274
+ # @!attribute [rw] request_id
275
+ # @return [::String]
276
+ # Optional. An optional request ID to identify requests. Specify a unique
277
+ # request ID so that if you must retry your request, the server will know to
278
+ # ignore the request if it has already been completed. The server will
279
+ # guarantee that for at least 60 minutes since the first request.
280
+ #
281
+ # For example, consider a situation where you make an initial request and
282
+ # the request times out. If you make the request again with the same request
283
+ # ID, the server can check if original operation with the same request ID
284
+ # was received, and if so, will ignore the second request. This prevents
285
+ # clients from accidentally creating duplicate commitments.
286
+ #
287
+ # The request ID must be a valid UUID with the exception that zero UUID is
288
+ # not supported (00000000-0000-0000-0000-000000000000).
289
+ class RemoveAddressGroupItemsRequest
290
+ include ::Google::Protobuf::MessageExts
291
+ extend ::Google::Protobuf::MessageExts::ClassMethods
292
+ end
293
+
294
+ # Request used by the CloneAddressGroupItems method.
295
+ # @!attribute [rw] address_group
296
+ # @return [::String]
297
+ # Required. A name of the AddressGroup to clone items to. Must be in the
298
+ # format `projects|organization/*/locations/{location}/addressGroups/*`.
299
+ # @!attribute [rw] source_address_group
300
+ # @return [::String]
301
+ # Required. Source address group to clone items from.
302
+ # @!attribute [rw] request_id
303
+ # @return [::String]
304
+ # Optional. An optional request ID to identify requests. Specify a unique
305
+ # request ID so that if you must retry your request, the server will know to
306
+ # ignore the request if it has already been completed. The server will
307
+ # guarantee that for at least 60 minutes since the first request.
308
+ #
309
+ # For example, consider a situation where you make an initial request and
310
+ # the request times out. If you make the request again with the same request
311
+ # ID, the server can check if original operation with the same request ID
312
+ # was received, and if so, will ignore the second request. This prevents
313
+ # clients from accidentally creating duplicate commitments.
314
+ #
315
+ # The request ID must be a valid UUID with the exception that zero UUID is
316
+ # not supported (00000000-0000-0000-0000-000000000000).
317
+ class CloneAddressGroupItemsRequest
318
+ include ::Google::Protobuf::MessageExts
319
+ extend ::Google::Protobuf::MessageExts::ClassMethods
320
+ end
321
+
322
+ # Request used by the ListAddressGroupReferences method.
323
+ # @!attribute [rw] address_group
324
+ # @return [::String]
325
+ # Required. A name of the AddressGroup to clone items to. Must be in the
326
+ # format `projects|organization/*/locations/{location}/addressGroups/*`.
327
+ # @!attribute [rw] page_size
328
+ # @return [::Integer]
329
+ # The maximum number of references to return. If unspecified, server
330
+ # will pick an appropriate default. Server may return fewer items than
331
+ # requested. A caller should only rely on response's
332
+ # {::Google::Cloud::NetworkSecurity::V1::ListAddressGroupReferencesResponse#next_page_token next_page_token}
333
+ # to determine if there are more AddressGroupUsers left to be queried.
334
+ # @!attribute [rw] page_token
335
+ # @return [::String]
336
+ # The next_page_token value returned from a previous List request,
337
+ # if any.
338
+ class ListAddressGroupReferencesRequest
339
+ include ::Google::Protobuf::MessageExts
340
+ extend ::Google::Protobuf::MessageExts::ClassMethods
341
+ end
342
+
343
+ # Response of the ListAddressGroupReferences method.
344
+ # @!attribute [rw] address_group_references
345
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::ListAddressGroupReferencesResponse::AddressGroupReference>]
346
+ # A list of references that matches the specified filter in the request.
347
+ # @!attribute [rw] next_page_token
348
+ # @return [::String]
349
+ # If there might be more results than those appearing in this response, then
350
+ # `next_page_token` is included. To get the next set of results, call this
351
+ # method again using the value of `next_page_token` as `page_token`.
352
+ class ListAddressGroupReferencesResponse
353
+ include ::Google::Protobuf::MessageExts
354
+ extend ::Google::Protobuf::MessageExts::ClassMethods
355
+
356
+ # The Reference of AddressGroup.
357
+ # @!attribute [rw] firewall_policy
358
+ # @return [::String]
359
+ # FirewallPolicy that is using the Address Group.
360
+ # @!attribute [rw] security_policy
361
+ # @return [::String]
362
+ # Cloud Armor SecurityPolicy that is using the Address Group.
363
+ # @!attribute [rw] rule_priority
364
+ # @return [::Integer]
365
+ # Rule priority of the FirewallPolicy that is using the Address Group.
366
+ class AddressGroupReference
367
+ include ::Google::Protobuf::MessageExts
368
+ extend ::Google::Protobuf::MessageExts::ClassMethods
369
+ end
370
+ end
371
+ end
372
+ end
373
+ end
374
+ end
@@ -0,0 +1,263 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 NetworkSecurity
23
+ module V1
24
+ # AuthorizationPolicy is a resource that specifies how a server
25
+ # should authorize incoming connections. This resource in itself does
26
+ # not change the configuration unless it's attached to a target https
27
+ # proxy or endpoint config selector resource.
28
+ # @!attribute [rw] name
29
+ # @return [::String]
30
+ # Required. Name of the AuthorizationPolicy resource. It matches pattern
31
+ # `projects/{project}/locations/{location}/authorizationPolicies/<authorization_policy>`.
32
+ # @!attribute [rw] description
33
+ # @return [::String]
34
+ # Optional. Free-text description of the resource.
35
+ # @!attribute [r] create_time
36
+ # @return [::Google::Protobuf::Timestamp]
37
+ # Output only. The timestamp when the resource was created.
38
+ # @!attribute [r] update_time
39
+ # @return [::Google::Protobuf::Timestamp]
40
+ # Output only. The timestamp when the resource was updated.
41
+ # @!attribute [rw] labels
42
+ # @return [::Google::Protobuf::Map{::String => ::String}]
43
+ # Optional. Set of label tags associated with the AuthorizationPolicy
44
+ # resource.
45
+ # @!attribute [rw] action
46
+ # @return [::Google::Cloud::NetworkSecurity::V1::AuthorizationPolicy::Action]
47
+ # Required. The action to take when a rule match is found. Possible values
48
+ # are "ALLOW" or "DENY".
49
+ # @!attribute [rw] rules
50
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::AuthorizationPolicy::Rule>]
51
+ # Optional. List of rules to match. Note that at least one of the rules must
52
+ # match in order for the action specified in the 'action' field to be taken.
53
+ # A rule is a match if there is a matching source and destination. If left
54
+ # blank, the action specified in the `action` field will be applied on every
55
+ # request.
56
+ class AuthorizationPolicy
57
+ include ::Google::Protobuf::MessageExts
58
+ extend ::Google::Protobuf::MessageExts::ClassMethods
59
+
60
+ # Specification of rules.
61
+ # @!attribute [rw] sources
62
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::AuthorizationPolicy::Rule::Source>]
63
+ # Optional. List of attributes for the traffic source. All of the sources
64
+ # must match. A source is a match if both principals and ip_blocks match.
65
+ # If not set, the action specified in the 'action' field will be applied
66
+ # without any rule checks for the source.
67
+ # @!attribute [rw] destinations
68
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::AuthorizationPolicy::Rule::Destination>]
69
+ # Optional. List of attributes for the traffic destination. All of the
70
+ # destinations must match. A destination is a match if a request matches
71
+ # all the specified hosts, ports, methods and headers. If not set, the
72
+ # action specified in the 'action' field will be applied without any rule
73
+ # checks for the destination.
74
+ class Rule
75
+ include ::Google::Protobuf::MessageExts
76
+ extend ::Google::Protobuf::MessageExts::ClassMethods
77
+
78
+ # Specification of traffic source attributes.
79
+ # @!attribute [rw] principals
80
+ # @return [::Array<::String>]
81
+ # Optional. List of peer identities to match for authorization. At least
82
+ # one principal should match. Each peer can be an exact match, or a
83
+ # prefix match (example, "namespace/*") or a suffix match (example,
84
+ # "*/service-account") or a presence match "*". Authorization based on
85
+ # the principal name without certificate validation (configured by
86
+ # ServerTlsPolicy resource) is considered insecure.
87
+ # @!attribute [rw] ip_blocks
88
+ # @return [::Array<::String>]
89
+ # Optional. List of CIDR ranges to match based on source IP address. At
90
+ # least one IP block should match. Single IP (e.g., "1.2.3.4") and CIDR
91
+ # (e.g., "1.2.3.0/24") are supported. Authorization based on source IP
92
+ # alone should be avoided. The IP addresses of any load balancers or
93
+ # proxies should be considered untrusted.
94
+ class Source
95
+ include ::Google::Protobuf::MessageExts
96
+ extend ::Google::Protobuf::MessageExts::ClassMethods
97
+ end
98
+
99
+ # Specification of traffic destination attributes.
100
+ # @!attribute [rw] hosts
101
+ # @return [::Array<::String>]
102
+ # Required. List of host names to match. Matched against the ":authority"
103
+ # header in http requests. At least one host should match. Each host can
104
+ # be an exact match, or a prefix match (example "mydomain.*") or a suffix
105
+ # match (example "*.myorg.com") or a presence (any) match "*".
106
+ # @!attribute [rw] ports
107
+ # @return [::Array<::Integer>]
108
+ # Required. List of destination ports to match. At least one port should
109
+ # match.
110
+ # @!attribute [rw] methods
111
+ # @return [::Array<::String>]
112
+ # Optional. A list of HTTP methods to match. At least one method should
113
+ # match. Should not be set for gRPC services.
114
+ # @!attribute [rw] http_header_match
115
+ # @return [::Google::Cloud::NetworkSecurity::V1::AuthorizationPolicy::Rule::Destination::HttpHeaderMatch]
116
+ # Optional. Match against key:value pair in http header. Provides a
117
+ # flexible match based on HTTP headers, for potentially advanced use
118
+ # cases. At least one header should match. Avoid using header matches to
119
+ # make authorization decisions unless there is a strong guarantee that
120
+ # requests arrive through a trusted client or proxy.
121
+ class Destination
122
+ include ::Google::Protobuf::MessageExts
123
+ extend ::Google::Protobuf::MessageExts::ClassMethods
124
+
125
+ # Specification of HTTP header match attributes.
126
+ # @!attribute [rw] regex_match
127
+ # @return [::String]
128
+ # Required. The value of the header must match the regular expression
129
+ # specified in regexMatch. For regular expression grammar,
130
+ # please see: en.cppreference.com/w/cpp/regex/ecmascript
131
+ # For matching against a port specified in the HTTP
132
+ # request, use a headerMatch with headerName set to Host
133
+ # and a regular expression that satisfies the RFC2616 Host
134
+ # header's port specifier.
135
+ # @!attribute [rw] header_name
136
+ # @return [::String]
137
+ # Required. The name of the HTTP header to match. For matching
138
+ # against the HTTP request's authority, use a headerMatch
139
+ # with the header name ":authority". For matching a
140
+ # request's method, use the headerName ":method".
141
+ class HttpHeaderMatch
142
+ include ::Google::Protobuf::MessageExts
143
+ extend ::Google::Protobuf::MessageExts::ClassMethods
144
+ end
145
+ end
146
+ end
147
+
148
+ # @!attribute [rw] key
149
+ # @return [::String]
150
+ # @!attribute [rw] value
151
+ # @return [::String]
152
+ class LabelsEntry
153
+ include ::Google::Protobuf::MessageExts
154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
155
+ end
156
+
157
+ # Possible values that define what action to take.
158
+ module Action
159
+ # Default value.
160
+ ACTION_UNSPECIFIED = 0
161
+
162
+ # Grant access.
163
+ ALLOW = 1
164
+
165
+ # Deny access.
166
+ # Deny rules should be avoided unless they are used to provide a default
167
+ # "deny all" fallback.
168
+ DENY = 2
169
+ end
170
+ end
171
+
172
+ # Request used with the ListAuthorizationPolicies method.
173
+ # @!attribute [rw] parent
174
+ # @return [::String]
175
+ # Required. The project and location from which the AuthorizationPolicies
176
+ # should be listed, specified in the format
177
+ # `projects/{project}/locations/{location}`.
178
+ # @!attribute [rw] page_size
179
+ # @return [::Integer]
180
+ # Maximum number of AuthorizationPolicies to return per call.
181
+ # @!attribute [rw] page_token
182
+ # @return [::String]
183
+ # The value returned by the last
184
+ # `ListAuthorizationPoliciesResponse` Indicates that this is a
185
+ # continuation of a prior `ListAuthorizationPolicies` call, and
186
+ # that the system should return the next page of data.
187
+ class ListAuthorizationPoliciesRequest
188
+ include ::Google::Protobuf::MessageExts
189
+ extend ::Google::Protobuf::MessageExts::ClassMethods
190
+ end
191
+
192
+ # Response returned by the ListAuthorizationPolicies method.
193
+ # @!attribute [rw] authorization_policies
194
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::AuthorizationPolicy>]
195
+ # List of AuthorizationPolicies resources.
196
+ # @!attribute [rw] next_page_token
197
+ # @return [::String]
198
+ # If there might be more results than those appearing in this response, then
199
+ # `next_page_token` is included. To get the next set of results, call this
200
+ # method again using the value of `next_page_token` as `page_token`.
201
+ class ListAuthorizationPoliciesResponse
202
+ include ::Google::Protobuf::MessageExts
203
+ extend ::Google::Protobuf::MessageExts::ClassMethods
204
+ end
205
+
206
+ # Request used by the GetAuthorizationPolicy method.
207
+ # @!attribute [rw] name
208
+ # @return [::String]
209
+ # Required. A name of the AuthorizationPolicy to get. Must be in the format
210
+ # `projects/{project}/locations/{location}/authorizationPolicies/*`.
211
+ class GetAuthorizationPolicyRequest
212
+ include ::Google::Protobuf::MessageExts
213
+ extend ::Google::Protobuf::MessageExts::ClassMethods
214
+ end
215
+
216
+ # Request used by the CreateAuthorizationPolicy method.
217
+ # @!attribute [rw] parent
218
+ # @return [::String]
219
+ # Required. The parent resource of the AuthorizationPolicy. Must be in the
220
+ # format `projects/{project}/locations/{location}`.
221
+ # @!attribute [rw] authorization_policy_id
222
+ # @return [::String]
223
+ # Required. Short name of the AuthorizationPolicy resource to be created.
224
+ # This value should be 1-63 characters long, containing only
225
+ # letters, numbers, hyphens, and underscores, and should not start
226
+ # with a number. E.g. "authz_policy".
227
+ # @!attribute [rw] authorization_policy
228
+ # @return [::Google::Cloud::NetworkSecurity::V1::AuthorizationPolicy]
229
+ # Required. AuthorizationPolicy resource to be created.
230
+ class CreateAuthorizationPolicyRequest
231
+ include ::Google::Protobuf::MessageExts
232
+ extend ::Google::Protobuf::MessageExts::ClassMethods
233
+ end
234
+
235
+ # Request used by the UpdateAuthorizationPolicy method.
236
+ # @!attribute [rw] update_mask
237
+ # @return [::Google::Protobuf::FieldMask]
238
+ # Optional. Field mask is used to specify the fields to be overwritten in the
239
+ # AuthorizationPolicy resource by the update.
240
+ # The fields specified in the update_mask are relative to the resource, not
241
+ # the full request. A field will be overwritten if it is in the mask. If the
242
+ # user does not provide a mask then all fields will be overwritten.
243
+ # @!attribute [rw] authorization_policy
244
+ # @return [::Google::Cloud::NetworkSecurity::V1::AuthorizationPolicy]
245
+ # Required. Updated AuthorizationPolicy resource.
246
+ class UpdateAuthorizationPolicyRequest
247
+ include ::Google::Protobuf::MessageExts
248
+ extend ::Google::Protobuf::MessageExts::ClassMethods
249
+ end
250
+
251
+ # Request used by the DeleteAuthorizationPolicy method.
252
+ # @!attribute [rw] name
253
+ # @return [::String]
254
+ # Required. A name of the AuthorizationPolicy to delete. Must be in the
255
+ # format `projects/{project}/locations/{location}/authorizationPolicies/*`.
256
+ class DeleteAuthorizationPolicyRequest
257
+ include ::Google::Protobuf::MessageExts
258
+ extend ::Google::Protobuf::MessageExts::ClassMethods
259
+ end
260
+ end
261
+ end
262
+ end
263
+ end