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,166 @@
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
+ # SecurityProfileGroup is a resource that defines the behavior for various
25
+ # ProfileTypes.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Immutable. Identifier. Name of the SecurityProfileGroup resource. It
29
+ # matches pattern
30
+ # `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
31
+ # @!attribute [rw] description
32
+ # @return [::String]
33
+ # Optional. An optional description of the profile group. Max length 2048
34
+ # characters.
35
+ # @!attribute [r] create_time
36
+ # @return [::Google::Protobuf::Timestamp]
37
+ # Output only. Resource creation timestamp.
38
+ # @!attribute [r] update_time
39
+ # @return [::Google::Protobuf::Timestamp]
40
+ # Output only. Last resource update timestamp.
41
+ # @!attribute [r] etag
42
+ # @return [::String]
43
+ # Output only. This checksum is computed by the server based on the value of
44
+ # other fields, and may be sent on update and delete requests to ensure the
45
+ # client has an up-to-date value before proceeding.
46
+ # @!attribute [r] data_path_id
47
+ # @return [::Integer]
48
+ # Output only. Identifier used by the data-path. Unique within `{container,
49
+ # location}`.
50
+ # @!attribute [rw] labels
51
+ # @return [::Google::Protobuf::Map{::String => ::String}]
52
+ # Optional. Labels as key value pairs.
53
+ # @!attribute [rw] threat_prevention_profile
54
+ # @return [::String]
55
+ # Optional. Reference to a SecurityProfile with the ThreatPrevention
56
+ # configuration.
57
+ # @!attribute [rw] custom_mirroring_profile
58
+ # @return [::String]
59
+ # Optional. Reference to a SecurityProfile with the CustomMirroring
60
+ # configuration.
61
+ # @!attribute [rw] custom_intercept_profile
62
+ # @return [::String]
63
+ # Optional. Reference to a SecurityProfile with the CustomIntercept
64
+ # configuration.
65
+ # @!attribute [rw] url_filtering_profile
66
+ # @return [::String]
67
+ # Optional. Reference to a SecurityProfile with the UrlFiltering
68
+ # configuration.
69
+ class SecurityProfileGroup
70
+ include ::Google::Protobuf::MessageExts
71
+ extend ::Google::Protobuf::MessageExts::ClassMethods
72
+
73
+ # @!attribute [rw] key
74
+ # @return [::String]
75
+ # @!attribute [rw] value
76
+ # @return [::String]
77
+ class LabelsEntry
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+ end
81
+ end
82
+
83
+ # SecurityProfile is a resource that defines the behavior for one of many
84
+ # ProfileTypes.
85
+ # @!attribute [rw] threat_prevention_profile
86
+ # @return [::Google::Cloud::NetworkSecurity::V1::ThreatPreventionProfile]
87
+ # The threat prevention configuration for the SecurityProfile.
88
+ #
89
+ # Note: The following fields are mutually exclusive: `threat_prevention_profile`, `custom_mirroring_profile`, `custom_intercept_profile`, `url_filtering_profile`. If a field in that set is populated, all other fields in the set will automatically be cleared.
90
+ # @!attribute [rw] custom_mirroring_profile
91
+ # @return [::Google::Cloud::NetworkSecurity::V1::CustomMirroringProfile]
92
+ # The custom Packet Mirroring v2 configuration for the SecurityProfile.
93
+ #
94
+ # Note: The following fields are mutually exclusive: `custom_mirroring_profile`, `threat_prevention_profile`, `custom_intercept_profile`, `url_filtering_profile`. If a field in that set is populated, all other fields in the set will automatically be cleared.
95
+ # @!attribute [rw] custom_intercept_profile
96
+ # @return [::Google::Cloud::NetworkSecurity::V1::CustomInterceptProfile]
97
+ # The custom TPPI configuration for the SecurityProfile.
98
+ #
99
+ # Note: The following fields are mutually exclusive: `custom_intercept_profile`, `threat_prevention_profile`, `custom_mirroring_profile`, `url_filtering_profile`. If a field in that set is populated, all other fields in the set will automatically be cleared.
100
+ # @!attribute [rw] url_filtering_profile
101
+ # @return [::Google::Cloud::NetworkSecurity::V1::UrlFilteringProfile]
102
+ # The URL filtering configuration for the SecurityProfile.
103
+ #
104
+ # Note: The following fields are mutually exclusive: `url_filtering_profile`, `threat_prevention_profile`, `custom_mirroring_profile`, `custom_intercept_profile`. If a field in that set is populated, all other fields in the set will automatically be cleared.
105
+ # @!attribute [rw] name
106
+ # @return [::String]
107
+ # Immutable. Identifier. Name of the SecurityProfile resource. It matches
108
+ # pattern
109
+ # `projects|organizations/*/locations/{location}/securityProfiles/{security_profile}`.
110
+ # @!attribute [rw] description
111
+ # @return [::String]
112
+ # Optional. An optional description of the profile. Max length 512
113
+ # characters.
114
+ # @!attribute [r] create_time
115
+ # @return [::Google::Protobuf::Timestamp]
116
+ # Output only. Resource creation timestamp.
117
+ # @!attribute [r] update_time
118
+ # @return [::Google::Protobuf::Timestamp]
119
+ # Output only. Last resource update timestamp.
120
+ # @!attribute [r] etag
121
+ # @return [::String]
122
+ # Output only. This checksum is computed by the server based on the value of
123
+ # other fields, and may be sent on update and delete requests to ensure the
124
+ # client has an up-to-date value before proceeding.
125
+ # @!attribute [rw] labels
126
+ # @return [::Google::Protobuf::Map{::String => ::String}]
127
+ # Optional. Labels as key value pairs.
128
+ # @!attribute [rw] type
129
+ # @return [::Google::Cloud::NetworkSecurity::V1::SecurityProfile::ProfileType]
130
+ # Immutable. The single ProfileType that the SecurityProfile resource
131
+ # configures.
132
+ class SecurityProfile
133
+ include ::Google::Protobuf::MessageExts
134
+ extend ::Google::Protobuf::MessageExts::ClassMethods
135
+
136
+ # @!attribute [rw] key
137
+ # @return [::String]
138
+ # @!attribute [rw] value
139
+ # @return [::String]
140
+ class LabelsEntry
141
+ include ::Google::Protobuf::MessageExts
142
+ extend ::Google::Protobuf::MessageExts::ClassMethods
143
+ end
144
+
145
+ # The possible types that the SecurityProfile resource can configure.
146
+ module ProfileType
147
+ # Profile type not specified.
148
+ PROFILE_TYPE_UNSPECIFIED = 0
149
+
150
+ # Profile type for threat prevention.
151
+ THREAT_PREVENTION = 1
152
+
153
+ # Profile type for packet mirroring v2
154
+ CUSTOM_MIRRORING = 2
155
+
156
+ # Profile type for TPPI.
157
+ CUSTOM_INTERCEPT = 3
158
+
159
+ # Profile type for URL filtering.
160
+ URL_FILTERING = 5
161
+ end
162
+ end
163
+ end
164
+ end
165
+ end
166
+ end
@@ -0,0 +1,38 @@
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
+ # CustomInterceptProfile defines in-band integration behavior (intercept).
25
+ # It is used by firewall rules with an APPLY_SECURITY_PROFILE_GROUP action.
26
+ # @!attribute [rw] intercept_endpoint_group
27
+ # @return [::String]
28
+ # Required. The target InterceptEndpointGroup.
29
+ # When a firewall rule with this security profile attached matches a packet,
30
+ # the packet will be intercepted to the location-local target in this group.
31
+ class CustomInterceptProfile
32
+ include ::Google::Protobuf::MessageExts
33
+ extend ::Google::Protobuf::MessageExts::ClassMethods
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
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
+ # CustomMirroringProfile defines out-of-band integration behavior (mirroring).
25
+ # It is used by mirroring rules with a MIRROR action.
26
+ # @!attribute [rw] mirroring_endpoint_group
27
+ # @return [::String]
28
+ # Required. Immutable. The target MirroringEndpointGroup.
29
+ # When a mirroring rule with this security profile attached matches a packet,
30
+ # a replica will be mirrored to the location-local target in this group.
31
+ class CustomMirroringProfile
32
+ include ::Google::Protobuf::MessageExts
33
+ extend ::Google::Protobuf::MessageExts::ClassMethods
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,211 @@
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
+ # Request used with the ListSecurityProfileGroups method.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The project or organization and location from which the
28
+ # SecurityProfileGroups should be listed, specified in the format
29
+ # `projects|organizations/*/locations/{location}`.
30
+ # @!attribute [rw] page_size
31
+ # @return [::Integer]
32
+ # Optional. Maximum number of SecurityProfileGroups to return per call.
33
+ # @!attribute [rw] page_token
34
+ # @return [::String]
35
+ # Optional. The value returned by the last
36
+ # `ListSecurityProfileGroupsResponse` Indicates that this is a
37
+ # continuation of a prior `ListSecurityProfileGroups` call, and
38
+ # that the system should return the next page of data.
39
+ class ListSecurityProfileGroupsRequest
40
+ include ::Google::Protobuf::MessageExts
41
+ extend ::Google::Protobuf::MessageExts::ClassMethods
42
+ end
43
+
44
+ # Response returned by the ListSecurityProfileGroups method.
45
+ # @!attribute [rw] security_profile_groups
46
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::SecurityProfileGroup>]
47
+ # List of SecurityProfileGroups resources.
48
+ # @!attribute [rw] next_page_token
49
+ # @return [::String]
50
+ # If there might be more results than those appearing in this response, then
51
+ # `next_page_token` is included. To get the next set of results, call this
52
+ # method again using the value of `next_page_token` as `page_token`.
53
+ class ListSecurityProfileGroupsResponse
54
+ include ::Google::Protobuf::MessageExts
55
+ extend ::Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+
58
+ # Request used by the GetSecurityProfileGroup method.
59
+ # @!attribute [rw] name
60
+ # @return [::String]
61
+ # Required. A name of the SecurityProfileGroup to get. Must be in the format
62
+ # `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
63
+ class GetSecurityProfileGroupRequest
64
+ include ::Google::Protobuf::MessageExts
65
+ extend ::Google::Protobuf::MessageExts::ClassMethods
66
+ end
67
+
68
+ # Request used by the CreateSecurityProfileGroup method.
69
+ # @!attribute [rw] parent
70
+ # @return [::String]
71
+ # Required. The parent resource of the SecurityProfileGroup. Must be in the
72
+ # format `projects|organizations/*/locations/{location}`.
73
+ # @!attribute [rw] security_profile_group_id
74
+ # @return [::String]
75
+ # Required. Short name of the SecurityProfileGroup resource to be created.
76
+ # This value should be 1-63 characters long, containing only
77
+ # letters, numbers, hyphens, and underscores, and should not start
78
+ # with a number. E.g. "security_profile_group1".
79
+ # @!attribute [rw] security_profile_group
80
+ # @return [::Google::Cloud::NetworkSecurity::V1::SecurityProfileGroup]
81
+ # Required. SecurityProfileGroup resource to be created.
82
+ class CreateSecurityProfileGroupRequest
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+ end
86
+
87
+ # Request used by the UpdateSecurityProfileGroup method.
88
+ # @!attribute [rw] update_mask
89
+ # @return [::Google::Protobuf::FieldMask]
90
+ # Required. Field mask is used to specify the fields to be overwritten in the
91
+ # SecurityProfileGroup resource by the update.
92
+ # The fields specified in the update_mask are relative to the resource, not
93
+ # the full request. A field will be overwritten if it is in the mask.
94
+ # @!attribute [rw] security_profile_group
95
+ # @return [::Google::Cloud::NetworkSecurity::V1::SecurityProfileGroup]
96
+ # Required. Updated SecurityProfileGroup resource.
97
+ class UpdateSecurityProfileGroupRequest
98
+ include ::Google::Protobuf::MessageExts
99
+ extend ::Google::Protobuf::MessageExts::ClassMethods
100
+ end
101
+
102
+ # Request used by the DeleteSecurityProfileGroup method.
103
+ # @!attribute [rw] name
104
+ # @return [::String]
105
+ # Required. A name of the SecurityProfileGroup to delete. Must be in the
106
+ # format
107
+ # `projects|organizations/*/locations/{location}/securityProfileGroups/{security_profile_group}`.
108
+ # @!attribute [rw] etag
109
+ # @return [::String]
110
+ # Optional. If client provided etag is out of date, delete will return
111
+ # FAILED_PRECONDITION error.
112
+ class DeleteSecurityProfileGroupRequest
113
+ include ::Google::Protobuf::MessageExts
114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
115
+ end
116
+
117
+ # Request used with the ListSecurityProfiles method.
118
+ # @!attribute [rw] parent
119
+ # @return [::String]
120
+ # Required. The project or organization and location from which the
121
+ # SecurityProfiles should be listed, specified in the format
122
+ # `projects|organizations/*/locations/{location}`.
123
+ # @!attribute [rw] page_size
124
+ # @return [::Integer]
125
+ # Optional. Maximum number of SecurityProfiles to return per call.
126
+ # @!attribute [rw] page_token
127
+ # @return [::String]
128
+ # Optional. The value returned by the last
129
+ # `ListSecurityProfilesResponse` Indicates that this is a continuation of a
130
+ # prior `ListSecurityProfiles` call, and that the system should return the
131
+ # next page of data.
132
+ class ListSecurityProfilesRequest
133
+ include ::Google::Protobuf::MessageExts
134
+ extend ::Google::Protobuf::MessageExts::ClassMethods
135
+ end
136
+
137
+ # Response returned by the ListSecurityProfiles method.
138
+ # @!attribute [rw] security_profiles
139
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::SecurityProfile>]
140
+ # List of SecurityProfile resources.
141
+ # @!attribute [rw] next_page_token
142
+ # @return [::String]
143
+ # If there might be more results than those appearing in this response, then
144
+ # `next_page_token` is included. To get the next set of results, call this
145
+ # method again using the value of `next_page_token` as `page_token`.
146
+ class ListSecurityProfilesResponse
147
+ include ::Google::Protobuf::MessageExts
148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
149
+ end
150
+
151
+ # Request used by the GetSecurityProfile method.
152
+ # @!attribute [rw] name
153
+ # @return [::String]
154
+ # Required. A name of the SecurityProfile to get. Must be in the format
155
+ # `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`.
156
+ class GetSecurityProfileRequest
157
+ include ::Google::Protobuf::MessageExts
158
+ extend ::Google::Protobuf::MessageExts::ClassMethods
159
+ end
160
+
161
+ # Request used by the CreateSecurityProfile method.
162
+ # @!attribute [rw] parent
163
+ # @return [::String]
164
+ # Required. The parent resource of the SecurityProfile. Must be in the format
165
+ # `projects|organizations/*/locations/{location}`.
166
+ # @!attribute [rw] security_profile_id
167
+ # @return [::String]
168
+ # Required. Short name of the SecurityProfile resource to be created. This
169
+ # value should be 1-63 characters long, containing only letters, numbers,
170
+ # hyphens, and underscores, and should not start with a number. E.g.
171
+ # "security_profile1".
172
+ # @!attribute [rw] security_profile
173
+ # @return [::Google::Cloud::NetworkSecurity::V1::SecurityProfile]
174
+ # Required. SecurityProfile resource to be created.
175
+ class CreateSecurityProfileRequest
176
+ include ::Google::Protobuf::MessageExts
177
+ extend ::Google::Protobuf::MessageExts::ClassMethods
178
+ end
179
+
180
+ # Request used by the UpdateSecurityProfile method.
181
+ # @!attribute [rw] update_mask
182
+ # @return [::Google::Protobuf::FieldMask]
183
+ # Required. Field mask is used to specify the fields to be overwritten in the
184
+ # SecurityProfile resource by the update.
185
+ # The fields specified in the update_mask are relative to the resource, not
186
+ # the full request. A field will be overwritten if it is in the mask.
187
+ # @!attribute [rw] security_profile
188
+ # @return [::Google::Cloud::NetworkSecurity::V1::SecurityProfile]
189
+ # Required. Updated SecurityProfile resource.
190
+ class UpdateSecurityProfileRequest
191
+ include ::Google::Protobuf::MessageExts
192
+ extend ::Google::Protobuf::MessageExts::ClassMethods
193
+ end
194
+
195
+ # Request used by the DeleteSecurityProfile method.
196
+ # @!attribute [rw] name
197
+ # @return [::String]
198
+ # Required. A name of the SecurityProfile to delete. Must be in the format
199
+ # `projects|organizations/*/locations/{location}/securityProfiles/{security_profile_id}`.
200
+ # @!attribute [rw] etag
201
+ # @return [::String]
202
+ # Optional. If client provided etag is out of date, delete will return
203
+ # FAILED_PRECONDITION error.
204
+ class DeleteSecurityProfileRequest
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+ end
208
+ end
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,193 @@
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
+ # ThreatPreventionProfile defines an action for specific threat signatures or
25
+ # severity levels.
26
+ # @!attribute [rw] severity_overrides
27
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::SeverityOverride>]
28
+ # Optional. Configuration for overriding threats actions by severity match.
29
+ # @!attribute [rw] threat_overrides
30
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::ThreatOverride>]
31
+ # Optional. Configuration for overriding threats actions by threat_id match.
32
+ # If a threat is matched both by configuration provided in severity_overrides
33
+ # and threat_overrides, the threat_overrides action is applied.
34
+ # @!attribute [rw] antivirus_overrides
35
+ # @return [::Array<::Google::Cloud::NetworkSecurity::V1::AntivirusOverride>]
36
+ # Optional. Configuration for overriding antivirus actions per protocol.
37
+ class ThreatPreventionProfile
38
+ include ::Google::Protobuf::MessageExts
39
+ extend ::Google::Protobuf::MessageExts::ClassMethods
40
+ end
41
+
42
+ # Defines what action to take for a specific severity match.
43
+ # @!attribute [rw] severity
44
+ # @return [::Google::Cloud::NetworkSecurity::V1::Severity]
45
+ # Required. Severity level to match.
46
+ # @!attribute [rw] action
47
+ # @return [::Google::Cloud::NetworkSecurity::V1::ThreatAction]
48
+ # Required. Threat action override.
49
+ class SeverityOverride
50
+ include ::Google::Protobuf::MessageExts
51
+ extend ::Google::Protobuf::MessageExts::ClassMethods
52
+ end
53
+
54
+ # Defines what action to take for a specific threat_id match.
55
+ # @!attribute [rw] threat_id
56
+ # @return [::String]
57
+ # Required. Vendor-specific ID of a threat to override.
58
+ # @!attribute [r] type
59
+ # @return [::Google::Cloud::NetworkSecurity::V1::ThreatType]
60
+ # Output only. Type of the threat (read only).
61
+ # @!attribute [rw] action
62
+ # @return [::Google::Cloud::NetworkSecurity::V1::ThreatAction]
63
+ # Required. Threat action override. For some threat types, only a subset of
64
+ # actions applies.
65
+ class ThreatOverride
66
+ include ::Google::Protobuf::MessageExts
67
+ extend ::Google::Protobuf::MessageExts::ClassMethods
68
+ end
69
+
70
+ # Defines what action to take for antivirus threats per protocol.
71
+ # @!attribute [rw] protocol
72
+ # @return [::Google::Cloud::NetworkSecurity::V1::Protocol]
73
+ # Required. Protocol to match.
74
+ # @!attribute [rw] action
75
+ # @return [::Google::Cloud::NetworkSecurity::V1::ThreatAction]
76
+ # Required. Threat action override. For some threat types, only a subset of
77
+ # actions applies.
78
+ class AntivirusOverride
79
+ include ::Google::Protobuf::MessageExts
80
+ extend ::Google::Protobuf::MessageExts::ClassMethods
81
+ end
82
+
83
+ # Severity level.
84
+ module Severity
85
+ # Severity level not specified.
86
+ SEVERITY_UNSPECIFIED = 0
87
+
88
+ # Suspicious events that do not pose an immediate threat, but that are
89
+ # reported to call attention to deeper problems that could possibly exist.
90
+ INFORMATIONAL = 1
91
+
92
+ # Warning-level threats that have very little impact on an organization's
93
+ # infrastructure. They usually require local or physical system access and
94
+ # may often result in victim privacy issues and information leakage.
95
+ LOW = 2
96
+
97
+ # Minor threats in which impact is minimized, that do not compromise the
98
+ # target or exploits that require an attacker to reside on the same local
99
+ # network as the victim, affect only non-standard configurations or obscure
100
+ # applications, or provide very limited access.
101
+ MEDIUM = 3
102
+
103
+ # Threats that have the ability to become critical but have mitigating
104
+ # factors; for example, they may be difficult to exploit, do not result in
105
+ # elevated privileges, or do not have a large victim pool.
106
+ HIGH = 4
107
+
108
+ # Serious threats, such as those that affect default installations of widely
109
+ # deployed software, result in root compromise of servers, and the exploit
110
+ # code is widely available to attackers. The attacker usually does not need
111
+ # any special authentication credentials or knowledge about the individual
112
+ # victims and the target does not need to be manipulated into performing any
113
+ # special functions.
114
+ CRITICAL = 5
115
+ end
116
+
117
+ # Type of threat.
118
+ module ThreatType
119
+ # Type of threat not specified.
120
+ THREAT_TYPE_UNSPECIFIED = 0
121
+
122
+ # Type of threat is not derivable from threat ID. An override will be
123
+ # created for all types. Firewall will ignore overridden signature ID's
124
+ # that don't exist in the specific type.
125
+ UNKNOWN = 1
126
+
127
+ # Threats related to system flaws that an attacker might otherwise attempt
128
+ # to exploit.
129
+ VULNERABILITY = 2
130
+
131
+ # Threats related to viruses and malware found in executables and file
132
+ # types.
133
+ ANTIVIRUS = 3
134
+
135
+ # Threats related to command-and-control (C2) activity, where spyware on an
136
+ # infected client is collecting data without the user's consent and/or
137
+ # communicating with a remote attacker.
138
+ SPYWARE = 4
139
+
140
+ # Threats related to DNS.
141
+ DNS = 5
142
+ end
143
+
144
+ # Threat action override.
145
+ module ThreatAction
146
+ # Threat action not specified.
147
+ THREAT_ACTION_UNSPECIFIED = 0
148
+
149
+ # The default action (as specified by the vendor) is taken.
150
+ DEFAULT_ACTION = 4
151
+
152
+ # The packet matching this rule will be allowed to transmit.
153
+ ALLOW = 1
154
+
155
+ # The packet matching this rule will be allowed to transmit, but a threat_log
156
+ # entry will be sent to the consumer project.
157
+ ALERT = 2
158
+
159
+ # The packet matching this rule will be dropped, and a threat_log entry will
160
+ # be sent to the consumer project.
161
+ DENY = 3
162
+ end
163
+
164
+ # Antivirus protocol.
165
+ module Protocol
166
+ # Protocol not specified.
167
+ PROTOCOL_UNSPECIFIED = 0
168
+
169
+ # SMTP protocol
170
+ SMTP = 1
171
+
172
+ # SMB protocol
173
+ SMB = 2
174
+
175
+ # POP3 protocol
176
+ POP3 = 3
177
+
178
+ # IMAP protocol
179
+ IMAP = 4
180
+
181
+ # HTTP2 protocol
182
+ HTTP2 = 5
183
+
184
+ # HTTP protocol
185
+ HTTP = 6
186
+
187
+ # FTP protocol
188
+ FTP = 7
189
+ end
190
+ end
191
+ end
192
+ end
193
+ end