Class: Google::Apis::ComputeAlpha::Network

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

Overview

Represents a VPC Network resource. Networks connect resources to each other and to the internet. For more information, readVirtual Private Cloud (VPC) Network.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Network

Returns a new instance of Network.



44152
44153
44154
# File 'lib/google/apis/compute_alpha/classes.rb', line 44152

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

Instance Attribute Details

#auto_create_subnetworksBoolean Also known as: auto_create_subnetworks?

Must be set to create a VPC network. If not set, a legacy network is created. When set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode. An auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described inAuto mode VPC network IP ranges. For custom mode VPC networks, you can add subnets using the subnetworksinsert method. Corresponds to the JSON property autoCreateSubnetworks

Returns:

  • (Boolean)


44012
44013
44014
# File 'lib/google/apis/compute_alpha/classes.rb', line 44012

def auto_create_subnetworks
  @auto_create_subnetworks
end

#creation_timestampString

Output only. [Output Only] Creation timestamp inRFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


44019
44020
44021
# File 'lib/google/apis/compute_alpha/classes.rb', line 44019

def creation_timestamp
  @creation_timestamp
end

#descriptionString

An optional description of this resource. Provide this field when you create the resource. Corresponds to the JSON property description

Returns:

  • (String)


44025
44026
44027
# File 'lib/google/apis/compute_alpha/classes.rb', line 44025

def description
  @description
end

#enable_ula_internal_ipv6Boolean Also known as: enable_ula_internal_ipv6?

Enable ULA internal ipv6 on this network. Enabling this feature will assign a /48 from google defined ULA prefix fd20::/20. . Corresponds to the JSON property enableUlaInternalIpv6

Returns:

  • (Boolean)


44032
44033
44034
# File 'lib/google/apis/compute_alpha/classes.rb', line 44032

def enable_ula_internal_ipv6
  @enable_ula_internal_ipv6
end

#firewall_policyString

Output only. [Output Only] URL of the firewall policy the network is associated with. Corresponds to the JSON property firewallPolicy

Returns:

  • (String)


44039
44040
44041
# File 'lib/google/apis/compute_alpha/classes.rb', line 44039

def firewall_policy
  @firewall_policy
end

#gateway_i_pv4String

[Output Only] The gateway address for default routing out of the network, selected by Google Cloud. Corresponds to the JSON property gatewayIPv4

Returns:

  • (String)


44045
44046
44047
# File 'lib/google/apis/compute_alpha/classes.rb', line 44045

def gateway_i_pv4
  @gateway_i_pv4
end

#i_pv4_rangeString

Deprecated in favor of subnet mode networks. The range of internal addresses that are legal on this network. This range is aCIDR specification, for example:192.168.0.0/16. Provided by the client when the network is created. Corresponds to the JSON property IPv4Range

Returns:

  • (String)


44000
44001
44002
# File 'lib/google/apis/compute_alpha/classes.rb', line 44000

def i_pv4_range
  @i_pv4_range
end

#idFixnum

Output only. [Output Only] The unique identifier for the resource. This identifier is defined by the server. Corresponds to the JSON property id

Returns:

  • (Fixnum)


44052
44053
44054
# File 'lib/google/apis/compute_alpha/classes.rb', line 44052

def id
  @id
end

#internal_ipv6_rangeString

When enabling ula internal ipv6, caller optionally can specify the /48 range they want from the google defined ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will fail if the speficied /48 is already in used by another resource. If the field is not speficied, then a /48 range will be randomly allocated from fd20::/20 and returned via this field. . Corresponds to the JSON property internalIpv6Range

Returns:

  • (String)


44063
44064
44065
# File 'lib/google/apis/compute_alpha/classes.rb', line 44063

def internal_ipv6_range
  @internal_ipv6_range
end

#kindString

Output only. [Output Only] Type of the resource. Always compute#network for networks. Corresponds to the JSON property kind

Returns:

  • (String)


44069
44070
44071
# File 'lib/google/apis/compute_alpha/classes.rb', line 44069

def kind
  @kind
end

#mtuFixnum

Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460. Corresponds to the JSON property mtu

Returns:

  • (Fixnum)


44078
44079
44080
# File 'lib/google/apis/compute_alpha/classes.rb', line 44078

def mtu
  @mtu
end

#nameString

Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply withRFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit. Corresponds to the JSON property name

