google-cloud-network_management-v1 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,83 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/networkmanagement/v1/vpc_flow_logs.proto for package 'Google.Cloud.NetworkManagement.V1'
3
+ # Original file comments:
4
+ # Copyright 2024 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/networkmanagement/v1/vpc_flow_logs_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module NetworkManagement
25
+ module V1
26
+ module VpcFlowLogsService
27
+ # The VPC Flow Logs service in the Google Cloud Network Management API provides
28
+ # configurations that generate Flow Logs. The service and the configuration
29
+ # resources created using this service are global.
30
+ class Service
31
+
32
+ include ::GRPC::GenericService
33
+
34
+ self.marshal_class_method = :encode
35
+ self.unmarshal_class_method = :decode
36
+ self.service_name = 'google.cloud.networkmanagement.v1.VpcFlowLogsService'
37
+
38
+ # Lists all `VpcFlowLogsConfigs` in a given project.
39
+ rpc :ListVpcFlowLogsConfigs, ::Google::Cloud::NetworkManagement::V1::ListVpcFlowLogsConfigsRequest, ::Google::Cloud::NetworkManagement::V1::ListVpcFlowLogsConfigsResponse
40
+ # Gets the details of a specific `VpcFlowLogsConfig`.
41
+ rpc :GetVpcFlowLogsConfig, ::Google::Cloud::NetworkManagement::V1::GetVpcFlowLogsConfigRequest, ::Google::Cloud::NetworkManagement::V1::VpcFlowLogsConfig
42
+ # Creates a new `VpcFlowLogsConfig`.
43
+ # If a configuration with the exact same settings already exists (even if the
44
+ # ID is different), the creation fails.
45
+ # Notes:
46
+ #
47
+ # 1. Creating a configuration with state=DISABLED will fail
48
+ # 2. The following fields are not considered as `settings` for the purpose
49
+ # of the check mentioned above, therefore - creating another configuration
50
+ # with the same fields but different values for the following fields will
51
+ # fail as well:
52
+ # * name
53
+ # * create_time
54
+ # * update_time
55
+ # * labels
56
+ # * description
57
+ rpc :CreateVpcFlowLogsConfig, ::Google::Cloud::NetworkManagement::V1::CreateVpcFlowLogsConfigRequest, ::Google::Longrunning::Operation
58
+ # Updates an existing `VpcFlowLogsConfig`.
59
+ # If a configuration with the exact same settings already exists (even if the
60
+ # ID is different), the creation fails.
61
+ # Notes:
62
+ #
63
+ # 1. Updating a configuration with state=DISABLED will fail.
64
+ # 2. The following fields are not considered as `settings` for the purpose
65
+ # of the check mentioned above, therefore - updating another configuration
66
+ # with the same fields but different values for the following fields will
67
+ # fail as well:
68
+ # * name
69
+ # * create_time
70
+ # * update_time
71
+ # * labels
72
+ # * description
73
+ rpc :UpdateVpcFlowLogsConfig, ::Google::Cloud::NetworkManagement::V1::UpdateVpcFlowLogsConfigRequest, ::Google::Longrunning::Operation
74
+ # Deletes a specific `VpcFlowLogsConfig`.
75
+ rpc :DeleteVpcFlowLogsConfig, ::Google::Cloud::NetworkManagement::V1::DeleteVpcFlowLogsConfigRequest, ::Google::Longrunning::Operation
76
+ end
77
+
78
+ Stub = Service.rpc_stub_class
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,115 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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 NetworkManagement
23
+ module V1
24
+ # Request for the `ListVpcFlowLogsConfigs` method.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The parent resource of the VpcFlowLogsConfig:
28
+ # `projects/{project_id}/locations/global`
29
+ # @!attribute [rw] page_size
30
+ # @return [::Integer]
31
+ # Optional. Number of `VpcFlowLogsConfigs` to return.
32
+ # @!attribute [rw] page_token
33
+ # @return [::String]
34
+ # Optional. Page token from an earlier query, as returned in
35
+ # `next_page_token`.
36
+ # @!attribute [rw] filter
37
+ # @return [::String]
38
+ # Optional. Lists the `VpcFlowLogsConfigs` that match the filter expression.
39
+ # A filter expression must use the supported [CEL logic operators]
40
+ # (https://cloud.google.com/vpc/docs/about-flow-logs-records#supported_cel_logic_operators).
41
+ # @!attribute [rw] order_by
42
+ # @return [::String]
43
+ # Optional. Field to use to sort the list.
44
+ class ListVpcFlowLogsConfigsRequest
45
+ include ::Google::Protobuf::MessageExts
46
+ extend ::Google::Protobuf::MessageExts::ClassMethods
47
+ end
48
+
49
+ # Response for the `ListVpcFlowLogsConfigs` method.
50
+ # @!attribute [rw] vpc_flow_logs_configs
51
+ # @return [::Array<::Google::Cloud::NetworkManagement::V1::VpcFlowLogsConfig>]
52
+ # List of VPC Flow Log configurations.
53
+ # @!attribute [rw] next_page_token
54
+ # @return [::String]
55
+ # Page token to fetch the next set of configurations.
56
+ # @!attribute [rw] unreachable
57
+ # @return [::Array<::String>]
58
+ # Locations that could not be reached (when querying all locations with `-`).
59
+ class ListVpcFlowLogsConfigsResponse
60
+ include ::Google::Protobuf::MessageExts
61
+ extend ::Google::Protobuf::MessageExts::ClassMethods
62
+ end
63
+
64
+ # Request for the `GetVpcFlowLogsConfig` method.
65
+ # @!attribute [rw] name
66
+ # @return [::String]
67
+ # Required. `VpcFlowLogsConfig` resource name using the form:
68
+ # `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config}`
69
+ class GetVpcFlowLogsConfigRequest
70
+ include ::Google::Protobuf::MessageExts
71
+ extend ::Google::Protobuf::MessageExts::ClassMethods
72
+ end
73
+
74
+ # Request for the `CreateVpcFlowLogsConfig` method.
75
+ # @!attribute [rw] parent
76
+ # @return [::String]
77
+ # Required. The parent resource of the VPC Flow Logs configuration to create:
78
+ # `projects/{project_id}/locations/global`
79
+ # @!attribute [rw] vpc_flow_logs_config_id
80
+ # @return [::String]
81
+ # Required. ID of the `VpcFlowLogsConfig`.
82
+ # @!attribute [rw] vpc_flow_logs_config
83
+ # @return [::Google::Cloud::NetworkManagement::V1::VpcFlowLogsConfig]
84
+ # Required. A `VpcFlowLogsConfig` resource
85
+ class CreateVpcFlowLogsConfigRequest
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+ end
89
+
90
+ # Request for the `UpdateVpcFlowLogsConfig` method.
91
+ # @!attribute [rw] update_mask
92
+ # @return [::Google::Protobuf::FieldMask]
93
+ # Required. Mask of fields to update. At least one path must be supplied in
94
+ # this field.
95
+ # @!attribute [rw] vpc_flow_logs_config
96
+ # @return [::Google::Cloud::NetworkManagement::V1::VpcFlowLogsConfig]
97
+ # Required. Only fields specified in update_mask are updated.
98
+ class UpdateVpcFlowLogsConfigRequest
99
+ include ::Google::Protobuf::MessageExts
100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
101
+ end
102
+
103
+ # Request for the `DeleteVpcFlowLogsConfig` method.
104
+ # @!attribute [rw] name
105
+ # @return [::String]
106
+ # Required. `VpcFlowLogsConfig` resource name using the form:
107
+ # `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config}`
108
+ class DeleteVpcFlowLogsConfigRequest
109
+ include ::Google::Protobuf::MessageExts
110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,163 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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 NetworkManagement
23
+ module V1
24
+ # A configuration to generate VPC Flow Logs.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Identifier. Unique name of the configuration using the form:
28
+ # `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`
29
+ # @!attribute [rw] description
30
+ # @return [::String]
31
+ # Optional. The user-supplied description of the VPC Flow Logs configuration.
32
+ # Maximum of 512 characters.
33
+ # @!attribute [rw] state
34
+ # @return [::Google::Cloud::NetworkManagement::V1::VpcFlowLogsConfig::State]
35
+ # Optional. The state of the VPC Flow Log configuration. Default value is
36
+ # ENABLED. When creating a new configuration, it must be enabled.
37
+ # @!attribute [rw] aggregation_interval
38
+ # @return [::Google::Cloud::NetworkManagement::V1::VpcFlowLogsConfig::AggregationInterval]
39
+ # Optional. The aggregation interval for the logs. Default value is
40
+ # INTERVAL_5_SEC.
41
+ # @!attribute [rw] flow_sampling
42
+ # @return [::Float]
43
+ # Optional. The value of the field must be in (0, 1]. The sampling rate of
44
+ # VPC Flow Logs where 1.0 means all collected logs are reported. Setting the
45
+ # sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs,
46
+ # use the state field instead. Default value is 1.0.
47
+ # @!attribute [rw] metadata
48
+ # @return [::Google::Cloud::NetworkManagement::V1::VpcFlowLogsConfig::Metadata]
49
+ # Optional. Configures whether all, none or a subset of metadata fields
50
+ # should be added to the reported VPC flow logs. Default value is
51
+ # INCLUDE_ALL_METADATA.
52
+ # @!attribute [rw] metadata_fields
53
+ # @return [::Array<::String>]
54
+ # Optional. Custom metadata fields to include in the reported VPC flow logs.
55
+ # Can only be specified if "metadata" was set to CUSTOM_METADATA.
56
+ # @!attribute [rw] filter_expr
57
+ # @return [::String]
58
+ # Optional. Export filter used to define which VPC Flow Logs should be
59
+ # logged.
60
+ # @!attribute [r] target_resource_state
61
+ # @return [::Google::Cloud::NetworkManagement::V1::VpcFlowLogsConfig::TargetResourceState]
62
+ # Output only. A diagnostic bit - describes the state of the configured
63
+ # target resource for diagnostic purposes.
64
+ # @!attribute [rw] interconnect_attachment
65
+ # @return [::String]
66
+ # Traffic will be logged from the Interconnect Attachment.
67
+ # Format:
68
+ # projects/\\{project_id}/regions/\\{region}/interconnectAttachments/\\{name}
69
+ # @!attribute [rw] vpn_tunnel
70
+ # @return [::String]
71
+ # Traffic will be logged from the VPN Tunnel.
72
+ # Format: projects/\\{project_id}/regions/\\{region}/vpnTunnels/\\{name}
73
+ # @!attribute [rw] labels
74
+ # @return [::Google::Protobuf::Map{::String => ::String}]
75
+ # Optional. Resource labels to represent user-provided metadata.
76
+ # @!attribute [r] create_time
77
+ # @return [::Google::Protobuf::Timestamp]
78
+ # Output only. The time the config was created.
79
+ # @!attribute [r] update_time
80
+ # @return [::Google::Protobuf::Timestamp]
81
+ # Output only. The time the config was updated.
82
+ class VpcFlowLogsConfig
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
+
86
+ # @!attribute [rw] key
87
+ # @return [::String]
88
+ # @!attribute [rw] value
89
+ # @return [::String]
90
+ class LabelsEntry
91
+ include ::Google::Protobuf::MessageExts
92
+ extend ::Google::Protobuf::MessageExts::ClassMethods
93
+ end
94
+
95
+ # Determines whether this configuration will be generating logs.
96
+ # Setting state=DISABLED will pause the log generation for this config.
97
+ module State
98
+ # If not specified, will default to ENABLED.
99
+ STATE_UNSPECIFIED = 0
100
+
101
+ # When ENABLED, this configuration will generate logs.
102
+ ENABLED = 1
103
+
104
+ # When DISABLED, this configuration will not generate logs.
105
+ DISABLED = 2
106
+ end
107
+
108
+ # Toggles the aggregation interval for collecting flow logs by 5-tuple.
109
+ module AggregationInterval
110
+ # If not specified, will default to INTERVAL_5_SEC.
111
+ AGGREGATION_INTERVAL_UNSPECIFIED = 0
112
+
113
+ # Aggregate logs in 5s intervals.
114
+ INTERVAL_5_SEC = 1
115
+
116
+ # Aggregate logs in 30s intervals.
117
+ INTERVAL_30_SEC = 2
118
+
119
+ # Aggregate logs in 1m intervals.
120
+ INTERVAL_1_MIN = 3
121
+
122
+ # Aggregate logs in 5m intervals.
123
+ INTERVAL_5_MIN = 4
124
+
125
+ # Aggregate logs in 10m intervals.
126
+ INTERVAL_10_MIN = 5
127
+
128
+ # Aggregate logs in 15m intervals.
129
+ INTERVAL_15_MIN = 6
130
+ end
131
+
132
+ # Configures which log fields would be included.
133
+ module Metadata
134
+ # If not specified, will default to INCLUDE_ALL_METADATA.
135
+ METADATA_UNSPECIFIED = 0
136
+
137
+ # Include all metadata fields.
138
+ INCLUDE_ALL_METADATA = 1
139
+
140
+ # Exclude all metadata fields.
141
+ EXCLUDE_ALL_METADATA = 2
142
+
143
+ # Include only custom fields (specified in metadata_fields).
144
+ CUSTOM_METADATA = 3
145
+ end
146
+
147
+ # Optional states of the target resource that are used as part of the
148
+ # diagnostic bit.
149
+ module TargetResourceState
150
+ # Unspecified target resource state.
151
+ TARGET_RESOURCE_STATE_UNSPECIFIED = 0
152
+
153
+ # Indicates that the target resource exists.
154
+ TARGET_RESOURCE_EXISTS = 1
155
+
156
+ # Indicates that the target resource does not exist.
157
+ TARGET_RESOURCE_DOES_NOT_EXIST = 2
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
163
+ end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-network_management-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
10
+ date: 2025-01-23 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: gapic-common
@@ -112,10 +111,22 @@ files:
112
111
  - lib/google/cloud/network_management/v1/reachability_service/rest/service_stub.rb
