Class: Google::Apis::NetworkmanagementV1beta1::VpcFlowLogsConfig

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/networkmanagement_v1beta1/classes.rb,
lib/google/apis/networkmanagement_v1beta1/representations.rb,
lib/google/apis/networkmanagement_v1beta1/representations.rb

Overview

A configuration to generate VPC Flow Logs.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ VpcFlowLogsConfig

Returns a new instance of VpcFlowLogsConfig.



3196
3197
3198
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3196

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#aggregation_intervalString

Optional. The aggregation interval for the logs. Default value is INTERVAL_5_SEC. Corresponds to the JSON property aggregationInterval

Returns:

  • (String)


3115
3116
3117
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3115

def aggregation_interval
  @aggregation_interval
end

#create_timeString

Output only. The time the config was created. Corresponds to the JSON property createTime

Returns:

  • (String)


3120
3121
3122
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3120

def create_time
  @create_time
end

#descriptionString

Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum of 512 characters. Corresponds to the JSON property description

Returns:

  • (String)


3126
3127
3128
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3126

def description
  @description
end

#filter_exprString

Optional. Export filter used to define which VPC Flow Logs should be logged. Corresponds to the JSON property filterExpr

Returns:

  • (String)


3131
3132
3133
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3131

def filter_expr
  @filter_expr
end

#flow_samplingFloat

Optional. The value of the field must be in (0, 1]. The sampling rate of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use the state field instead. Default value is 1.0. Corresponds to the JSON property flowSampling

Returns:

  • (Float)


3139
3140
3141
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3139

def flow_sampling
  @flow_sampling
end

#interconnect_attachmentString

Traffic will be logged from the Interconnect Attachment. Format: projects/ project_id/regions/region/interconnectAttachments/name Corresponds to the JSON property interconnectAttachment

Returns:

  • (String)


3145
3146
3147
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3145

def interconnect_attachment
  @interconnect_attachment
end

#labelsHash<String,String>

Optional. Resource labels to represent user-provided metadata. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


3150
3151
3152
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3150

def labels
  @labels
end

#metadataString

Optional. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA. Corresponds to the JSON property metadata

Returns:

  • (String)


3156
3157
3158
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3156

def 
  @metadata
end

#metadata_fieldsArray<String>

Optional. Custom metadata fields to include in the reported VPC flow logs. Can only be specified if "metadata" was set to CUSTOM_METADATA. Corresponds to the JSON property metadataFields

Returns:

  • (Array<String>)


3162
3163
3164
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3162

def 
  @metadata_fields
end

#nameString

Identifier. Unique name of the configuration using one of the forms: projects/ project_id/locations/global/vpcFlowLogsConfigs/vpc_flow_logs_config_id` organizations/`organization_id`/locations/global/vpcFlowLogsConfigs/` vpc_flow_logs_config_id Corresponds to the JSON property name

Returns:

  • (String)


3170
3171
3172
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3170

def name
  @name
end

#stateString

Optional. The state of the VPC Flow Log configuration. Default value is ENABLED. When creating a new configuration, it must be enabled. Setting state= DISABLED will pause the log generation for this config. Corresponds to the JSON property state

Returns:

  • (String)


3177
3178
3179
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3177

def state
  @state
end

#target_resource_stateString

Output only. A diagnostic bit - describes the state of the configured target resource for diagnostic purposes. Corresponds to the JSON property targetResourceState

Returns:

  • (String)


3183
3184
3185
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3183

def target_resource_state
  @target_resource_state
end

#update_timeString

Output only. The time the config was updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


3188
3189
3190
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3188

def update_time
  @update_time
end

#vpn_tunnelString

Traffic will be logged from the VPN Tunnel. Format: projects/project_id/ regions/region/vpnTunnels/name Corresponds to the JSON property vpnTunnel

Returns:

  • (String)


3194
3195
3196
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3194

def vpn_tunnel
  @vpn_tunnel
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
# File 'lib/google/apis/networkmanagement_v1beta1/classes.rb', line 3201

def update!(**args)
  @aggregation_interval = args[:aggregation_interval] if args.key?(:aggregation_interval)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @filter_expr = args[:filter_expr] if args.key?(:filter_expr)
  @flow_sampling = args[:flow_sampling] if args.key?(:flow_sampling)
  @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
  @labels = args[:labels] if args.key?(:labels)
  @metadata = args[:metadata] if args.key?(:metadata)
  @metadata_fields = args[:metadata_fields] if args.key?(:metadata_fields)
  @name = args[:name] if args.key?(:name)
  @state = args[:state] if args.key?(:state)
  @target_resource_state = args[:target_resource_state] if args.key?(:target_resource_state)
  @update_time = args[:update_time] if args.key?(:update_time)
  @vpn_tunnel = args[:vpn_tunnel] if args.key?(:vpn_tunnel)
end