Class: Google::Apis::ComputeAlpha::AccessConfig
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::AccessConfig
- 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
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_dns_name ⇒ String
Output only.
-
#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_dns ⇒ Boolean
(also: #set_public_dns?)
Specifies whether a public DNS 'A' record should be created for the external IP address of this access configuration.
-
#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.
710 711 712 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 710 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_alpha/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_alpha/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_alpha/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_alpha/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_alpha/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_alpha/classes.rb', line 665 def network_tier @network_tier end |
#public_dns_name ⇒ String
Output only. [Output Only] The public DNS domain name for the instance.
Corresponds to the JSON property publicDnsName
670 671 672 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 670 def public_dns_name @public_dns_name 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
679 680 681 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 679 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
685 686 687 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 685 def security_policy @security_policy end |
#set_public_dns ⇒ Boolean Also known as: set_public_dns?
Specifies whether a public DNS 'A' record should be created for the
external IP address of this access configuration.
Corresponds to the JSON property setPublicDns
691 692 693 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 691 def set_public_dns @set_public_dns 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
700 701 702 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 700 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
708 709 710 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 708 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
715 716 717 718 719 720 721 722 723 724 725 726 727 728 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 715 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_dns_name = args[:public_dns_name] if args.key?(:public_dns_name) @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_dns = args[:set_public_dns] if args.key?(:set_public_dns) @set_public_ptr = args[:set_public_ptr] if args.key?(:set_public_ptr) @type = args[:type] if args.key?(:type) end |