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

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

/*
 * 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;

/**
 * Represents a Subnetwork resource.
 *
 * A subnetwork (also known as a subnet) is a logical partition of a Virtual Private Cloud network
 * with one primary IP range and zero or more secondary IP ranges. For more information, read
 * Virtual Private Cloud (VPC) Network. (== resource_for {$api_version}.subnetworks ==)
 *
 * 

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 Subnetwork extends com.google.api.client.json.GenericJson { /** * Can only be specified if VPC flow logging for this subnetwork is enabled. Sets the aggregation * interval for collecting flow logs. Increasing the interval time reduces the amount of generated * flow logs for long-lasting connections. Default is an interval of 5 seconds per connection. * Valid values: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN, * INTERVAL_15_MIN. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String aggregationInterval; /** * Whether this subnetwork can conflict with static routes. Setting this to true allows this * subnetwork's primary and secondary ranges to conflict with routes that have already been * configured on the corresponding network. Static routes will take precedence over the subnetwork * route if the route prefix length is at least as large as the subnetwork prefix length. * * Also, packets destined to IPs within subnetwork may contain private/sensitive data and are * prevented from leaving the virtual network. Setting this field to true will disable this * feature. * * The default value is false and applies to all existing subnetworks and automatically created * subnetworks. * * This field cannot be set to true at resource creation time. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean allowSubnetCidrRoutesOverlap; /** * [Output Only] Creation timestamp in RFC3339 text format. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String creationTimestamp; /** * An optional description of this resource. Provide this property when you create the resource. * This field can be set only at resource creation time. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String description; /** * Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it * will not appear in get listings. If not set the default behavior is to disable flow logging. * This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean enableFlowLogs; /** * Deprecated in favor of enable in PrivateIpv6GoogleAccess. Whether the VMs in this subnet can * directly access Google services via internal IPv6 addresses. This field can be both set at * resource creation time and updated using patch. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean enablePrivateV6Access; /** * Fingerprint of this resource. A hash of the contents stored in this object. This field is used * in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date * fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail * with error 412 conditionNotMet. * * To see the latest fingerprint, make a get() request to retrieve a Subnetwork. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String fingerprint; /** * Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the * field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 * means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5, which * means half of all collected logs are reported. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Float flowSampling; /** * [Output Only] The gateway address for default routes to reach destination addresses outside * this subnetwork. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String gatewayAddress; /** * [Output Only] The unique identifier for the resource. This identifier is defined by the server. * The value may be {@code null}. */ @com.google.api.client.util.Key @com.google.api.client.json.JsonString private java.math.BigInteger id; /** * The range of internal addresses that are owned by this subnetwork. Provide this property when * you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and * non-overlapping within a network. Only IPv4 is supported. This field can be set only at * resource creation time. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String ipCidrRange; /** * [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String ipv6CidrRange; /** * [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String kind; /** * This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, * logs are exported to Stackdriver. * The value may be {@code null}. */ @com.google.api.client.util.Key private SubnetworkLogConfig logConfig; /** * Can only be specified if VPC flow logging for this subnetwork is enabled. Configures whether * metadata fields should be added to the reported VPC flow logs. Default is INCLUDE_ALL_METADATA. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String metadata; /** * The name of the resource, provided by the client when initially creating the resource. 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])?` which means the * first character must be a lowercase letter, and all following characters must be a dash, * lowercase letter, or digit, except the last character, which cannot be a dash. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String name; /** * The URL of the network to which this subnetwork belongs, provided by the client when initially * creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. * This field can be set only at resource creation time. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String network; /** * Whether the VMs in this subnet can access Google services without assigned external IP * addresses. This field can be both set at resource creation time and updated using * setPrivateIpGoogleAccess. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean privateIpGoogleAccess; /** * The private IPv6 google access type for the VMs in this subnet. This is an expanded field of * enablePrivateV6Access. If both fields are set, privateIpv6GoogleAccess will take priority. * * This field can be both set at resource creation time and updated using patch. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String privateIpv6GoogleAccess; /** * Deprecated in favor of enable PrivateIpv6GoogleAccess on instance directly. The service * accounts can be used to selectively turn on Private IPv6 Google Access only on the VMs primary * service account matching the value. This value only takes effect when PrivateIpv6GoogleAccess * is ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS or * ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List privateIpv6GoogleAccessServiceAccounts; /** * The purpose of the resource. This field can be either PRIVATE_RFC_1918 or * INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is * a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, * the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the * purpose field set to INTERNAL_HTTPS_LOAD_BALANCER. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String purpose; /** * URL of the region where the Subnetwork resides. This field can be set only at resource creation * time. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String region; /** * The role of subnetwork. Currently, this field is only used when purpose = * INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is * one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is * one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated * with a patch request. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String role; /** * An array of configurations for secondary IP ranges for VM instances contained in this * subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. * The alias IPs may belong to either primary or secondary ranges. This field can be updated with * a patch request. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List secondaryIpRanges; /** * [Output Only] Server-defined URL for the resource. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String selfLink; /** * [Output Only] Server-defined URL for this resource with the resource id. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String selfLinkWithId; /** * [Output Only] The state of the subnetwork, which can be one of READY or DRAINING. A subnetwork * that is READY is ready to be used. The state of DRAINING is only applicable to subnetworks that * have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load * balancer are being drained. A subnetwork that is draining cannot be used or modified until it * reaches a status of READY. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String state; /** * Can only be specified if VPC flow logging for this subnetwork is enabled. Sets the aggregation * interval for collecting flow logs. Increasing the interval time reduces the amount of generated * flow logs for long-lasting connections. Default is an interval of 5 seconds per connection. * Valid values: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN, * INTERVAL_15_MIN. * @return value or {@code null} for none */ public java.lang.String getAggregationInterval() { return aggregationInterval; } /** * Can only be specified if VPC flow logging for this subnetwork is enabled. Sets the aggregation * interval for collecting flow logs. Increasing the interval time reduces the amount of generated * flow logs for long-lasting connections. Default is an interval of 5 seconds per connection. * Valid values: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN, * INTERVAL_15_MIN. * @param aggregationInterval aggregationInterval or {@code null} for none */ public Subnetwork setAggregationInterval(java.lang.String aggregationInterval) { this.aggregationInterval = aggregationInterval; return this; } /** * Whether this subnetwork can conflict with static routes. Setting this to true allows this * subnetwork's primary and secondary ranges to conflict with routes that have already been * configured on the corresponding network. Static routes will take precedence over the subnetwork * route if the route prefix length is at least as large as the subnetwork prefix length. * * Also, packets destined to IPs within subnetwork may contain private/sensitive data and are * prevented from leaving the virtual network. Setting this field to true will disable this * feature. * * The default value is false and applies to all existing subnetworks and automatically created * subnetworks. * * This field cannot be set to true at resource creation time. * @return value or {@code null} for none */ public java.lang.Boolean getAllowSubnetCidrRoutesOverlap() { return allowSubnetCidrRoutesOverlap; } /** * Whether this subnetwork can conflict with static routes. Setting this to true allows this * subnetwork's primary and secondary ranges to conflict with routes that have already been * configured on the corresponding network. Static routes will take precedence over the subnetwork * route if the route prefix length is at least as large as the subnetwork prefix length. * * Also, packets destined to IPs within subnetwork may contain private/sensitive data and are * prevented from leaving the virtual network. Setting this field to true will disable this * feature. * * The default value is false and applies to all existing subnetworks and automatically created * subnetworks. * * This field cannot be set to true at resource creation time. * @param allowSubnetCidrRoutesOverlap allowSubnetCidrRoutesOverlap or {@code null} for none */ public Subnetwork setAllowSubnetCidrRoutesOverlap(java.lang.Boolean allowSubnetCidrRoutesOverlap) { this.allowSubnetCidrRoutesOverlap = allowSubnetCidrRoutesOverlap; return this; } /** * [Output Only] Creation timestamp in RFC3339 text format. * @return value or {@code null} for none */ public java.lang.String getCreationTimestamp() { return creationTimestamp; } /** * [Output Only] Creation timestamp in RFC3339 text format. * @param creationTimestamp creationTimestamp or {@code null} for none */ public Subnetwork setCreationTimestamp(java.lang.String creationTimestamp) { this.creationTimestamp = creationTimestamp; return this; } /** * An optional description of this resource. Provide this property when you create the resource. * This field can be set only at resource creation time. * @return value or {@code null} for none */ public java.lang.String getDescription() { return description; } /** * An optional description of this resource. Provide this property when you create the resource. * This field can be set only at resource creation time. * @param description description or {@code null} for none */ public Subnetwork setDescription(java.lang.String description) { this.description = description; return this; } /** * Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it * will not appear in get listings. If not set the default behavior is to disable flow logging. * This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER. * @return value or {@code null} for none */ public java.lang.Boolean getEnableFlowLogs() { return enableFlowLogs; } /** * Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it * will not appear in get listings. If not set the default behavior is to disable flow logging. * This field isn't supported with the purpose field set to INTERNAL_HTTPS_LOAD_BALANCER. * @param enableFlowLogs enableFlowLogs or {@code null} for none */ public Subnetwork setEnableFlowLogs(java.lang.Boolean enableFlowLogs) { this.enableFlowLogs = enableFlowLogs; return this; } /** * Deprecated in favor of enable in PrivateIpv6GoogleAccess. Whether the VMs in this subnet can * directly access Google services via internal IPv6 addresses. This field can be both set at * resource creation time and updated using patch. * @return value or {@code null} for none */ public java.lang.Boolean getEnablePrivateV6Access() { return enablePrivateV6Access; } /** * Deprecated in favor of enable in PrivateIpv6GoogleAccess. Whether the VMs in this subnet can * directly access Google services via internal IPv6 addresses. This field can be both set at * resource creation time and updated using patch. * @param enablePrivateV6Access enablePrivateV6Access or {@code null} for none */ public Subnetwork setEnablePrivateV6Access(java.lang.Boolean enablePrivateV6Access) { this.enablePrivateV6Access = enablePrivateV6Access; return this; } /** * Fingerprint of this resource. A hash of the contents stored in this object. This field is used * in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date * fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail * with error 412 conditionNotMet. * * To see the latest fingerprint, make a get() request to retrieve a Subnetwork. * @see #decodeFingerprint() * @return value or {@code null} for none */ public java.lang.String getFingerprint() { return fingerprint; } /** * Fingerprint of this resource. A hash of the contents stored in this object. This field is used * in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date * fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail * with error 412 conditionNotMet. * * To see the latest fingerprint, make a get() request to retrieve a Subnetwork. * @see #getFingerprint() * @return Base64 decoded value or {@code null} for none * * @since 1.14 */ public byte[] decodeFingerprint() { return com.google.api.client.util.Base64.decodeBase64(fingerprint); } /** * Fingerprint of this resource. A hash of the contents stored in this object. This field is used * in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date * fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail * with error 412 conditionNotMet. * * To see the latest fingerprint, make a get() request to retrieve a Subnetwork. * @see #encodeFingerprint() * @param fingerprint fingerprint or {@code null} for none */ public Subnetwork setFingerprint(java.lang.String fingerprint) { this.fingerprint = fingerprint; return this; } /** * Fingerprint of this resource. A hash of the contents stored in this object. This field is used * in optimistic locking. This field will be ignored when inserting a Subnetwork. An up-to-date * fingerprint must be provided in order to update the Subnetwork, otherwise the request will fail * with error 412 conditionNotMet. * * To see the latest fingerprint, make a get() request to retrieve a Subnetwork. * @see #setFingerprint() * *

* The value is encoded Base64 or {@code null} for none. *

* * @since 1.14 */ public Subnetwork encodeFingerprint(byte[] fingerprint) { this.fingerprint = com.google.api.client.util.Base64.encodeBase64URLSafeString(fingerprint); return this; } /** * Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the * field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 * means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5, which * means half of all collected logs are reported. * @return value or {@code null} for none */ public java.lang.Float getFlowSampling() { return flowSampling; } /** * Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the * field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 * means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5, which * means half of all collected logs are reported. * @param flowSampling flowSampling or {@code null} for none */ public Subnetwork setFlowSampling(java.lang.Float flowSampling) { this.flowSampling = flowSampling; return this; } /** * [Output Only] The gateway address for default routes to reach destination addresses outside * this subnetwork. * @return value or {@code null} for none */ public java.lang.String getGatewayAddress() { return gatewayAddress; } /** * [Output Only] The gateway address for default routes to reach destination addresses outside * this subnetwork. * @param gatewayAddress gatewayAddress or {@code null} for none */ public Subnetwork setGatewayAddress(java.lang.String gatewayAddress) { this.gatewayAddress = gatewayAddress; return this; } /** * [Output Only] The unique identifier for the resource. This identifier is defined by the server. * @return value or {@code null} for none */ public java.math.BigInteger getId() { return id; } /** * [Output Only] The unique identifier for the resource. This identifier is defined by the server. * @param id id or {@code null} for none */ public Subnetwork setId(java.math.BigInteger id) { this.id = id; return this; } /** * The range of internal addresses that are owned by this subnetwork. Provide this property when * you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and * non-overlapping within a network. Only IPv4 is supported. This field can be set only at * resource creation time. * @return value or {@code null} for none */ public java.lang.String getIpCidrRange() { return ipCidrRange; } /** * The range of internal addresses that are owned by this subnetwork. Provide this property when * you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and * non-overlapping within a network. Only IPv4 is supported. This field can be set only at * resource creation time. * @param ipCidrRange ipCidrRange or {@code null} for none */ public Subnetwork setIpCidrRange(java.lang.String ipCidrRange) { this.ipCidrRange = ipCidrRange; return this; } /** * [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork. * @return value or {@code null} for none */ public java.lang.String getIpv6CidrRange() { return ipv6CidrRange; } /** * [Output Only] The range of internal IPv6 addresses that are owned by this subnetwork. * @param ipv6CidrRange ipv6CidrRange or {@code null} for none */ public Subnetwork setIpv6CidrRange(java.lang.String ipv6CidrRange) { this.ipv6CidrRange = ipv6CidrRange; return this; } /** * [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources. * @return value or {@code null} for none */ public java.lang.String getKind() { return kind; } /** * [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources. * @param kind kind or {@code null} for none */ public Subnetwork setKind(java.lang.String kind) { this.kind = kind; return this; } /** * This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, * logs are exported to Stackdriver. * @return value or {@code null} for none */ public SubnetworkLogConfig getLogConfig() { return logConfig; } /** * This field denotes the VPC flow logging options for this subnetwork. If logging is enabled, * logs are exported to Stackdriver. * @param logConfig logConfig or {@code null} for none */ public Subnetwork setLogConfig(SubnetworkLogConfig logConfig) { this.logConfig = logConfig; return this; } /** * Can only be specified if VPC flow logging for this subnetwork is enabled. Configures whether * metadata fields should be added to the reported VPC flow logs. Default is INCLUDE_ALL_METADATA. * @return value or {@code null} for none */ public java.lang.String getMetadata() { return metadata; } /** * Can only be specified if VPC flow logging for this subnetwork is enabled. Configures whether * metadata fields should be added to the reported VPC flow logs. Default is INCLUDE_ALL_METADATA. * @param metadata metadata or {@code null} for none */ public Subnetwork setMetadata(java.lang.String metadata) { this.metadata = metadata; return this; } /** * The name of the resource, provided by the client when initially creating the resource. 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])?` which means the * first character must be a lowercase letter, and all following characters must be a dash, * lowercase letter, or digit, except the last character, which cannot be a dash. * @return value or {@code null} for none */ public java.lang.String getName() { return name; } /** * The name of the resource, provided by the client when initially creating the resource. 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])?` which means the * first character must be a lowercase letter, and all following characters must be a dash, * lowercase letter, or digit, except the last character, which cannot be a dash. * @param name name or {@code null} for none */ public Subnetwork setName(java.lang.String name) { this.name = name; return this; } /** * The URL of the network to which this subnetwork belongs, provided by the client when initially * creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. * This field can be set only at resource creation time. * @return value or {@code null} for none */ public java.lang.String getNetwork() { return network; } /** * The URL of the network to which this subnetwork belongs, provided by the client when initially * creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. * This field can be set only at resource creation time. * @param network network or {@code null} for none */ public Subnetwork setNetwork(java.lang.String network) { this.network = network; return this; } /** * Whether the VMs in this subnet can access Google services without assigned external IP * addresses. This field can be both set at resource creation time and updated using * setPrivateIpGoogleAccess. * @return value or {@code null} for none */ public java.lang.Boolean getPrivateIpGoogleAccess() { return privateIpGoogleAccess; } /** * Whether the VMs in this subnet can access Google services without assigned external IP * addresses. This field can be both set at resource creation time and updated using * setPrivateIpGoogleAccess. * @param privateIpGoogleAccess privateIpGoogleAccess or {@code null} for none */ public Subnetwork setPrivateIpGoogleAccess(java.lang.Boolean privateIpGoogleAccess) { this.privateIpGoogleAccess = privateIpGoogleAccess; return this; } /** * The private IPv6 google access type for the VMs in this subnet. This is an expanded field of * enablePrivateV6Access. If both fields are set, privateIpv6GoogleAccess will take priority. * * This field can be both set at resource creation time and updated using patch. * @return value or {@code null} for none */ public java.lang.String getPrivateIpv6GoogleAccess() { return privateIpv6GoogleAccess; } /** * The private IPv6 google access type for the VMs in this subnet. This is an expanded field of * enablePrivateV6Access. If both fields are set, privateIpv6GoogleAccess will take priority. * * This field can be both set at resource creation time and updated using patch. * @param privateIpv6GoogleAccess privateIpv6GoogleAccess or {@code null} for none */ public Subnetwork setPrivateIpv6GoogleAccess(java.lang.String privateIpv6GoogleAccess) { this.privateIpv6GoogleAccess = privateIpv6GoogleAccess; return this; } /** * Deprecated in favor of enable PrivateIpv6GoogleAccess on instance directly. The service * accounts can be used to selectively turn on Private IPv6 Google Access only on the VMs primary * service account matching the value. This value only takes effect when PrivateIpv6GoogleAccess * is ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS or * ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS. * @return value or {@code null} for none */ public java.util.List getPrivateIpv6GoogleAccessServiceAccounts() { return privateIpv6GoogleAccessServiceAccounts; } /** * Deprecated in favor of enable PrivateIpv6GoogleAccess on instance directly. The service * accounts can be used to selectively turn on Private IPv6 Google Access only on the VMs primary * service account matching the value. This value only takes effect when PrivateIpv6GoogleAccess * is ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS or * ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS. * @param privateIpv6GoogleAccessServiceAccounts privateIpv6GoogleAccessServiceAccounts or {@code null} for none */ public Subnetwork setPrivateIpv6GoogleAccessServiceAccounts(java.util.List privateIpv6GoogleAccessServiceAccounts) { this.privateIpv6GoogleAccessServiceAccounts = privateIpv6GoogleAccessServiceAccounts; return this; } /** * The purpose of the resource. This field can be either PRIVATE_RFC_1918 or * INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is * a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, * the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the * purpose field set to INTERNAL_HTTPS_LOAD_BALANCER. * @return value or {@code null} for none */ public java.lang.String getPurpose() { return purpose; } /** * The purpose of the resource. This field can be either PRIVATE_RFC_1918 or * INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is * a user-created subnetwork that is reserved for Internal HTTP(S) Load Balancing. If unspecified, * the purpose defaults to PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the * purpose field set to INTERNAL_HTTPS_LOAD_BALANCER. * @param purpose purpose or {@code null} for none */ public Subnetwork setPurpose(java.lang.String purpose) { this.purpose = purpose; return this; } /** * URL of the region where the Subnetwork resides. This field can be set only at resource creation * time. * @return value or {@code null} for none */ public java.lang.String getRegion() { return region; } /** * URL of the region where the Subnetwork resides. This field can be set only at resource creation * time. * @param region region or {@code null} for none */ public Subnetwork setRegion(java.lang.String region) { this.region = region; return this; } /** * The role of subnetwork. Currently, this field is only used when purpose = * INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is * one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is * one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated * with a patch request. * @return value or {@code null} for none */ public java.lang.String getRole() { return role; } /** * The role of subnetwork. Currently, this field is only used when purpose = * INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is * one that is currently being used for Internal HTTP(S) Load Balancing. A BACKUP subnetwork is * one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated * with a patch request. * @param role role or {@code null} for none */ public Subnetwork setRole(java.lang.String role) { this.role = role; return this; } /** * An array of configurations for secondary IP ranges for VM instances contained in this * subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. * The alias IPs may belong to either primary or secondary ranges. This field can be updated with * a patch request. * @return value or {@code null} for none */ public java.util.List getSecondaryIpRanges() { return secondaryIpRanges; } /** * An array of configurations for secondary IP ranges for VM instances contained in this * subnetwork. The primary IP of such VM must belong to the primary ipCidrRange of the subnetwork. * The alias IPs may belong to either primary or secondary ranges. This field can be updated with * a patch request. * @param secondaryIpRanges secondaryIpRanges or {@code null} for none */ public Subnetwork setSecondaryIpRanges(java.util.List secondaryIpRanges) { this.secondaryIpRanges = secondaryIpRanges; return this; } /** * [Output Only] Server-defined URL for the resource. * @return value or {@code null} for none */ public java.lang.String getSelfLink() { return selfLink; } /** * [Output Only] Server-defined URL for the resource. * @param selfLink selfLink or {@code null} for none */ public Subnetwork setSelfLink(java.lang.String selfLink) { this.selfLink = selfLink; return this; } /** * [Output Only] Server-defined URL for this resource with the resource id. * @return value or {@code null} for none */ public java.lang.String getSelfLinkWithId() { return selfLinkWithId; } /** * [Output Only] Server-defined URL for this resource with the resource id. * @param selfLinkWithId selfLinkWithId or {@code null} for none */ public Subnetwork setSelfLinkWithId(java.lang.String selfLinkWithId) { this.selfLinkWithId = selfLinkWithId; return this; } /** * [Output Only] The state of the subnetwork, which can be one of READY or DRAINING. A subnetwork * that is READY is ready to be used. The state of DRAINING is only applicable to subnetworks that * have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load * balancer are being drained. A subnetwork that is draining cannot be used or modified until it * reaches a status of READY. * @return value or {@code null} for none */ public java.lang.String getState() { return state; } /** * [Output Only] The state of the subnetwork, which can be one of READY or DRAINING. A subnetwork * that is READY is ready to be used. The state of DRAINING is only applicable to subnetworks that * have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load * balancer are being drained. A subnetwork that is draining cannot be used or modified until it * reaches a status of READY. * @param state state or {@code null} for none */ public Subnetwork setState(java.lang.String state) { this.state = state; return this; } @Override public Subnetwork set(String fieldName, Object value) { return (Subnetwork) super.set(fieldName, value); } @Override public Subnetwork clone() { return (Subnetwork) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy