Class: Google::Apis::NetworkmanagementV1::Step

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

Overview

A simulated forwarding path is composed of multiple steps. Each step has a well-defined state and an associated configuration.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Step

Returns a new instance of Step.



3365
3366
3367
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3365

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

Instance Attribute Details

#abortGoogle::Apis::NetworkmanagementV1::AbortInfo

Details of the final state "abort" and associated resource. Corresponds to the JSON property abort



3164
3165
3166
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3164

def abort
  @abort
end

#app_engine_versionGoogle::Apis::NetworkmanagementV1::AppEngineVersionInfo

For display only. Metadata associated with an App Engine version. Corresponds to the JSON property appEngineVersion



3169
3170
3171
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3169

def app_engine_version
  @app_engine_version
end

#causes_dropBoolean Also known as: causes_drop?

This is a step that leads to the final state Drop. Corresponds to the JSON property causesDrop

Returns:

  • (Boolean)


3174
3175
3176
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3174

def causes_drop
  @causes_drop
end

#cloud_functionGoogle::Apis::NetworkmanagementV1::CloudFunctionInfo

For display only. Metadata associated with a Cloud Function. Corresponds to the JSON property cloudFunction



3180
3181
3182
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3180

def cloud_function
  @cloud_function
end

#cloud_run_revisionGoogle::Apis::NetworkmanagementV1::CloudRunRevisionInfo

For display only. Metadata associated with a Cloud Run revision. Corresponds to the JSON property cloudRunRevision



3185
3186
3187
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3185

def cloud_run_revision
  @cloud_run_revision
end

#cloud_sql_instanceGoogle::Apis::NetworkmanagementV1::CloudSqlInstanceInfo

For display only. Metadata associated with a Cloud SQL instance. Corresponds to the JSON property cloudSqlInstance



3190
3191
3192
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3190

def cloud_sql_instance
  @cloud_sql_instance
end

#deliverGoogle::Apis::NetworkmanagementV1::DeliverInfo

Details of the final state "deliver" and associated resource. Corresponds to the JSON property deliver



3195
3196
3197
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3195

def deliver
  @deliver
end

#descriptionString

A description of the step. Usually this is a summary of the state. Corresponds to the JSON property description

Returns:

  • (String)


3200
3201
3202
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3200

def description
  @description
end

#direct_vpc_egress_connectionGoogle::Apis::NetworkmanagementV1::DirectVpcEgressConnectionInfo

For display only. Metadata associated with a serverless direct VPC egress connection. Corresponds to the JSON property directVpcEgressConnection



3206
3207
3208
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3206

def direct_vpc_egress_connection
  @direct_vpc_egress_connection
end

#dropGoogle::Apis::NetworkmanagementV1::DropInfo

Details of the final state "drop" and associated resource. Corresponds to the JSON property drop



3211
3212
3213
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3211

def drop
  @drop
end

#endpointGoogle::Apis::NetworkmanagementV1::EndpointInfo

For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. Corresponds to the JSON property endpoint



3218
3219
3220
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3218

def endpoint
  @endpoint
end

#firewallGoogle::Apis::NetworkmanagementV1::FirewallInfo

For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. Corresponds to the JSON property firewall



3224
3225
3226
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3224

def firewall
  @firewall
end

#forwardGoogle::Apis::NetworkmanagementV1::ForwardInfo

Details of the final state "forward" and associated resource. Corresponds to the JSON property forward



3229
3230
3231
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3229

def forward
  @forward
end

#forwarding_ruleGoogle::Apis::NetworkmanagementV1::ForwardingRuleInfo

For display only. Metadata associated with a Compute Engine forwarding rule. Corresponds to the JSON property forwardingRule



3234
3235
3236
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3234

def forwarding_rule
  @forwarding_rule
end

#gke_masterGoogle::Apis::NetworkmanagementV1::GkeMasterInfo

For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. Corresponds to the JSON property gkeMaster



3240
3241
3242
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3240

def gke_master
  @gke_master
end

#gke_podGoogle::Apis::NetworkmanagementV1::GkePodInfo

For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. Corresponds to the JSON property gkePod



3246
3247
3248
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3246

def gke_pod
  @gke_pod
end

#google_serviceGoogle::Apis::NetworkmanagementV1::GoogleServiceInfo

For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes# special_return_paths Corresponds to the JSON property googleService



