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,960 @@
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
+ # An endpoint group is a consumer frontend for a deployment group (backend).
25
+ # In order to configure intercept for a network, consumers must create:
26
+ # - An association between their network and the endpoint group.
27
+ # - A security profile that points to the endpoint group.
28
+ # - A firewall rule that references the security profile (group).
29
+ # @!attribute [rw] name
30
+ # @return [::String]
31
+ # Immutable. Identifier. The resource name of this endpoint group, for
32
+ # example:
33
+ # `projects/123456789/locations/global/interceptEndpointGroups/my-eg`.
34
+ # See https://google.aip.dev/122 for more details.
35
+ # @!attribute [r] create_time
36
+ # @return [::Google::Protobuf::Timestamp]
37
+ # Output only. The timestamp when the resource was created.
38
+ # See https://google.aip.dev/148#timestamps.
39
+ # @!attribute [r] update_time
40
+ # @return [::Google::Protobuf::Timestamp]
41
+ # Output only. The timestamp when the resource was most recently updated.
42
+ # See https://google.aip.dev/148#timestamps.
43
+ # @!attribute [rw] labels
44
+ # @return [::Google::Protobuf::Map{::String => ::String}]
45
+ # Optional. Labels are key/value pairs that help to organize and filter
46
+ # resources.
47
+ # @!attribute [rw] intercept_deployment_group
48
+ # @return [::String]
49
+ # Required. Immutable. The deployment group that this endpoint group is
50
+ # connected to, for example:
51
+ # `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
52
+ # See https://google.aip.dev/124.
53
+ # @!attribute [r] connected_deployment_group
54
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroup::ConnectedDeploymentGroup]
55
+ # Output only. Details about the connected deployment group to this endpoint
56
+ # group.
57
+ # @!attribute [r] state
58
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroup::State]
59
+ # Output only. The current state of the endpoint group.
60
+ # See https://google.aip.dev/216.
61
+ # @!attribute [r] reconciling
62
+ # @return [::Boolean]
63
+ # Output only. The current state of the resource does not match the user's
64
+ # intended state, and the system is working to reconcile them. This is part
65
+ # of the normal operation (e.g. adding a new association to the group). See
66
+ # https://google.aip.dev/128.
67
+ # @!attribute [r] associations
68
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroup::AssociationDetails>]
69
+ # Output only. List of associations to this endpoint group.
70
+ # @!attribute [rw] description
71
+ # @return [::String]
72
+ # Optional. User-provided description of the endpoint group.
73
+ # Used as additional context for the endpoint group.
74
+ class InterceptEndpointGroup
75
+ include ::Google::Protobuf::MessageExts
76
+ extend ::Google::Protobuf::MessageExts::ClassMethods
77
+
78
+ # The endpoint group's view of a connected deployment group.
79
+ # @!attribute [r] name
80
+ # @return [::String]
81
+ # Output only. The connected deployment group's resource name, for example:
82
+ # `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
83
+ # See https://google.aip.dev/124.
84
+ # @!attribute [r] locations
85
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptLocation>]
86
+ # Output only. The list of locations where the deployment group is present.
87
+ class ConnectedDeploymentGroup
88
+ include ::Google::Protobuf::MessageExts
89
+ extend ::Google::Protobuf::MessageExts::ClassMethods
90
+ end
91
+
92
+ # The endpoint group's view of a connected association.
93
+ # @!attribute [r] name
94
+ # @return [::String]
95
+ # Output only. The connected association's resource name, for example:
96
+ # `projects/123456789/locations/global/interceptEndpointGroupAssociations/my-ega`.
97
+ # See https://google.aip.dev/124.
98
+ # @!attribute [r] network
99
+ # @return [::String]
100
+ # Output only. The associated network, for example:
101
+ # projects/123456789/global/networks/my-network.
102
+ # See https://google.aip.dev/124.
103
+ # @!attribute [r] state
104
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroupAssociation::State]
105
+ # Output only. Most recent known state of the association.
106
+ class AssociationDetails
107
+ include ::Google::Protobuf::MessageExts
108
+ extend ::Google::Protobuf::MessageExts::ClassMethods
109
+ end
110
+
111
+ # @!attribute [rw] key
112
+ # @return [::String]
113
+ # @!attribute [rw] value
114
+ # @return [::String]
115
+ class LabelsEntry
116
+ include ::Google::Protobuf::MessageExts
117
+ extend ::Google::Protobuf::MessageExts::ClassMethods
118
+ end
119
+
120
+ # Endpoint group state.
121
+ module State
122
+ # State not set (this is not a valid state).
123
+ STATE_UNSPECIFIED = 0
124
+
125
+ # The endpoint group is ready and in sync with the target deployment group.
126
+ ACTIVE = 1
127
+
128
+ # The deployment group backing this endpoint group has been force-deleted.
129
+ # This endpoint group cannot be used and interception is effectively
130
+ # disabled.
131
+ CLOSED = 2
132
+
133
+ # The endpoint group is being created.
134
+ CREATING = 3
135
+
136
+ # The endpoint group is being deleted.
137
+ DELETING = 4
138
+
139
+ # The endpoint group is out of sync with the backing deployment group.
140
+ # In most cases, this is a result of a transient issue within the system
141
+ # (e.g. an inaccessible location) and the system is expected to recover
142
+ # automatically. See the associations field for details per network and
143
+ # location.
144
+ OUT_OF_SYNC = 5
145
+
146
+ # An attempt to delete the endpoint group has failed. This is a terminal
147
+ # state and the endpoint group is not expected to recover.
148
+ # The only permitted operation is to retry deleting the endpoint group.
149
+ DELETE_FAILED = 6
150
+ end
151
+ end
152
+
153
+ # Request message for ListInterceptEndpointGroups.
154
+ # @!attribute [rw] parent
155
+ # @return [::String]
156
+ # Required. The parent, which owns this collection of endpoint groups.
157
+ # Example: `projects/123456789/locations/global`.
158
+ # See https://google.aip.dev/132 for more details.
159
+ # @!attribute [rw] page_size
160
+ # @return [::Integer]
161
+ # Optional. Requested page size. Server may return fewer items than
162
+ # requested. If unspecified, server will pick an appropriate default. See
163
+ # https://google.aip.dev/158 for more details.
164
+ # @!attribute [rw] page_token
165
+ # @return [::String]
166
+ # Optional. A page token, received from a previous
167
+ # `ListInterceptEndpointGroups` call. Provide this to retrieve the subsequent
168
+ # page. When paginating, all other parameters provided to
169
+ # `ListInterceptEndpointGroups` must match the call that provided the page
170
+ # token.
171
+ # See https://google.aip.dev/158 for more details.
172
+ # @!attribute [rw] filter
173
+ # @return [::String]
174
+ # Optional. Filter expression.
175
+ # See https://google.aip.dev/160#filtering for more details.
176
+ # @!attribute [rw] order_by
177
+ # @return [::String]
178
+ # Optional. Sort expression.
179
+ # See https://google.aip.dev/132#ordering for more details.
180
+ class ListInterceptEndpointGroupsRequest
181
+ include ::Google::Protobuf::MessageExts
182
+ extend ::Google::Protobuf::MessageExts::ClassMethods
183
+ end
184
+
185
+ # Response message for ListInterceptEndpointGroups.
186
+ # @!attribute [rw] intercept_endpoint_groups
187
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroup>]
188
+ # The endpoint groups from the specified parent.
189
+ # @!attribute [rw] next_page_token
190
+ # @return [::String]
191
+ # A token that can be sent as `page_token` to retrieve the next page.
192
+ # If this field is omitted, there are no subsequent pages.
193
+ # See https://google.aip.dev/158 for more details.
194
+ class ListInterceptEndpointGroupsResponse
195
+ include ::Google::Protobuf::MessageExts
196
+ extend ::Google::Protobuf::MessageExts::ClassMethods
197
+ end
198
+
199
+ # Request message for GetInterceptEndpointGroup.
200
+ # @!attribute [rw] name
201
+ # @return [::String]
202
+ # Required. The name of the endpoint group to retrieve.
203
+ # Format:
204
+ # projects/\\{project}/locations/\\{location}/interceptEndpointGroups/\\{intercept_endpoint_group}
205
+ class GetInterceptEndpointGroupRequest
206
+ include ::Google::Protobuf::MessageExts
207
+ extend ::Google::Protobuf::MessageExts::ClassMethods
208
+ end
209
+
210
+ # Request message for CreateInterceptEndpointGroup.
211
+ # @!attribute [rw] parent
212
+ # @return [::String]
213
+ # Required. The parent resource where this endpoint group will be created.
214
+ # Format: projects/\\{project}/locations/\\{location}
215
+ # @!attribute [rw] intercept_endpoint_group_id
216
+ # @return [::String]
217
+ # Required. The ID to use for the endpoint group, which will become the final
218
+ # component of the endpoint group's resource name.
219
+ # @!attribute [rw] intercept_endpoint_group
220
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroup]
221
+ # Required. The endpoint group to create.
222
+ # @!attribute [rw] request_id
223
+ # @return [::String]
224
+ # Optional. A unique identifier for this request. Must be a UUID4.
225
+ # This request is only idempotent if a `request_id` is provided.
226
+ # See https://google.aip.dev/155 for more details.
227
+ class CreateInterceptEndpointGroupRequest
228
+ include ::Google::Protobuf::MessageExts
229
+ extend ::Google::Protobuf::MessageExts::ClassMethods
230
+ end
231
+
232
+ # Request message for UpdateInterceptEndpointGroup.
233
+ # @!attribute [rw] update_mask
234
+ # @return [::Google::Protobuf::FieldMask]
235
+ # Optional. The list of fields to update.
236
+ # Fields are specified relative to the endpoint group
237
+ # (e.g. `description`; *not* `intercept_endpoint_group.description`).
238
+ # See https://google.aip.dev/161 for more details.
239
+ # @!attribute [rw] intercept_endpoint_group
240
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroup]
241
+ # Required. The endpoint group to update.
242
+ # @!attribute [rw] request_id
243
+ # @return [::String]
244
+ # Optional. A unique identifier for this request. Must be a UUID4.
245
+ # This request is only idempotent if a `request_id` is provided.
246
+ # See https://google.aip.dev/155 for more details.
247
+ class UpdateInterceptEndpointGroupRequest
248
+ include ::Google::Protobuf::MessageExts
249
+ extend ::Google::Protobuf::MessageExts::ClassMethods
250
+ end
251
+
252
+ # Request message for DeleteInterceptEndpointGroup.
253
+ # @!attribute [rw] name
254
+ # @return [::String]
255
+ # Required. The endpoint group to delete.
256
+ # @!attribute [rw] request_id
257
+ # @return [::String]
258
+ # Optional. A unique identifier for this request. Must be a UUID4.
259
+ # This request is only idempotent if a `request_id` is provided.
260
+ # See https://google.aip.dev/155 for more details.
261
+ class DeleteInterceptEndpointGroupRequest
262
+ include ::Google::Protobuf::MessageExts
263
+ extend ::Google::Protobuf::MessageExts::ClassMethods
264
+ end
265
+
266
+ # An endpoint group association represents a link between a network and an
267
+ # endpoint group in the organization.
268
+ #
269
+ # Creating an association creates the networking infrastructure linking the
270
+ # network to the endpoint group, but does not enable intercept by itself.
271
+ # To enable intercept, the user must also create a network firewall policy
272
+ # containing intercept rules and associate it with the network.
273
+ # @!attribute [rw] name
274
+ # @return [::String]
275
+ # Immutable. Identifier. The resource name of this endpoint group
276
+ # association, for example:
277
+ # `projects/123456789/locations/global/interceptEndpointGroupAssociations/my-eg-association`.
278
+ # See https://google.aip.dev/122 for more details.
279
+ # @!attribute [r] create_time
280
+ # @return [::Google::Protobuf::Timestamp]
281
+ # Output only. The timestamp when the resource was created.
282
+ # See https://google.aip.dev/148#timestamps.
283
+ # @!attribute [r] update_time
284
+ # @return [::Google::Protobuf::Timestamp]
285
+ # Output only. The timestamp when the resource was most recently updated.
286
+ # See https://google.aip.dev/148#timestamps.
287
+ # @!attribute [rw] labels
288
+ # @return [::Google::Protobuf::Map{::String => ::String}]
289
+ # Optional. Labels are key/value pairs that help to organize and filter
290
+ # resources.
291
+ # @!attribute [rw] intercept_endpoint_group
292
+ # @return [::String]
293
+ # Required. Immutable. The endpoint group that this association is connected
294
+ # to, for example:
295
+ # `projects/123456789/locations/global/interceptEndpointGroups/my-eg`.
296
+ # See https://google.aip.dev/124.
297
+ # @!attribute [rw] network
298
+ # @return [::String]
299
+ # Required. Immutable. The VPC network that is associated. for example:
300
+ # `projects/123456789/global/networks/my-network`.
301
+ # See https://google.aip.dev/124.
302
+ # @!attribute [r] locations_details
303
+ # @deprecated This field is deprecated and may be removed in the next major version update.
304
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroupAssociation::LocationDetails>]
305
+ # Output only. The list of locations where the association is present. This
306
+ # information is retrieved from the linked endpoint group, and not configured
307
+ # as part of the association itself.
308
+ # @!attribute [r] state
309
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroupAssociation::State]
310
+ # Output only. Current state of the endpoint group association.
311
+ # @!attribute [r] reconciling
312
+ # @return [::Boolean]
313
+ # Output only. The current state of the resource does not match the user's
314
+ # intended state, and the system is working to reconcile them. This part of
315
+ # the normal operation (e.g. adding a new location to the target deployment
316
+ # group). See https://google.aip.dev/128.
317
+ # @!attribute [r] locations
318
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptLocation>]
319
+ # Output only. The list of locations where the association is configured.
320
+ # This information is retrieved from the linked endpoint group.
321
+ # @!attribute [r] network_cookie
322
+ # @return [::Integer]
323
+ # Output only. Identifier used by the data-path.
324
+ # See the NSI GENEVE format for more details:
325
+ # https://docs.cloud.google.com/network-security-integration/docs/understand-geneve#network_id
326
+ class InterceptEndpointGroupAssociation
327
+ include ::Google::Protobuf::MessageExts
328
+ extend ::Google::Protobuf::MessageExts::ClassMethods
329
+
330
+ # Contains details about the state of an association in a specific cloud
331
+ # location.
332
+ # @!attribute [r] location
333
+ # @return [::String]
334
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
335
+ # @!attribute [r] state
336
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroupAssociation::LocationDetails::State]
337
+ # Output only. The current state of the association in this location.
338
+ class LocationDetails
339
+ include ::Google::Protobuf::MessageExts
340
+ extend ::Google::Protobuf::MessageExts::ClassMethods
341
+
342
+ # The state of association.
343
+ module State
344
+ # Not set.
345
+ STATE_UNSPECIFIED = 0
346
+
347
+ # The association is ready and in sync with the linked endpoint group.
348
+ ACTIVE = 1
349
+
350
+ # The association is out of sync with the linked endpoint group.
351
+ # In most cases, this is a result of a transient issue within the system
352
+ # (e.g. an inaccessible location) and the system is expected to recover
353
+ # automatically.
354
+ OUT_OF_SYNC = 2
355
+ end
356
+ end
357
+
358
+ # @!attribute [rw] key
359
+ # @return [::String]
360
+ # @!attribute [rw] value
361
+ # @return [::String]
362
+ class LabelsEntry
363
+ include ::Google::Protobuf::MessageExts
364
+ extend ::Google::Protobuf::MessageExts::ClassMethods
365
+ end
366
+
367
+ # The state of the association.
368
+ module State
369
+ # Not set.
370
+ STATE_UNSPECIFIED = 0
371
+
372
+ # The association is ready and in sync with the linked endpoint group.
373
+ ACTIVE = 1
374
+
375
+ # The association is being created.
376
+ CREATING = 2
377
+
378
+ # The association is being deleted.
379
+ DELETING = 3
380
+
381
+ # The association is disabled due to a breaking change in another resource.
382
+ CLOSED = 4
383
+
384
+ # The association is out of sync with the linked endpoint group.
385
+ # In most cases, this is a result of a transient issue within the system
386
+ # (e.g. an inaccessible location) and the system is expected to recover
387
+ # automatically. Check the `locations_details` field for more details.
388
+ OUT_OF_SYNC = 5
389
+
390
+ # An attempt to delete the association has failed. This is a terminal state
391
+ # and the association is not expected to be usable as some of its resources
392
+ # have been deleted.
393
+ # The only permitted operation is to retry deleting the association.
394
+ DELETE_FAILED = 6
395
+ end
396
+ end
397
+
398
+ # Request message for ListInterceptEndpointGroupAssociations.
399
+ # @!attribute [rw] parent
400
+ # @return [::String]
401
+ # Required. The parent, which owns this collection of associations.
402
+ # Example: `projects/123456789/locations/global`.
403
+ # See https://google.aip.dev/132 for more details.
404
+ # @!attribute [rw] page_size
405
+ # @return [::Integer]
406
+ # Optional. Requested page size. Server may return fewer items than
407
+ # requested. If unspecified, server will pick an appropriate default. See
408
+ # https://google.aip.dev/158 for more details.
409
+ # @!attribute [rw] page_token
410
+ # @return [::String]
411
+ # Optional. A page token, received from a previous
412
+ # `ListInterceptEndpointGroups` call. Provide this to retrieve the subsequent
413
+ # page. When paginating, all other parameters provided to
414
+ # `ListInterceptEndpointGroups` must match the call that provided the page
415
+ # token. See https://google.aip.dev/158 for more details.
416
+ # @!attribute [rw] filter
417
+ # @return [::String]
418
+ # Optional. Filter expression.
419
+ # See https://google.aip.dev/160#filtering for more details.
420
+ # @!attribute [rw] order_by
421
+ # @return [::String]
422
+ # Optional. Sort expression.
423
+ # See https://google.aip.dev/132#ordering for more details.
424
+ class ListInterceptEndpointGroupAssociationsRequest
425
+ include ::Google::Protobuf::MessageExts
426
+ extend ::Google::Protobuf::MessageExts::ClassMethods
427
+ end
428
+
429
+ # Response message for ListInterceptEndpointGroupAssociations.
430
+ # @!attribute [rw] intercept_endpoint_group_associations
431
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroupAssociation>]
432
+ # The associations from the specified parent.
433
+ # @!attribute [rw] next_page_token
434
+ # @return [::String]
435
+ # A token that can be sent as `page_token` to retrieve the next page.
436
+ # If this field is omitted, there are no subsequent pages.
437
+ # See https://google.aip.dev/158 for more details.
438
+ class ListInterceptEndpointGroupAssociationsResponse
439
+ include ::Google::Protobuf::MessageExts
440
+ extend ::Google::Protobuf::MessageExts::ClassMethods
441
+ end
442
+
443
+ # Request message for GetInterceptEndpointGroupAssociation.
444
+ # @!attribute [rw] name
445
+ # @return [::String]
446
+ # Required. The name of the association to retrieve.
447
+ # Format:
448
+ # projects/\\{project}/locations/\\{location}/interceptEndpointGroupAssociations/\\{intercept_endpoint_group_association}
449
+ class GetInterceptEndpointGroupAssociationRequest
450
+ include ::Google::Protobuf::MessageExts
451
+ extend ::Google::Protobuf::MessageExts::ClassMethods
452
+ end
453
+
454
+ # Request message for CreateInterceptEndpointGroupAssociation.
455
+ # @!attribute [rw] parent
456
+ # @return [::String]
457
+ # Required. The parent resource where this association will be created.
458
+ # Format: projects/\\{project}/locations/\\{location}
459
+ # @!attribute [rw] intercept_endpoint_group_association_id
460
+ # @return [::String]
461
+ # Optional. The ID to use for the new association, which will become the
462
+ # final component of the endpoint group's resource name. If not provided, the
463
+ # server will generate a unique ID.
464
+ # @!attribute [rw] intercept_endpoint_group_association
465
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroupAssociation]
466
+ # Required. The association to create.
467
+ # @!attribute [rw] request_id
468
+ # @return [::String]
469
+ # Optional. A unique identifier for this request. Must be a UUID4.
470
+ # This request is only idempotent if a `request_id` is provided.
471
+ # See https://google.aip.dev/155 for more details.
472
+ class CreateInterceptEndpointGroupAssociationRequest
473
+ include ::Google::Protobuf::MessageExts
474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
475
+ end
476
+
477
+ # Request message for UpdateInterceptEndpointGroupAssociation.
478
+ # @!attribute [rw] update_mask
479
+ # @return [::Google::Protobuf::FieldMask]
480
+ # Optional. The list of fields to update.
481
+ # Fields are specified relative to the association
482
+ # (e.g. `description`; *not*
483
+ # `intercept_endpoint_group_association.description`). See
484
+ # https://google.aip.dev/161 for more details.
485
+ # @!attribute [rw] intercept_endpoint_group_association
486
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptEndpointGroupAssociation]
487
+ # Required. The association to update.
488
+ # @!attribute [rw] request_id
489
+ # @return [::String]
490
+ # Optional. A unique identifier for this request. Must be a UUID4.
491
+ # This request is only idempotent if a `request_id` is provided.
492
+ # See https://google.aip.dev/155 for more details.
493
+ class UpdateInterceptEndpointGroupAssociationRequest
494
+ include ::Google::Protobuf::MessageExts
495
+ extend ::Google::Protobuf::MessageExts::ClassMethods
496
+ end
497
+
498
+ # Request message for DeleteInterceptEndpointGroupAssociation.
499
+ # @!attribute [rw] name
500
+ # @return [::String]
501
+ # Required. The association to delete.
502
+ # @!attribute [rw] request_id
503
+ # @return [::String]
504
+ # Optional. A unique identifier for this request. Must be a UUID4.
505
+ # This request is only idempotent if a `request_id` is provided.
506
+ # See https://google.aip.dev/155 for more details.
507
+ class DeleteInterceptEndpointGroupAssociationRequest
508
+ include ::Google::Protobuf::MessageExts
509
+ extend ::Google::Protobuf::MessageExts::ClassMethods
510
+ end
511
+
512
+ # A deployment group aggregates many zonal intercept backends (deployments)
513
+ # into a single global intercept service. Consumers can connect this service
514
+ # using an endpoint group.
515
+ # @!attribute [rw] name
516
+ # @return [::String]
517
+ # Immutable. Identifier. The resource name of this deployment group, for
518
+ # example:
519
+ # `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
520
+ # See https://google.aip.dev/122 for more details.
521
+ # @!attribute [r] create_time
522
+ # @return [::Google::Protobuf::Timestamp]
523
+ # Output only. The timestamp when the resource was created.
524
+ # See https://google.aip.dev/148#timestamps.
525
+ # @!attribute [r] update_time
526
+ # @return [::Google::Protobuf::Timestamp]
527
+ # Output only. The timestamp when the resource was most recently updated.
528
+ # See https://google.aip.dev/148#timestamps.
529
+ # @!attribute [rw] labels
530
+ # @return [::Google::Protobuf::Map{::String => ::String}]
531
+ # Optional. Labels are key/value pairs that help to organize and filter
532
+ # resources.
533
+ # @!attribute [rw] network
534
+ # @return [::String]
535
+ # Required. Immutable. The network that will be used for all child
536
+ # deployments, for example: `projects/{project}/global/networks/{network}`.
537
+ # See https://google.aip.dev/124.
538
+ # @!attribute [r] connected_endpoint_groups
539
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptDeploymentGroup::ConnectedEndpointGroup>]
540
+ # Output only. The list of endpoint groups that are connected to this
541
+ # resource.
542
+ # @!attribute [r] nested_deployments
543
+ # @deprecated This field is deprecated and may be removed in the next major version update.
544
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptDeploymentGroup::Deployment>]
545
+ # Output only. The list of Intercept Deployments that belong to this group.
546
+ # @!attribute [r] state
547
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptDeploymentGroup::State]
548
+ # Output only. The current state of the deployment group.
549
+ # See https://google.aip.dev/216.
550
+ # @!attribute [r] reconciling
551
+ # @return [::Boolean]
552
+ # Output only. The current state of the resource does not match the user's
553
+ # intended state, and the system is working to reconcile them. This is part
554
+ # of the normal operation (e.g. adding a new deployment to the group) See
555
+ # https://google.aip.dev/128.
556
+ # @!attribute [rw] description
557
+ # @return [::String]
558
+ # Optional. User-provided description of the deployment group.
559
+ # Used as additional context for the deployment group.
560
+ # @!attribute [r] locations
561
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptLocation>]
562
+ # Output only. The list of locations where the deployment group is present.
563
+ class InterceptDeploymentGroup
564
+ include ::Google::Protobuf::MessageExts
565
+ extend ::Google::Protobuf::MessageExts::ClassMethods
566
+
567
+ # An endpoint group connected to this deployment group.
568
+ # @!attribute [r] name
569
+ # @return [::String]
570
+ # Output only. The connected endpoint group's resource name, for example:
571
+ # `projects/123456789/locations/global/interceptEndpointGroups/my-eg`.
572
+ # See https://google.aip.dev/124.
573
+ class ConnectedEndpointGroup
574
+ include ::Google::Protobuf::MessageExts
575
+ extend ::Google::Protobuf::MessageExts::ClassMethods
576
+ end
577
+
578
+ # A deployment belonging to this deployment group.
579
+ # @!attribute [r] name
580
+ # @return [::String]
581
+ # Output only. The name of the Intercept Deployment, in the format:
582
+ # `projects/{project}/locations/{location}/interceptDeployments/{intercept_deployment}`.
583
+ # @!attribute [r] state
584
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptDeployment::State]
585
+ # Output only. Most recent known state of the deployment.
586
+ class Deployment
587
+ include ::Google::Protobuf::MessageExts
588
+ extend ::Google::Protobuf::MessageExts::ClassMethods
589
+ end
590
+
591
+ # @!attribute [rw] key
592
+ # @return [::String]
593
+ # @!attribute [rw] value
594
+ # @return [::String]
595
+ class LabelsEntry
596
+ include ::Google::Protobuf::MessageExts
597
+ extend ::Google::Protobuf::MessageExts::ClassMethods
598
+ end
599
+
600
+ # The current state of the deployment group.
601
+ module State
602
+ # State not set (this is not a valid state).
603
+ STATE_UNSPECIFIED = 0
604
+
605
+ # The deployment group is ready.
606
+ ACTIVE = 1
607
+
608
+ # The deployment group is being created.
609
+ CREATING = 2
610
+
611
+ # The deployment group is being deleted.
612
+ DELETING = 3
613
+ end
614
+ end
615
+
616
+ # Request message for ListInterceptDeploymentGroups.
617
+ # @!attribute [rw] parent
618
+ # @return [::String]
619
+ # Required. The parent, which owns this collection of deployment groups.
620
+ # Example: `projects/123456789/locations/global`.
621
+ # See https://google.aip.dev/132 for more details.
622
+ # @!attribute [rw] page_size
623
+ # @return [::Integer]
624
+ # Optional. Requested page size. Server may return fewer items than
625
+ # requested. If unspecified, server will pick an appropriate default. See
626
+ # https://google.aip.dev/158 for more details.
627
+ # @!attribute [rw] page_token
628
+ # @return [::String]
629
+ # Optional. A page token, received from a previous
630
+ # `ListInterceptDeploymentGroups` call. Provide this to retrieve the
631
+ # subsequent page. When paginating, all other parameters provided to
632
+ # `ListInterceptDeploymentGroups` must match the call that provided the page
633
+ # token. See https://google.aip.dev/158 for more details.
634
+ # @!attribute [rw] filter
635
+ # @return [::String]
636
+ # Optional. Filter expression.
637
+ # See https://google.aip.dev/160#filtering for more details.
638
+ # @!attribute [rw] order_by
639
+ # @return [::String]
640
+ # Optional. Sort expression.
641
+ # See https://google.aip.dev/132#ordering for more details.
642
+ class ListInterceptDeploymentGroupsRequest
643
+ include ::Google::Protobuf::MessageExts
644
+ extend ::Google::Protobuf::MessageExts::ClassMethods
645
+ end
646
+
647
+ # Response message for ListInterceptDeploymentGroups.
648
+ # @!attribute [rw] intercept_deployment_groups
649
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptDeploymentGroup>]
650
+ # The deployment groups from the specified parent.
651
+ # @!attribute [rw] next_page_token
652
+ # @return [::String]
653
+ # A token that can be sent as `page_token` to retrieve the next page.
654
+ # If this field is omitted, there are no subsequent pages.
655
+ # See https://google.aip.dev/158 for more details.
656
+ class ListInterceptDeploymentGroupsResponse
657
+ include ::Google::Protobuf::MessageExts
658
+ extend ::Google::Protobuf::MessageExts::ClassMethods
659
+ end
660
+
661
+ # Request message for GetInterceptDeploymentGroup.
662
+ # @!attribute [rw] name
663
+ # @return [::String]
664
+ # Required. The name of the deployment group to retrieve.
665
+ # Format:
666
+ # projects/\\{project}/locations/\\{location}/interceptDeploymentGroups/\\{intercept_deployment_group}
667
+ class GetInterceptDeploymentGroupRequest
668
+ include ::Google::Protobuf::MessageExts
669
+ extend ::Google::Protobuf::MessageExts::ClassMethods
670
+ end
671
+
672
+ # Request message for CreateInterceptDeploymentGroup.
673
+ # @!attribute [rw] parent
674
+ # @return [::String]
675
+ # Required. The parent resource where this deployment group will be created.
676
+ # Format: projects/\\{project}/locations/\\{location}
677
+ # @!attribute [rw] intercept_deployment_group_id
678
+ # @return [::String]
679
+ # Required. The ID to use for the new deployment group, which will become the
680
+ # final component of the deployment group's resource name.
681
+ # @!attribute [rw] intercept_deployment_group
682
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptDeploymentGroup]
683
+ # Required. The deployment group to create.
684
+ # @!attribute [rw] request_id
685
+ # @return [::String]
686
+ # Optional. A unique identifier for this request. Must be a UUID4.
687
+ # This request is only idempotent if a `request_id` is provided.
688
+ # See https://google.aip.dev/155 for more details.
689
+ class CreateInterceptDeploymentGroupRequest
690
+ include ::Google::Protobuf::MessageExts
691
+ extend ::Google::Protobuf::MessageExts::ClassMethods
692
+ end
693
+
694
+ # Request message for UpdateInterceptDeploymentGroup.
695
+ # @!attribute [rw] update_mask
696
+ # @return [::Google::Protobuf::FieldMask]
697
+ # Optional. The list of fields to update.
698
+ # Fields are specified relative to the deployment group
699
+ # (e.g. `description`; *not*
700
+ # `intercept_deployment_group.description`). See
701
+ # https://google.aip.dev/161 for more details.
702
+ # @!attribute [rw] intercept_deployment_group
703
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptDeploymentGroup]
704
+ # Required. The deployment group to update.
705
+ # @!attribute [rw] request_id
706
+ # @return [::String]
707
+ # Optional. A unique identifier for this request. Must be a UUID4.
708
+ # This request is only idempotent if a `request_id` is provided.
709
+ # See https://google.aip.dev/155 for more details.
710
+ class UpdateInterceptDeploymentGroupRequest
711
+ include ::Google::Protobuf::MessageExts
712
+ extend ::Google::Protobuf::MessageExts::ClassMethods
713
+ end
714
+
715
+ # Request message for DeleteInterceptDeploymentGroup.
716
+ # @!attribute [rw] name
717
+ # @return [::String]
718
+ # Required. The deployment group to delete.
719
+ # @!attribute [rw] request_id
720
+ # @return [::String]
721
+ # Optional. A unique identifier for this request. Must be a UUID4.
722
+ # This request is only idempotent if a `request_id` is provided.
723
+ # See https://google.aip.dev/155 for more details.
724
+ class DeleteInterceptDeploymentGroupRequest
725
+ include ::Google::Protobuf::MessageExts
726
+ extend ::Google::Protobuf::MessageExts::ClassMethods
727
+ end
728
+
729
+ # A deployment represents a zonal intercept backend ready to accept
730
+ # GENEVE-encapsulated traffic, e.g. a zonal instance group fronted by an
731
+ # internal passthrough load balancer. Deployments are always part of a
732
+ # global deployment group which represents a global intercept service.
733
+ # @!attribute [rw] name
734
+ # @return [::String]
735
+ # Immutable. Identifier. The resource name of this deployment, for example:
736
+ # `projects/123456789/locations/us-central1-a/interceptDeployments/my-dep`.
737
+ # See https://google.aip.dev/122 for more details.
738
+ # @!attribute [r] create_time
739
+ # @return [::Google::Protobuf::Timestamp]
740
+ # Output only. The timestamp when the resource was created.
741
+ # See https://google.aip.dev/148#timestamps.
742
+ # @!attribute [r] update_time
743
+ # @return [::Google::Protobuf::Timestamp]
744
+ # Output only. The timestamp when the resource was most recently updated.
745
+ # See https://google.aip.dev/148#timestamps.
746
+ # @!attribute [rw] labels
747
+ # @return [::Google::Protobuf::Map{::String => ::String}]
748
+ # Optional. Labels are key/value pairs that help to organize and filter
749
+ # resources.
750
+ # @!attribute [rw] forwarding_rule
751
+ # @return [::String]
752
+ # Required. Immutable. The regional forwarding rule that fronts the
753
+ # interceptors, for example:
754
+ # `projects/123456789/regions/us-central1/forwardingRules/my-rule`.
755
+ # See https://google.aip.dev/124.
756
+ # @!attribute [rw] intercept_deployment_group
757
+ # @return [::String]
758
+ # Required. Immutable. The deployment group that this deployment is a part
759
+ # of, for example:
760
+ # `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
761
+ # See https://google.aip.dev/124.
762
+ # @!attribute [r] state
763
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptDeployment::State]
764
+ # Output only. The current state of the deployment.
765
+ # See https://google.aip.dev/216.
766
+ # @!attribute [r] reconciling
767
+ # @return [::Boolean]
768
+ # Output only. The current state of the resource does not match the user's
769
+ # intended state, and the system is working to reconcile them. This part of
770
+ # the normal operation (e.g. linking a new association to the parent group).
771
+ # See https://google.aip.dev/128.
772
+ # @!attribute [rw] description
773
+ # @return [::String]
774
+ # Optional. User-provided description of the deployment.
775
+ # Used as additional context for the deployment.
776
+ class InterceptDeployment
777
+ include ::Google::Protobuf::MessageExts
778
+ extend ::Google::Protobuf::MessageExts::ClassMethods
779
+
780
+ # @!attribute [rw] key
781
+ # @return [::String]
782
+ # @!attribute [rw] value
783
+ # @return [::String]
784
+ class LabelsEntry
785
+ include ::Google::Protobuf::MessageExts
786
+ extend ::Google::Protobuf::MessageExts::ClassMethods
787
+ end
788
+
789
+ # The current state of the deployment.
790
+ module State
791
+ # State not set (this is not a valid state).
792
+ STATE_UNSPECIFIED = 0
793
+
794
+ # The deployment is ready and in sync with the parent group.
795
+ ACTIVE = 1
796
+
797
+ # The deployment is being created.
798
+ CREATING = 2
799
+
800
+ # The deployment is being deleted.
801
+ DELETING = 3
802
+
803
+ # The deployment is out of sync with the parent group.
804
+ # In most cases, this is a result of a transient issue within the system
805
+ # (e.g. a delayed data-path config) and the system is expected to recover
806
+ # automatically. See the parent deployment group's state for more details.
807
+ OUT_OF_SYNC = 4
808
+
809
+ # An attempt to delete the deployment has failed. This is a terminal state
810
+ # and the deployment is not expected to recover. The only permitted
811
+ # operation is to retry deleting the deployment.
812
+ DELETE_FAILED = 5
813
+ end
814
+ end
815
+
816
+ # Request message for ListInterceptDeployments.
817
+ # @!attribute [rw] parent
818
+ # @return [::String]
819
+ # Required. The parent, which owns this collection of deployments.
820
+ # Example: `projects/123456789/locations/us-central1-a`.
821
+ # See https://google.aip.dev/132 for more details.
822
+ # @!attribute [rw] page_size
823
+ # @return [::Integer]
824
+ # Optional. Requested page size. Server may return fewer items than
825
+ # requested. If unspecified, server will pick an appropriate default. See
826
+ # https://google.aip.dev/158 for more details.
827
+ # @!attribute [rw] page_token
828
+ # @return [::String]
829
+ # Optional. A page token, received from a previous `ListInterceptDeployments`
830
+ # call. Provide this to retrieve the subsequent page. When paginating, all
831
+ # other parameters provided to `ListInterceptDeployments` must match the call
832
+ # that provided the page token. See https://google.aip.dev/158 for more
833
+ # details.
834
+ # @!attribute [rw] filter
835
+ # @return [::String]
836
+ # Optional. Filter expression.
837
+ # See https://google.aip.dev/160#filtering for more details.
838
+ # @!attribute [rw] order_by
839
+ # @return [::String]
840
+ # Optional. Sort expression.
841
+ # See https://google.aip.dev/132#ordering for more details.
842
+ class ListInterceptDeploymentsRequest
843
+ include ::Google::Protobuf::MessageExts
844
+ extend ::Google::Protobuf::MessageExts::ClassMethods
845
+ end
846
+
847
+ # Response message for ListInterceptDeployments.
848
+ # @!attribute [rw] intercept_deployments
849
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::InterceptDeployment>]
850
+ # The deployments from the specified parent.
851
+ # @!attribute [rw] next_page_token
852
+ # @return [::String]
853
+ # A token that can be sent as `page_token` to retrieve the next page.
854
+ # If this field is omitted, there are no subsequent pages.
855
+ # See https://google.aip.dev/158 for more details.
856
+ # @!attribute [rw] unreachable
857
+ # @return [::Array<::String>]
858
+ # Locations that could not be reached.
859
+ class ListInterceptDeploymentsResponse
860
+ include ::Google::Protobuf::MessageExts
861
+ extend ::Google::Protobuf::MessageExts::ClassMethods
862
+ end
863
+
864
+ # Request message for GetInterceptDeployment.
865
+ # @!attribute [rw] name
866
+ # @return [::String]
867
+ # Required. The name of the deployment to retrieve.
868
+ # Format:
869
+ # projects/\\{project}/locations/\\{location}/interceptDeployments/\\{intercept_deployment}
870
+ class GetInterceptDeploymentRequest
871
+ include ::Google::Protobuf::MessageExts
872
+ extend ::Google::Protobuf::MessageExts::ClassMethods
873
+ end
874
+
875
+ # Request message for CreateInterceptDeployment.
876
+ # @!attribute [rw] parent
877
+ # @return [::String]
878
+ # Required. The parent resource where this deployment will be created.
879
+ # Format: projects/\\{project}/locations/\\{location}
880
+ # @!attribute [rw] intercept_deployment_id
881
+ # @return [::String]
882
+ # Required. The ID to use for the new deployment, which will become the final
883
+ # component of the deployment's resource name.
884
+ # @!attribute [rw] intercept_deployment
885
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptDeployment]
886
+ # Required. The deployment to create.
887
+ # @!attribute [rw] request_id
888
+ # @return [::String]
889
+ # Optional. A unique identifier for this request. Must be a UUID4.
890
+ # This request is only idempotent if a `request_id` is provided.
891
+ # See https://google.aip.dev/155 for more details.
892
+ class CreateInterceptDeploymentRequest
893
+ include ::Google::Protobuf::MessageExts
894
+ extend ::Google::Protobuf::MessageExts::ClassMethods
895
+ end
896
+
897
+ # Request message for UpdateInterceptDeployment.
898
+ # @!attribute [rw] update_mask
899
+ # @return [::Google::Protobuf::FieldMask]
900
+ # Optional. The list of fields to update.
901
+ # Fields are specified relative to the deployment
902
+ # (e.g. `description`; *not* `intercept_deployment.description`).
903
+ # See https://google.aip.dev/161 for more details.
904
+ # @!attribute [rw] intercept_deployment
905
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptDeployment]
906
+ # Required. The deployment to update.
907
+ # @!attribute [rw] request_id
908
+ # @return [::String]
909
+ # Optional. A unique identifier for this request. Must be a UUID4.
910
+ # This request is only idempotent if a `request_id` is provided.
911
+ # See https://google.aip.dev/155 for more details.
912
+ class UpdateInterceptDeploymentRequest
913
+ include ::Google::Protobuf::MessageExts
914
+ extend ::Google::Protobuf::MessageExts::ClassMethods
915
+ end
916
+
917
+ # Request message for DeleteInterceptDeployment.
918
+ # @!attribute [rw] name
919
+ # @return [::String]
920
+ # Required. Name of the resource
921
+ # @!attribute [rw] request_id
922
+ # @return [::String]
923
+ # Optional. A unique identifier for this request. Must be a UUID4.
924
+ # This request is only idempotent if a `request_id` is provided.
925
+ # See https://google.aip.dev/155 for more details.
926
+ class DeleteInterceptDeploymentRequest
927
+ include ::Google::Protobuf::MessageExts
928
+ extend ::Google::Protobuf::MessageExts::ClassMethods
929
+ end
930
+
931
+ # Details about intercept in a specific cloud location.
932
+ # @!attribute [r] location
933
+ # @return [::String]
934
+ # Output only. The cloud location, e.g. "us-central1-a" or "asia-south1".
935
+ # @!attribute [r] state
936
+ # @return [::Google::Cloud::NetworkSecurity::V1::InterceptLocation::State]
937
+ # Output only. The current state of the association in this location.
938
+ class InterceptLocation
939
+ include ::Google::Protobuf::MessageExts
940
+ extend ::Google::Protobuf::MessageExts::ClassMethods
941
+
942
+ # The current state of a resource in the location.
943
+ module State
944
+ # State not set (this is not a valid state).
945
+ STATE_UNSPECIFIED = 0
946
+
947
+ # The resource is ready and in sync in the location.
948
+ ACTIVE = 1
949
+
950
+ # The resource is out of sync in the location.
951
+ # In most cases, this is a result of a transient issue within the system
952
+ # (e.g. an inaccessible location) and the system is expected to recover
953
+ # automatically.
954
+ OUT_OF_SYNC = 2
955
+ end
956
+ end
957
+ end
958
+ end
959
+ end
960
+ end