All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.compute.model.AccessConfig Maven / Gradle / Ivy

There is a newer version: v1-rev20240903-2.0.0
Show newest version
/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.compute.model;

/**
 * An access configuration attached to an instance's network interface. Only one access config per
 * instance is supported.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Compute Engine API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class AccessConfig extends com.google.api.client.json.GenericJson { /** * Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6 range associated * with this instance, prefix length is stored in externalIpv6PrefixLength 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String externalIpv6; /** * Applies to ipv6AccessConfigs only. The prefix length of the external IPv6 range. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer externalIpv6PrefixLength; /** * [Output Only] Type of the resource. Always compute#accessConfig for access configs. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String kind; /** * 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 or Network * Access. In ipv6AccessConfigs, the recommend name is External IPv6. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String name; /** * Applies to accessConfigs (IPv4) only. 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String natIP; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String networkTier; /** * 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 created for first IP in associated external IPv6 * range. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String publicPtrDomainName; /** * [Output Only] The resource URL for the security policy associated with this access config. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String securityPolicy; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean setPublicPtr; /** * The type of configuration. In accessConfigs (IPv4), the default and only option is * ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String type; /** * Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6 range associated * with this instance, prefix length is stored in externalIpv6PrefixLength 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. * @return value or {@code null} for none */ public java.lang.String getExternalIpv6() { return externalIpv6; } /** * Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6 range associated * with this instance, prefix length is stored in externalIpv6PrefixLength 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. * @param externalIpv6 externalIpv6 or {@code null} for none */ public AccessConfig setExternalIpv6(java.lang.String externalIpv6) { this.externalIpv6 = externalIpv6; return this; } /** * Applies to ipv6AccessConfigs only. The prefix length of the external IPv6 range. * @return value or {@code null} for none */ public java.lang.Integer getExternalIpv6PrefixLength() { return externalIpv6PrefixLength; } /** * Applies to ipv6AccessConfigs only. The prefix length of the external IPv6 range. * @param externalIpv6PrefixLength externalIpv6PrefixLength or {@code null} for none */ public AccessConfig setExternalIpv6PrefixLength(java.lang.Integer externalIpv6PrefixLength) { this.externalIpv6PrefixLength = externalIpv6PrefixLength; return this; } /** * [Output Only] Type of the resource. Always compute#accessConfig for access configs. * @return value or {@code null} for none */ public java.lang.String getKind() { return kind; } /** * [Output Only] Type of the resource. Always compute#accessConfig for access configs. * @param kind kind or {@code null} for none */ public AccessConfig setKind(java.lang.String kind) { this.kind = kind; return this; } /** * 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 or Network * Access. In ipv6AccessConfigs, the recommend name is External IPv6. * @return value or {@code null} for none */ public java.lang.String getName() { return name; } /** * 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 or Network * Access. In ipv6AccessConfigs, the recommend name is External IPv6. * @param name name or {@code null} for none */ public AccessConfig setName(java.lang.String name) { this.name = name; return this; } /** * Applies to accessConfigs (IPv4) only. 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. * @return value or {@code null} for none */ public java.lang.String getNatIP() { return natIP; } /** * Applies to accessConfigs (IPv4) only. 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 natIP natIP or {@code null} for none */ public AccessConfig setNatIP(java.lang.String natIP) { this.natIP = natIP; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getNetworkTier() { return networkTier; } /** * 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 networkTier networkTier or {@code null} for none */ public AccessConfig setNetworkTier(java.lang.String networkTier) { this.networkTier = networkTier; return this; } /** * 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 created for first IP in associated external IPv6 * range. * @return value or {@code null} for none */ public java.lang.String getPublicPtrDomainName() { return publicPtrDomainName; } /** * 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 created for first IP in associated external IPv6 * range. * @param publicPtrDomainName publicPtrDomainName or {@code null} for none */ public AccessConfig setPublicPtrDomainName(java.lang.String publicPtrDomainName) { this.publicPtrDomainName = publicPtrDomainName; return this; } /** * [Output Only] The resource URL for the security policy associated with this access config. * @return value or {@code null} for none */ public java.lang.String getSecurityPolicy() { return securityPolicy; } /** * [Output Only] The resource URL for the security policy associated with this access config. * @param securityPolicy securityPolicy or {@code null} for none */ public AccessConfig setSecurityPolicy(java.lang.String securityPolicy) { this.securityPolicy = securityPolicy; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Boolean getSetPublicPtr() { return setPublicPtr; } /** * 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 setPublicPtr setPublicPtr or {@code null} for none */ public AccessConfig setSetPublicPtr(java.lang.Boolean setPublicPtr) { this.setPublicPtr = setPublicPtr; return this; } /** * The type of configuration. In accessConfigs (IPv4), the default and only option is * ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6. * @return value or {@code null} for none */ public java.lang.String getType() { return type; } /** * The type of configuration. In accessConfigs (IPv4), the default and only option is * ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6. * @param type type or {@code null} for none */ public AccessConfig setType(java.lang.String type) { this.type = type; return this; } @Override public AccessConfig set(String fieldName, Object value) { return (AccessConfig) super.set(fieldName, value); } @Override public AccessConfig clone() { return (AccessConfig) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy