Class: Google::Apis::ComputeV1::AccessConfig
- Inherits:
-
Object
- Object
- Google::Apis::ComputeV1::AccessConfig
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_v1/classes.rb,
lib/google/apis/compute_v1/representations.rb,
lib/google/apis/compute_v1/representations.rb
Overview
An access configuration attached to an instance's network interface. Only one access config per instance is supported.
Instance Attribute Summary collapse
-
#external_ipv6 ⇒ String
Applies to ipv6AccessConfigs only.
-
#external_ipv6_prefix_length ⇒ Fixnum
Applies to ipv6AccessConfigs only.
-
#kind ⇒ String
Output only.
-
#name ⇒ String
The name of this access configuration.
-
#nat_ip ⇒ String
Applies to accessConfigs (IPv4) only.
-
#network_tier ⇒ String
This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM,STANDARD.
-
#public_ptr_domain_name ⇒ String
The DNS domain name for the public PTR record.
-
#security_policy ⇒ String
The resource URL for the security policy associated with this access config.
-
#set_public_ptr ⇒ Boolean
(also: #set_public_ptr?)
Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name.
-
#type ⇒ String
The type of configuration.
Instance Method Summary collapse
-
#initialize(**args) ⇒ AccessConfig
constructor
A new instance of AccessConfig.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ AccessConfig
Returns a new instance of AccessConfig.
698 699 700 |
# File 'lib/google/apis/compute_v1/classes.rb', line 698 def initialize(**args) update!(**args) end |
Instance Attribute Details
#external_ipv6 ⇒ String
Applies to ipv6AccessConfigs only.
The first IPv6 address of the external IPv6 range associated
with this instance, prefix length is stored inexternalIpv6PrefixLength in
ipv6AccessConfig. To
use a static external IP address, it must be unused and in the same region
as the instance's zone. If not specified, Google Cloud will automatically
assign an external IPv6 address from the instance's subnetwork.
Corresponds to the JSON property externalIpv6
623 624 625 |
# File 'lib/google/apis/compute_v1/classes.rb', line 623 def external_ipv6 @external_ipv6 end |
#external_ipv6_prefix_length ⇒ Fixnum
Applies to ipv6AccessConfigs only. The prefix length of the
external IPv6 range.
Corresponds to the JSON property externalIpv6PrefixLength
629 630 631 |
# File 'lib/google/apis/compute_v1/classes.rb', line 629 def external_ipv6_prefix_length @external_ipv6_prefix_length end |
#kind ⇒ String
Output only. [Output Only] Type of the resource. Alwayscompute#accessConfig
for access configs.
Corresponds to the JSON property kind
635 636 637 |
# File 'lib/google/apis/compute_v1/classes.rb', line 635 def kind @kind end |
#name ⇒ String
The name of this access configuration. In accessConfigs
(IPv4), the default and recommended name is External NAT, but
you can use any arbitrary string, such as My external IP orNetwork Access. In
ipv6AccessConfigs, the
recommend name is External IPv6.
Corresponds to the JSON property name
644 645 646 |
# File 'lib/google/apis/compute_v1/classes.rb', line 644 def name @name end |
#nat_ip ⇒ String
Applies to accessConfigs (IPv4) only. Anexternal IP
address associated with this instance. Specify an unused static
external IP address available to the project or leave this field undefined
to use an IP from a shared ephemeral IP address pool. If you specify a
static external IP address, it must live in the same region as the zone of
the instance.
Corresponds to the JSON property natIP
654 655 656 |
# File 'lib/google/apis/compute_v1/classes.rb', line 654 def nat_ip @nat_ip end |
#network_tier ⇒ String
This signifies the networking tier used for configuring this access
configuration and can only take the following values: PREMIUM,STANDARD.
If an AccessConfig is specified without a valid external IP address, an
ephemeral IP will be created with this networkTier.
If an AccessConfig with a valid external IP address is specified, it must
match that of the networkTier associated with the Address resource owning
that IP.
Corresponds to the JSON property networkTier
665 666 667 |
# File 'lib/google/apis/compute_v1/classes.rb', line 665 def network_tier @network_tier end |
#public_ptr_domain_name ⇒ String
The DNS domain name for the public PTR record.
You can set this field only if the setPublicPtr field is enabled
inaccessConfig. If this field is unspecified inipv6AccessConfig, a default PTR
record will be created for
first IP in associated external IPv6 range.
Corresponds to the JSON property publicPtrDomainName
674 675 676 |
# File 'lib/google/apis/compute_v1/classes.rb', line 674 def public_ptr_domain_name @public_ptr_domain_name end |
#security_policy ⇒ String
The resource URL for the security policy associated with this access
config.
Corresponds to the JSON property securityPolicy
680 681 682 |
# File 'lib/google/apis/compute_v1/classes.rb', line 680 def security_policy @security_policy end |
#set_public_ptr ⇒ Boolean Also known as: set_public_ptr?
Specifies whether a public DNS 'PTR' record should be created to map the
external IP address of the instance to a DNS domain name.
This field is not used in ipv6AccessConfig. A default PTR
record will be created if the VM has external IPv6 range associated.
Corresponds to the JSON property setPublicPtr
688 689 690 |
# File 'lib/google/apis/compute_v1/classes.rb', line 688 def set_public_ptr @set_public_ptr end |
#type ⇒ String
The type of configuration. In accessConfigs (IPv4), the
default and only option is ONE_TO_ONE_NAT. Inipv6AccessConfigs, the default
and only option isDIRECT_IPV6.
Corresponds to the JSON property type
696 697 698 |
# File 'lib/google/apis/compute_v1/classes.rb', line 696 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
703 704 705 706 707 708 709 710 711 712 713 714 |
# File 'lib/google/apis/compute_v1/classes.rb', line 703 def update!(**args) @external_ipv6 = args[:external_ipv6] if args.key?(:external_ipv6) @external_ipv6_prefix_length = args[:external_ipv6_prefix_length] if args.key?(:external_ipv6_prefix_length) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @nat_ip = args[:nat_ip] if args.key?(:nat_ip) @network_tier = args[:network_tier] if args.key?(:network_tier) @public_ptr_domain_name = args[:public_ptr_domain_name] if args.key?(:public_ptr_domain_name) @security_policy = args[:security_policy] if args.key?(:security_policy) @set_public_ptr = args[:set_public_ptr] if args.key?(:set_public_ptr) @type = args[:type] if args.key?(:type) end |