Returns:

  • (String)


44089
44090
44091
# File 'lib/google/apis/compute_alpha/classes.rb', line 44089

def name
  @name
end

#network_firewall_policy_enforcement_orderString

The network firewall policy enforcement order. Can be either AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to AFTER_CLASSIC_FIREWALL if the field is not specified. Corresponds to the JSON property networkFirewallPolicyEnforcementOrder

Returns:

  • (String)


44096
44097
44098
# File 'lib/google/apis/compute_alpha/classes.rb', line 44096

def network_firewall_policy_enforcement_order
  @network_firewall_policy_enforcement_order
end

#network_profileString

A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs:

Returns:

  • (String)


44107
44108
44109
# File 'lib/google/apis/compute_alpha/classes.rb', line 44107

def network_profile
  @network_profile
end

#paramsGoogle::Apis::ComputeAlpha::NetworkParams

Additional network parameters. Corresponds to the JSON property params



44112
44113
44114
# File 'lib/google/apis/compute_alpha/classes.rb', line 44112

def params
  @params
end

#peeringsArray<Google::Apis::ComputeAlpha::NetworkPeering>

Output only. [Output Only] A list of network peerings for the resource. Corresponds to the JSON property peerings



44117
44118
44119
# File 'lib/google/apis/compute_alpha/classes.rb', line 44117

def peerings
  @peerings
end

#regionString

Output only. [Output Only] URL of the region where the regional network resides. This field is not applicable to global network. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. Corresponds to the JSON property region

Returns:

  • (String)


44126
44127
44128
# File 'lib/google/apis/compute_alpha/classes.rb', line 44126

def region
  @region
end

#routing_configGoogle::Apis::ComputeAlpha::NetworkRoutingConfig

A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide. Corresponds to the JSON property routingConfig



44133
44134
44135
# File 'lib/google/apis/compute_alpha/classes.rb', line 44133

def routing_config
  @routing_config
end

[Output Only] Server-defined URL for the resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


44138
44139
44140
# File 'lib/google/apis/compute_alpha/classes.rb', line 44138

def self_link
  @self_link
end

Output only. [Output Only] Server-defined URL for this resource with the resource id. Corresponds to the JSON property selfLinkWithId

Returns:

  • (String)


44144
44145
44146
# File 'lib/google/apis/compute_alpha/classes.rb', line 44144

def self_link_with_id
  @self_link_with_id
end

#subnetworksArray<String>

[Output Only] Server-defined fully-qualified URLs for all subnetworks in this VPC network. Corresponds to the JSON property subnetworks

Returns:

  • (Array<String>)


44150
44151
44152
# File 'lib/google/apis/compute_alpha/classes.rb', line 44150

def subnetworks
  @subnetworks
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



44157
44158
44159
44160
44161
44162
44163
44164
44165
44166
44167
44168
44169
44170
44171
44172
44173
44174
44175
44176
44177
44178
44179
# File 'lib/google/apis/compute_alpha/classes.rb', line 44157

def update!(**args)
  @i_pv4_range = args[:i_pv4_range] if args.key?(:i_pv4_range)
  @auto_create_subnetworks = args[:auto_create_subnetworks] if args.key?(:auto_create_subnetworks)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @description = args[:description] if args.key?(:description)
  @enable_ula_internal_ipv6 = args[:enable_ula_internal_ipv6] if args.key?(:enable_ula_internal_ipv6)
  @firewall_policy = args[:firewall_policy] if args.key?(:firewall_policy)
  @gateway_i_pv4 = args[:gateway_i_pv4] if args.key?(:gateway_i_pv4)
  @id = args[:id] if args.key?(:id)
  @internal_ipv6_range = args[:internal_ipv6_range] if args.key?(:internal_ipv6_range)
  @kind = args[:kind] if args.key?(:kind)
  @mtu = args[:mtu] if args.key?(:mtu)
  @name = args[:name] if args.key?(:name)
  @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
  @network_profile = args[:network_profile] if args.key?(:network_profile)
  @params = args[:params] if args.key?(:params)
  @peerings = args[:peerings] if args.key?(:peerings)
  @region = args[:region] if args.key?(:region)
  @routing_config = args[:routing_config] if args.key?(:routing_config)
  @self_link = args[:self_link] if args.key?(:self_link)
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
end