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, read Virtual Private Cloud (VPC) Network.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Network

Returns a new instance of Network.



22781
22782
22783
# File 'lib/google/apis/compute_alpha/classes.rb', line 22781

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 in Auto mode VPC network IP ranges. For custom mode VPC networks, you can add subnets using the subnetworks insert method. Corresponds to the JSON property autoCreateSubnetworks

Returns:

  • (Boolean)


22679
22680
22681
# File 'lib/google/apis/compute_alpha/classes.rb', line 22679

def auto_create_subnetworks
  @auto_create_subnetworks
end

#creation_timestampString

[Output Only] Creation timestamp in RFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


22685
22686
22687
# File 'lib/google/apis/compute_alpha/classes.rb', line 22685

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)


22691
22692
22693
# File 'lib/google/apis/compute_alpha/classes.rb', line 22691

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)


22697
22698
22699
# File 'lib/google/apis/compute_alpha/classes.rb', line 22697

def enable_ula_internal_ipv6
  @enable_ula_internal_ipv6
end

#firewall_policyString

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

Returns:

  • (String)


22703
22704
22705
# File 'lib/google/apis/compute_alpha/classes.rb', line 22703

def firewall_policy
  @firewall_policy
end

#gateway_i_pv4String

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

Returns:

  • (String)


22709
22710
22711
# File 'lib/google/apis/compute_alpha/classes.rb', line 22709

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 a CIDR 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)


22669
22670
22671
# File 'lib/google/apis/compute_alpha/classes.rb', line 22669

def i_pv4_range
  @i_pv4_range
end

#idFixnum

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

Returns:

  • (Fixnum)


22715
22716
22717
# File 'lib/google/apis/compute_alpha/classes.rb', line 22715

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)


22725
22726
22727
# File 'lib/google/apis/compute_alpha/classes.rb', line 22725

def internal_ipv6_range
  @internal_ipv6_range
end

#kindString

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

Returns:

  • (String)


22730
22731
22732
# File 'lib/google/apis/compute_alpha/classes.rb', line 22730

def kind
  @kind
end

#mtuFixnum

Maximum Transmission Unit in bytes. The minimum value for this field is 1460 and the maximum value is 1500 bytes. If unspecified, defaults to 1460. Corresponds to the JSON property mtu

Returns:

  • (Fixnum)


22736
22737
22738
# File 'lib/google/apis/compute_alpha/classes.rb', line 22736

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 with RFC1035. 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)


22746
22747
22748
# File 'lib/google/apis/compute_alpha/classes.rb', line 22746

def name
  @name
end

#network_firewall_policy_enforcement_orderString

Corresponds to the JSON property networkFirewallPolicyEnforcementOrder

Returns:

  • (String)


22751
22752
22753
# File 'lib/google/apis/compute_alpha/classes.rb', line 22751

def network_firewall_policy_enforcement_order
  @network_firewall_policy_enforcement_order
end

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

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



22756
22757
22758
# File 'lib/google/apis/compute_alpha/classes.rb', line 22756

def peerings
  @peerings
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



22763
22764
22765
# File 'lib/google/apis/compute_alpha/classes.rb', line 22763

def routing_config
  @routing_config
end

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

Returns:

  • (String)


22768
22769
22770
# File 'lib/google/apis/compute_alpha/classes.rb', line 22768

def self_link
  @self_link
end

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

Returns:

  • (String)


22773
22774
22775
# File 'lib/google/apis/compute_alpha/classes.rb', line 22773

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>)


22779
22780
22781
# File 'lib/google/apis/compute_alpha/classes.rb', line 22779

def subnetworks
  @subnetworks
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



22786
22787
22788
22789
22790
22791
22792
22793
22794
22795
22796
22797
22798
22799
22800
22801
22802
22803
22804
22805
# File 'lib/google/apis/compute_alpha/classes.rb', line 22786

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)
  @peerings = args[:peerings] if args.key?(:peerings)
  @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