3255
3256
3257
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3255

def google_service
  @google_service
end

#hybrid_subnetGoogle::Apis::NetworkmanagementV1::HybridSubnetInfo

For display only. Metadata associated with a hybrid subnet. Corresponds to the JSON property hybridSubnet



3260
3261
3262
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3260

def hybrid_subnet
  @hybrid_subnet
end

#instanceGoogle::Apis::NetworkmanagementV1::InstanceInfo

For display only. Metadata associated with a Compute Engine instance. Corresponds to the JSON property instance



3265
3266
3267
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3265

def instance
  @instance
end

#interconnect_attachmentGoogle::Apis::NetworkmanagementV1::InterconnectAttachmentInfo

For display only. Metadata associated with an Interconnect attachment. Corresponds to the JSON property interconnectAttachment



3270
3271
3272
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3270

def interconnect_attachment
  @interconnect_attachment
end

#ip_masquerading_skippedGoogle::Apis::NetworkmanagementV1::IpMasqueradingSkippedInfo

For display only. Contains information about why IP masquerading was skipped for the packet. Corresponds to the JSON property ipMasqueradingSkipped



3276
3277
3278
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3276

def ip_masquerading_skipped
  @ip_masquerading_skipped
end

#load_balancerGoogle::Apis::NetworkmanagementV1::LoadBalancerInfo

For display only. Metadata associated with a load balancer. Corresponds to the JSON property loadBalancer



3281
3282
3283
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3281

def load_balancer
  @load_balancer
end

#load_balancer_backend_infoGoogle::Apis::NetworkmanagementV1::LoadBalancerBackendInfo

For display only. Metadata associated with the load balancer backend. Corresponds to the JSON property loadBalancerBackendInfo



3286
3287
3288
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3286

def load_balancer_backend_info
  @load_balancer_backend_info
end

#natGoogle::Apis::NetworkmanagementV1::NatInfo

For display only. Metadata associated with NAT. Corresponds to the JSON property nat



3291
3292
3293
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3291

def nat
  @nat
end

#networkGoogle::Apis::NetworkmanagementV1::NetworkInfo

For display only. Metadata associated with a Compute Engine network. Corresponds to the JSON property network



3296
3297
3298
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3296

def network
  @network
end

#ngfw_packet_inspectionGoogle::Apis::NetworkmanagementV1::NgfwPacketInspectionInfo

For display only. Metadata associated with a layer 7 packet inspection by the firewall. Corresponds to the JSON property ngfwPacketInspection



3302
3303
3304
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3302

def ngfw_packet_inspection
  @ngfw_packet_inspection
end

#project_idString

Project ID that contains the configuration this step is validating. Corresponds to the JSON property projectId

Returns:

  • (String)


3307
3308
3309
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3307

def project_id
  @project_id
end

#proxy_connectionGoogle::Apis::NetworkmanagementV1::ProxyConnectionInfo

For display only. Metadata associated with ProxyConnection. Corresponds to the JSON property proxyConnection



3312
3313
3314
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3312

def proxy_connection
  @proxy_connection
end

#redis_clusterGoogle::Apis::NetworkmanagementV1::RedisClusterInfo

For display only. Metadata associated with a Redis Cluster. Corresponds to the JSON property redisCluster



3317
3318
3319
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3317

def redis_cluster
  @redis_cluster
end

#redis_instanceGoogle::Apis::NetworkmanagementV1::RedisInstanceInfo

For display only. Metadata associated with a Cloud Redis Instance. Corresponds to the JSON property redisInstance



3322
3323
3324
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3322

def redis_instance
  @redis_instance
end

#routeGoogle::Apis::NetworkmanagementV1::RouteInfo

For display only. Metadata associated with a Compute Engine route. Corresponds to the JSON property route



3327
3328
3329
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3327

def route
  @route
end

#serverless_external_connectionGoogle::Apis::NetworkmanagementV1::ServerlessExternalConnectionInfo

For display only. Metadata associated with a serverless public connection. Corresponds to the JSON property serverlessExternalConnection



3332
3333
3334
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3332

def serverless_external_connection
  @serverless_external_connection
end

#serverless_negGoogle::Apis::NetworkmanagementV1::ServerlessNegInfo

For display only. Metadata associated with the serverless network endpoint group backend. Corresponds to the JSON property serverlessNeg



3338
3339
3340
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3338

