def __init__(__self__, *, external_ipv6: Optional[pulumi.Input[str]]=None, external_ipv6_prefix_length: Optional[pulumi.Input[int]]=None, name: Optional[pulumi.Input[str]]=None, nat_ip: Optional[pulumi.Input[str]]=None, network_tier: Optional[pulumi.Input['AccessConfigNetworkTier']]=None, public_ptr_domain_name: Optional[pulumi.Input[str]]=None, set_public_dns: Optional[pulumi.Input[bool]]=None, set_public_ptr: Optional[pulumi.Input[bool]]=None, type: Optional[pulumi.Input['AccessConfigType']]=None):
    "\n        An access configuration attached to an instance's network interface. Only one access config per instance is supported.\n        :param pulumi.Input[str] external_ipv6: The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.\n        :param pulumi.Input[int] external_ipv6_prefix_length: The prefix length of the external IPv6 range.\n        :param pulumi.Input[str] name: The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.\n        :param pulumi.Input[str] nat_ip: An external 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.\n        :param pulumi.Input['AccessConfigNetworkTier'] network_tier: 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.\n        :param pulumi.Input[str] public_ptr_domain_name: The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled in accessConfig. If this field is unspecified in ipv6AccessConfig, a default PTR record will be createc for first IP in associated external IPv6 range.\n        :param pulumi.Input[bool] set_public_dns: Specifies whether a public DNS 'A' record should be created for the external IP address of this access configuration.\n        :param pulumi.Input[bool] 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.\n        :param pulumi.Input['AccessConfigType'] type: The type of configuration. The default and only option is ONE_TO_ONE_NAT.\n        "
    if (external_ipv6 is not None):
        pulumi.set(__self__, 'external_ipv6', external_ipv6)
    if (external_ipv6_prefix_length is not None):
        pulumi.set(__self__, 'external_ipv6_prefix_length', external_ipv6_prefix_length)
    if (name is not None):
        pulumi.set(__self__, 'name', name)
    if (nat_ip is not None):
        pulumi.set(__self__, 'nat_ip', nat_ip)
    if (network_tier is not None):
        pulumi.set(__self__, 'network_tier', network_tier)
    if (public_ptr_domain_name is not None):
        pulumi.set(__self__, 'public_ptr_domain_name', public_ptr_domain_name)
    if (set_public_dns is not None):
        pulumi.set(__self__, 'set_public_dns', set_public_dns)
    if (set_public_ptr is not None):
        pulumi.set(__self__, 'set_public_ptr', set_public_ptr)
    if (type is not None):
        pulumi.set(__self__, 'type', type)
An access configuration attached to an instance's network interface. Only one access config per instance is supported.
:param pulumi.Input[str] external_ipv6: The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.
:param pulumi.Input[int] external_ipv6_prefix_length: The prefix length of the external IPv6 range.
:param pulumi.Input[str] name: The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.
:param pulumi.Input[str] nat_ip: An external 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.
:param pulumi.Input['AccessConfigNetworkTier'] network_tier: 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.
:param pulumi.Input[str] public_ptr_domain_name: The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled in accessConfig. If this field is unspecified in ipv6AccessConfig, a default PTR record will be createc for first IP in associated external IPv6 range.
:param pulumi.Input[bool] set_public_dns: Specifies whether a public DNS 'A' record should be created for the external IP address of this access configuration.
:param pulumi.Input[bool] 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.
:param pulumi.Input['AccessConfigType'] type: The type of configuration. The default and only option is ONE_TO_ONE_NAT.
def __init__(__self__, *, external_ipv6: Optional[pulumi.Input[str]]=None, external_ipv6_prefix_length: Optional[pulumi.Input[int]]=None, name: Optional[pulumi.Input[str]]=None, nat_ip: Optional[pulumi.Input[str]]=None, network_tier: Optional[pulumi.Input['AccessConfigNetworkTier']]=None, public_ptr_domain_name: Optional[pulumi.Input[str]]=None, set_public_dns: Optional[pulumi.Input[bool]]=None, set_public_ptr: Optional[pulumi.Input[bool]]=None, type: Optional[pulumi.Input['AccessConfigType']]=None):
    "\n        An access configuration attached to an instance's network interface. Only one access config per instance is supported.\n        :param pulumi.Input[str] external_ipv6: The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically.\n        :param pulumi.Input[int] external_ipv6_prefix_length: The prefix length of the external IPv6 range.\n        :param pulumi.Input[str] name: The name of this access configuration. The default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access.\n        :param pulumi.Input[str] nat_ip: An external 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.\n        :param pulumi.Input['AccessConfigNetworkTier'] network_tier: 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.\n        :param pulumi.Input[str] public_ptr_domain_name: The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled in accessConfig. If this field is unspecified in ipv6AccessConfig, a default PTR record will be createc for first IP in associated external IPv6 range.\n        :param pulumi.Input[bool] set_public_dns: Specifies whether a public DNS 'A' record should be created for the external IP address of this access configuration.\n        :param pulumi.Input[bool] 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.\n        :param pulumi.Input['AccessConfigType'] type: The type of configuration. The default and only option is ONE_TO_ONE_NAT.\n        "
    if (external_ipv6 is not None):
        pulumi.set(__self__, 'external_ipv6', external_ipv6)
    if (external_ipv6_prefix_length is not None):
        pulumi.set(__self__, 'external_ipv6_prefix_length', external_ipv6_prefix_length)
    if (name is not None):
        pulumi.set(__self__, 'name', name)
    if (nat_ip is not None):
        pulumi.set(__self__, 'nat_ip', nat_ip)
    if (network_tier is not None):
        pulumi.set(__self__, 'network_tier', network_tier)
    if (public_ptr_domain_name is not None):
        pulumi.set(__self__, 'public_ptr_domain_name', public_ptr_domain_name)
    if (set_public_dns is not None):
        pulumi.set(__self__, 'set_public_dns', set_public_dns)
    if (set_public_ptr is not None):
        pulumi.set(__self__, 'set_public_ptr', set_public_ptr)
    if (type is not None):
        pulumi.set(__self__, 'type', type)