113
112
  - lib/google/cloud/network_management/v1/rest.rb
114
113
  - lib/google/cloud/network_management/v1/version.rb
114
+ - lib/google/cloud/network_management/v1/vpc_flow_logs_service.rb
115
+ - lib/google/cloud/network_management/v1/vpc_flow_logs_service/client.rb
116
+ - lib/google/cloud/network_management/v1/vpc_flow_logs_service/credentials.rb
117
+ - lib/google/cloud/network_management/v1/vpc_flow_logs_service/operations.rb
118
+ - lib/google/cloud/network_management/v1/vpc_flow_logs_service/paths.rb
119
+ - lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest.rb
120
+ - lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/client.rb
121
+ - lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/operations.rb
122
+ - lib/google/cloud/network_management/v1/vpc_flow_logs_service/rest/service_stub.rb
115
123
  - lib/google/cloud/networkmanagement/v1/connectivity_test_pb.rb
116
124
  - lib/google/cloud/networkmanagement/v1/reachability_pb.rb
117
125
  - lib/google/cloud/networkmanagement/v1/reachability_services_pb.rb
118
126
  - lib/google/cloud/networkmanagement/v1/trace_pb.rb
127
+ - lib/google/cloud/networkmanagement/v1/vpc_flow_logs_config_pb.rb
128
+ - lib/google/cloud/networkmanagement/v1/vpc_flow_logs_pb.rb
129
+ - lib/google/cloud/networkmanagement/v1/vpc_flow_logs_services_pb.rb
119
130
  - proto_docs/README.md
