google-cloud-network_management-v1 1.4.0 → 1.5.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.
@@ -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.