def serverless_neg
  @serverless_neg
end

#stateString

Each step is in one of the pre-defined states. Corresponds to the JSON property state

Returns:

  • (String)


3343
3344
3345
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3343

def state
  @state
end

#storage_bucketGoogle::Apis::NetworkmanagementV1::StorageBucketInfo

For display only. Metadata associated with Storage Bucket. Corresponds to the JSON property storageBucket



3348
3349
3350
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3348

def storage_bucket
  @storage_bucket
end

#vpc_connectorGoogle::Apis::NetworkmanagementV1::VpcConnectorInfo

For display only. Metadata associated with a VPC connector. Corresponds to the JSON property vpcConnector



3353
3354
3355
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3353

def vpc_connector
  @vpc_connector
end

#vpn_gatewayGoogle::Apis::NetworkmanagementV1::VpnGatewayInfo

For display only. Metadata associated with a Compute Engine VPN gateway. Corresponds to the JSON property vpnGateway



3358
3359
3360
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3358

def vpn_gateway
  @vpn_gateway
end

#vpn_tunnelGoogle::Apis::NetworkmanagementV1::VpnTunnelInfo

For display only. Metadata associated with a Compute Engine VPN tunnel. Corresponds to the JSON property vpnTunnel



3363
3364
3365
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3363

def vpn_tunnel
  @vpn_tunnel
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
# File 'lib/google/apis/networkmanagement_v1/classes.rb', line 3370

def update!(**args)
  @abort = args[:abort] if args.key?(:abort)
  @app_engine_version = args[:app_engine_version] if args.key?(:app_engine_version)
  @causes_drop = args[:causes_drop] if args.key?(:causes_drop)
  @cloud_function = args[:cloud_function] if args.key?(:cloud_function)
  @cloud_run_revision = args[:cloud_run_revision] if args.key?(:cloud_run_revision)
  @cloud_sql_instance = args[:cloud_sql_instance] if args.key?(:cloud_sql_instance)
  @deliver = args[:deliver] if args.key?(:deliver)
  @description = args[:description] if args.key?(:description)
  @direct_vpc_egress_connection = args[:direct_vpc_egress_connection] if args.key?(:direct_vpc_egress_connection)
  @drop = args[:drop] if args.key?(:drop)
  @endpoint = args[:endpoint] if args.key?(:endpoint)
  @firewall = args[:firewall] if args.key?(:firewall)
  @forward = args[:forward] if args.key?(:forward)
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
  @gke_master = args[:gke_master] if args.key?(:gke_master)
  @gke_pod = args[:gke_pod] if args.key?(:gke_pod)
  @google_service = args[:google_service] if args.key?(:google_service)
  @hybrid_subnet = args[:hybrid_subnet] if args.key?(:hybrid_subnet)
  @instance = args[:instance] if args.key?(:instance)
  @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
  @ip_masquerading_skipped = args[:ip_masquerading_skipped] if args.key?(:ip_masquerading_skipped)
  @load_balancer = args[:load_balancer] if args.key?(:load_balancer)
  @load_balancer_backend_info = args[:load_balancer_backend_info] if args.key?(:load_balancer_backend_info)
  @nat = args[:nat] if args.key?(:nat)
  @network = args[:network] if args.key?(:network)
  @ngfw_packet_inspection = args[:ngfw_packet_inspection] if args.key?(:ngfw_packet_inspection)
  @project_id = args[:project_id] if args.key?(:project_id)
  @proxy_connection = args[:proxy_connection] if args.key?(:proxy_connection)
  @redis_cluster = args[:redis_cluster] if args.key?(:redis_cluster)
  @redis_instance = args[:redis_instance] if args.key?(:redis_instance)
  @route = args[:route] if args.key?(:route)
  @serverless_external_connection = args[:serverless_external_connection] if args.key?(:serverless_external_connection)
  @serverless_neg = args[:serverless_neg] if args.key?(:serverless_neg)
  @state = args[:state] if args.key?(:state)
  @storage_bucket = args[:storage_bucket] if args.key?(:storage_bucket)
  @vpc_connector = args[:vpc_connector] if args.key?(:vpc_connector)
  @vpn_gateway = args[:vpn_gateway] if args.key?(:vpn_gateway)
  @vpn_tunnel = args[:vpn_tunnel] if args.key?(:vpn_tunnel)
end