120
131
  - proto_docs/google/api/client.rb
121
132
  - proto_docs/google/api/field_behavior.rb
@@ -125,6 +136,8 @@ files:
125
136
  - proto_docs/google/cloud/networkmanagement/v1/connectivity_test.rb
126
137
  - proto_docs/google/cloud/networkmanagement/v1/reachability.rb
127
138
  - proto_docs/google/cloud/networkmanagement/v1/trace.rb
139
+ - proto_docs/google/cloud/networkmanagement/v1/vpc_flow_logs.rb
140
+ - proto_docs/google/cloud/networkmanagement/v1/vpc_flow_logs_config.rb
128
141
  - proto_docs/google/longrunning/operations.rb
129
142
  - proto_docs/google/protobuf/any.rb
130
143
  - proto_docs/google/protobuf/duration.rb
@@ -137,7 +150,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
137
150
  licenses:
138
151
  - Apache-2.0
139
152
  metadata: {}
140
- post_install_message:
141
153
  rdoc_options: []
142
154
  require_paths:
143
155
  - lib
@@ -152,8 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
164
  - !ruby/object:Gem::Version
153
165
  version: '0'
154
166
  requirements: []
155
- rubygems_version: 3.5.23
156
- signing_key:
167
+ rubygems_version: 3.6.2
157
168
  specification_version: 4
158
169
  summary: The Network Management API provides a collection of network performance monitoring
159
170
  and diagnostic capabilities.