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

com.google.cloud.compute.v1.TargetHttpsProxy Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2024 Google LLC
 *
 * 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
 *
 *     https://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.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/compute/v1/compute.proto

// Protobuf Java Version: 3.25.5
package com.google.cloud.compute.v1;

/**
 *
 *
 * 
 * Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.
 * 
* * Protobuf type {@code google.cloud.compute.v1.TargetHttpsProxy} */ public final class TargetHttpsProxy extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.TargetHttpsProxy) TargetHttpsProxyOrBuilder { private static final long serialVersionUID = 0L; // Use TargetHttpsProxy.newBuilder() to construct. private TargetHttpsProxy(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private TargetHttpsProxy() { authorizationPolicy_ = ""; certificateMap_ = ""; creationTimestamp_ = ""; description_ = ""; fingerprint_ = ""; kind_ = ""; name_ = ""; quicOverride_ = ""; region_ = ""; selfLink_ = ""; serverTlsPolicy_ = ""; sslCertificates_ = com.google.protobuf.LazyStringArrayList.emptyList(); sslPolicy_ = ""; tlsEarlyData_ = ""; urlMap_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { return new TargetHttpsProxy(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.cloud.compute.v1.Compute .internal_static_google_cloud_compute_v1_TargetHttpsProxy_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.cloud.compute.v1.Compute .internal_static_google_cloud_compute_v1_TargetHttpsProxy_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.cloud.compute.v1.TargetHttpsProxy.class, com.google.cloud.compute.v1.TargetHttpsProxy.Builder.class); } /** * * *
   * Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied.
   * 
* * Protobuf enum {@code google.cloud.compute.v1.TargetHttpsProxy.QuicOverride} */ public enum QuicOverride implements com.google.protobuf.ProtocolMessageEnum { /** * * *
     * A value indicating that the enum field is not set.
     * 
* * UNDEFINED_QUIC_OVERRIDE = 0; */ UNDEFINED_QUIC_OVERRIDE(0), /** * * *
     * The load balancer will not attempt to negotiate QUIC with clients.
     * 
* * DISABLE = 241807048; */ DISABLE(241807048), /** * * *
     * The load balancer will attempt to negotiate QUIC with clients.
     * 
* * ENABLE = 438835587; */ ENABLE(438835587), /** * * *
     * No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request.
     * 
* * NONE = 2402104; */ NONE(2402104), UNRECOGNIZED(-1), ; /** * * *
     * A value indicating that the enum field is not set.
     * 
* * UNDEFINED_QUIC_OVERRIDE = 0; */ public static final int UNDEFINED_QUIC_OVERRIDE_VALUE = 0; /** * * *
     * The load balancer will not attempt to negotiate QUIC with clients.
     * 
* * DISABLE = 241807048; */ public static final int DISABLE_VALUE = 241807048; /** * * *
     * The load balancer will attempt to negotiate QUIC with clients.
     * 
* * ENABLE = 438835587; */ public static final int ENABLE_VALUE = 438835587; /** * * *
     * No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request.
     * 
* * NONE = 2402104; */ public static final int NONE_VALUE = 2402104; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static QuicOverride valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static QuicOverride forNumber(int value) { switch (value) { case 0: return UNDEFINED_QUIC_OVERRIDE; case 241807048: return DISABLE; case 438835587: return ENABLE; case 2402104: return NONE; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public QuicOverride findValueByNumber(int number) { return QuicOverride.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return com.google.cloud.compute.v1.TargetHttpsProxy.getDescriptor().getEnumTypes().get(0); } private static final QuicOverride[] VALUES = values(); public static QuicOverride valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private QuicOverride(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.TargetHttpsProxy.QuicOverride) } /** * * *
   *  Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
   * 
* * Protobuf enum {@code google.cloud.compute.v1.TargetHttpsProxy.TlsEarlyData} */ public enum TlsEarlyData implements com.google.protobuf.ProtocolMessageEnum { /** * * *
     * A value indicating that the enum field is not set.
     * 
* * UNDEFINED_TLS_EARLY_DATA = 0; */ UNDEFINED_TLS_EARLY_DATA(0), /** * * *
     * TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.
     * 
* * DISABLED = 516696700; */ DISABLED(516696700), /** * * *
     * This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode does not enforce any other limitations for requests with Early Data. The application owner should validate that Early Data is acceptable for a given request path.
     * 
* * PERMISSIVE = 504345247; */ PERMISSIVE(504345247), /** * * *
     * This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425.
     * 
* * STRICT = 308826825; */ STRICT(308826825), /** * * *
     * This enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. This mode does not enforce any other limitations. This may be valuable for gRPC use cases. However, we do not recommend this method unless you have evaluated your security stance and mitigated the risk of replay attacks using other mechanisms.
     * 
* * UNRESTRICTED = 457266100; */ UNRESTRICTED(457266100), UNRECOGNIZED(-1), ; /** * * *
     * A value indicating that the enum field is not set.
     * 
* * UNDEFINED_TLS_EARLY_DATA = 0; */ public static final int UNDEFINED_TLS_EARLY_DATA_VALUE = 0; /** * * *
     * TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.
     * 
* * DISABLED = 516696700; */ public static final int DISABLED_VALUE = 516696700; /** * * *
     * This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode does not enforce any other limitations for requests with Early Data. The application owner should validate that Early Data is acceptable for a given request path.
     * 
* * PERMISSIVE = 504345247; */ public static final int PERMISSIVE_VALUE = 504345247; /** * * *
     * This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425.
     * 
* * STRICT = 308826825; */ public static final int STRICT_VALUE = 308826825; /** * * *
     * This enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. This mode does not enforce any other limitations. This may be valuable for gRPC use cases. However, we do not recommend this method unless you have evaluated your security stance and mitigated the risk of replay attacks using other mechanisms.
     * 
* * UNRESTRICTED = 457266100; */ public static final int UNRESTRICTED_VALUE = 457266100; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static TlsEarlyData valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static TlsEarlyData forNumber(int value) { switch (value) { case 0: return UNDEFINED_TLS_EARLY_DATA; case 516696700: return DISABLED; case 504345247: return PERMISSIVE; case 308826825: return STRICT; case 457266100: return UNRESTRICTED; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public TlsEarlyData findValueByNumber(int number) { return TlsEarlyData.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return com.google.cloud.compute.v1.TargetHttpsProxy.getDescriptor().getEnumTypes().get(1); } private static final TlsEarlyData[] VALUES = values(); public static TlsEarlyData valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private TlsEarlyData(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.TargetHttpsProxy.TlsEarlyData) } private int bitField0_; public static final int AUTHORIZATION_POLICY_FIELD_NUMBER = 33945528; @SuppressWarnings("serial") private volatile java.lang.Object authorizationPolicy_ = ""; /** * * *
   * Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.
   * 
* * optional string authorization_policy = 33945528; * * @return Whether the authorizationPolicy field is set. */ @java.lang.Override public boolean hasAuthorizationPolicy() { return ((bitField0_ & 0x00000001) != 0); } /** * * *
   * Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.
   * 
* * optional string authorization_policy = 33945528; * * @return The authorizationPolicy. */ @java.lang.Override public java.lang.String getAuthorizationPolicy() { java.lang.Object ref = authorizationPolicy_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); authorizationPolicy_ = s; return s; } } /** * * *
   * Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.
   * 
* * optional string authorization_policy = 33945528; * * @return The bytes for authorizationPolicy. */ @java.lang.Override public com.google.protobuf.ByteString getAuthorizationPolicyBytes() { java.lang.Object ref = authorizationPolicy_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); authorizationPolicy_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CERTIFICATE_MAP_FIELD_NUMBER = 156463796; @SuppressWarnings("serial") private volatile java.lang.Object certificateMap_ = ""; /** * * *
   * URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.
   * 
* * optional string certificate_map = 156463796; * * @return Whether the certificateMap field is set. */ @java.lang.Override public boolean hasCertificateMap() { return ((bitField0_ & 0x00000002) != 0); } /** * * *
   * URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.
   * 
* * optional string certificate_map = 156463796; * * @return The certificateMap. */ @java.lang.Override public java.lang.String getCertificateMap() { java.lang.Object ref = certificateMap_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); certificateMap_ = s; return s; } } /** * * *
   * URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.
   * 
* * optional string certificate_map = 156463796; * * @return The bytes for certificateMap. */ @java.lang.Override public com.google.protobuf.ByteString getCertificateMapBytes() { java.lang.Object ref = certificateMap_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); certificateMap_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CREATION_TIMESTAMP_FIELD_NUMBER = 30525366; @SuppressWarnings("serial") private volatile java.lang.Object creationTimestamp_ = ""; /** * * *
   * [Output Only] Creation timestamp in RFC3339 text format.
   * 
* * optional string creation_timestamp = 30525366; * * @return Whether the creationTimestamp field is set. */ @java.lang.Override public boolean hasCreationTimestamp() { return ((bitField0_ & 0x00000004) != 0); } /** * * *
   * [Output Only] Creation timestamp in RFC3339 text format.
   * 
* * optional string creation_timestamp = 30525366; * * @return The creationTimestamp. */ @java.lang.Override public java.lang.String getCreationTimestamp() { java.lang.Object ref = creationTimestamp_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); creationTimestamp_ = s; return s; } } /** * * *
   * [Output Only] Creation timestamp in RFC3339 text format.
   * 
* * optional string creation_timestamp = 30525366; * * @return The bytes for creationTimestamp. */ @java.lang.Override public com.google.protobuf.ByteString getCreationTimestampBytes() { java.lang.Object ref = creationTimestamp_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); creationTimestamp_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int DESCRIPTION_FIELD_NUMBER = 422937596; @SuppressWarnings("serial") private volatile java.lang.Object description_ = ""; /** * * *
   * An optional description of this resource. Provide this property when you create the resource.
   * 
* * optional string description = 422937596; * * @return Whether the description field is set. */ @java.lang.Override public boolean hasDescription() { return ((bitField0_ & 0x00000008) != 0); } /** * * *
   * An optional description of this resource. Provide this property when you create the resource.
   * 
* * optional string description = 422937596; * * @return The description. */ @java.lang.Override public java.lang.String getDescription() { java.lang.Object ref = description_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); description_ = s; return s; } } /** * * *
   * An optional description of this resource. Provide this property when you create the resource.
   * 
* * optional string description = 422937596; * * @return The bytes for description. */ @java.lang.Override public com.google.protobuf.ByteString getDescriptionBytes() { java.lang.Object ref = description_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); description_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int FINGERPRINT_FIELD_NUMBER = 234678500; @SuppressWarnings("serial") private volatile java.lang.Object 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 TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.
   * 
* * optional string fingerprint = 234678500; * * @return Whether the fingerprint field is set. */ @java.lang.Override public boolean hasFingerprint() { return ((bitField0_ & 0x00000010) != 0); } /** * * *
   * 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 TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.
   * 
* * optional string fingerprint = 234678500; * * @return The fingerprint. */ @java.lang.Override public java.lang.String getFingerprint() { java.lang.Object ref = fingerprint_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); fingerprint_ = s; return s; } } /** * * *
   * 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 TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.
   * 
* * optional string fingerprint = 234678500; * * @return The bytes for fingerprint. */ @java.lang.Override public com.google.protobuf.ByteString getFingerprintBytes() { java.lang.Object ref = fingerprint_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); fingerprint_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int HTTP_KEEP_ALIVE_TIMEOUT_SEC_FIELD_NUMBER = 447326046; private int httpKeepAliveTimeoutSec_ = 0; /** * * *
   * Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.
   * 
* * optional int32 http_keep_alive_timeout_sec = 447326046; * * @return Whether the httpKeepAliveTimeoutSec field is set. */ @java.lang.Override public boolean hasHttpKeepAliveTimeoutSec() { return ((bitField0_ & 0x00000020) != 0); } /** * * *
   * Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.
   * 
* * optional int32 http_keep_alive_timeout_sec = 447326046; * * @return The httpKeepAliveTimeoutSec. */ @java.lang.Override public int getHttpKeepAliveTimeoutSec() { return httpKeepAliveTimeoutSec_; } public static final int ID_FIELD_NUMBER = 3355; private long id_ = 0L; /** * * *
   * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
   * 
* * optional uint64 id = 3355; * * @return Whether the id field is set. */ @java.lang.Override public boolean hasId() { return ((bitField0_ & 0x00000040) != 0); } /** * * *
   * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
   * 
* * optional uint64 id = 3355; * * @return The id. */ @java.lang.Override public long getId() { return id_; } public static final int KIND_FIELD_NUMBER = 3292052; @SuppressWarnings("serial") private volatile java.lang.Object kind_ = ""; /** * * *
   * [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.
   * 
* * optional string kind = 3292052; * * @return Whether the kind field is set. */ @java.lang.Override public boolean hasKind() { return ((bitField0_ & 0x00000080) != 0); } /** * * *
   * [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.
   * 
* * optional string kind = 3292052; * * @return The kind. */ @java.lang.Override public java.lang.String getKind() { java.lang.Object ref = kind_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); kind_ = s; return s; } } /** * * *
   * [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.
   * 
* * optional string kind = 3292052; * * @return The bytes for kind. */ @java.lang.Override public com.google.protobuf.ByteString getKindBytes() { java.lang.Object ref = kind_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); kind_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int NAME_FIELD_NUMBER = 3373707; @SuppressWarnings("serial") private volatile java.lang.Object name_ = ""; /** * * *
   * Name of the resource. Provided by the client when the resource is created. 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.
   * 
* * optional string name = 3373707; * * @return Whether the name field is set. */ @java.lang.Override public boolean hasName() { return ((bitField0_ & 0x00000100) != 0); } /** * * *
   * Name of the resource. Provided by the client when the resource is created. 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.
   * 
* * optional string name = 3373707; * * @return The name. */ @java.lang.Override public java.lang.String getName() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } } /** * * *
   * Name of the resource. Provided by the client when the resource is created. 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.
   * 
* * optional string name = 3373707; * * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int PROXY_BIND_FIELD_NUMBER = 286025582; private boolean proxyBind_ = false; /** * * *
   * This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.
   * 
* * optional bool proxy_bind = 286025582; * * @return Whether the proxyBind field is set. */ @java.lang.Override public boolean hasProxyBind() { return ((bitField0_ & 0x00000200) != 0); } /** * * *
   * This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.
   * 
* * optional bool proxy_bind = 286025582; * * @return The proxyBind. */ @java.lang.Override public boolean getProxyBind() { return proxyBind_; } public static final int QUIC_OVERRIDE_FIELD_NUMBER = 456577197; @SuppressWarnings("serial") private volatile java.lang.Object quicOverride_ = ""; /** * * *
   * Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied.
   * Check the QuicOverride enum for the list of possible values.
   * 
* * optional string quic_override = 456577197; * * @return Whether the quicOverride field is set. */ @java.lang.Override public boolean hasQuicOverride() { return ((bitField0_ & 0x00000400) != 0); } /** * * *
   * Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied.
   * Check the QuicOverride enum for the list of possible values.
   * 
* * optional string quic_override = 456577197; * * @return The quicOverride. */ @java.lang.Override public java.lang.String getQuicOverride() { java.lang.Object ref = quicOverride_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); quicOverride_ = s; return s; } } /** * * *
   * Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied.
   * Check the QuicOverride enum for the list of possible values.
   * 
* * optional string quic_override = 456577197; * * @return The bytes for quicOverride. */ @java.lang.Override public com.google.protobuf.ByteString getQuicOverrideBytes() { java.lang.Object ref = quicOverride_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); quicOverride_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int REGION_FIELD_NUMBER = 138946292; @SuppressWarnings("serial") private volatile java.lang.Object region_ = ""; /** * * *
   * [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.
   * 
* * optional string region = 138946292; * * @return Whether the region field is set. */ @java.lang.Override public boolean hasRegion() { return ((bitField0_ & 0x00000800) != 0); } /** * * *
   * [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.
   * 
* * optional string region = 138946292; * * @return The region. */ @java.lang.Override public java.lang.String getRegion() { java.lang.Object ref = region_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); region_ = s; return s; } } /** * * *
   * [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.
   * 
* * optional string region = 138946292; * * @return The bytes for region. */ @java.lang.Override public com.google.protobuf.ByteString getRegionBytes() { java.lang.Object ref = region_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); region_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int SELF_LINK_FIELD_NUMBER = 456214797; @SuppressWarnings("serial") private volatile java.lang.Object selfLink_ = ""; /** * * *
   * [Output Only] Server-defined URL for the resource.
   * 
* * optional string self_link = 456214797; * * @return Whether the selfLink field is set. */ @java.lang.Override public boolean hasSelfLink() { return ((bitField0_ & 0x00001000) != 0); } /** * * *
   * [Output Only] Server-defined URL for the resource.
   * 
* * optional string self_link = 456214797; * * @return The selfLink. */ @java.lang.Override public java.lang.String getSelfLink() { java.lang.Object ref = selfLink_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); selfLink_ = s; return s; } } /** * * *
   * [Output Only] Server-defined URL for the resource.
   * 
* * optional string self_link = 456214797; * * @return The bytes for selfLink. */ @java.lang.Override public com.google.protobuf.ByteString getSelfLinkBytes() { java.lang.Object ref = selfLink_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); selfLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int SERVER_TLS_POLICY_FIELD_NUMBER = 295825266; @SuppressWarnings("serial") private volatile java.lang.Object serverTlsPolicy_ = ""; /** * * *
   * Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
   * 
* * optional string server_tls_policy = 295825266; * * @return Whether the serverTlsPolicy field is set. */ @java.lang.Override public boolean hasServerTlsPolicy() { return ((bitField0_ & 0x00002000) != 0); } /** * * *
   * Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
   * 
* * optional string server_tls_policy = 295825266; * * @return The serverTlsPolicy. */ @java.lang.Override public java.lang.String getServerTlsPolicy() { java.lang.Object ref = serverTlsPolicy_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); serverTlsPolicy_ = s; return s; } } /** * * *
   * Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
   * 
* * optional string server_tls_policy = 295825266; * * @return The bytes for serverTlsPolicy. */ @java.lang.Override public com.google.protobuf.ByteString getServerTlsPolicyBytes() { java.lang.Object ref = serverTlsPolicy_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); serverTlsPolicy_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int SSL_CERTIFICATES_FIELD_NUMBER = 366006543; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList sslCertificates_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** * * *
   * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
   * 
* * repeated string ssl_certificates = 366006543; * * @return A list containing the sslCertificates. */ public com.google.protobuf.ProtocolStringList getSslCertificatesList() { return sslCertificates_; } /** * * *
   * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
   * 
* * repeated string ssl_certificates = 366006543; * * @return The count of sslCertificates. */ public int getSslCertificatesCount() { return sslCertificates_.size(); } /** * * *
   * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
   * 
* * repeated string ssl_certificates = 366006543; * * @param index The index of the element to return. * @return The sslCertificates at the given index. */ public java.lang.String getSslCertificates(int index) { return sslCertificates_.get(index); } /** * * *
   * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
   * 
* * repeated string ssl_certificates = 366006543; * * @param index The index of the value to return. * @return The bytes of the sslCertificates at the given index. */ public com.google.protobuf.ByteString getSslCertificatesBytes(int index) { return sslCertificates_.getByteString(index); } public static final int SSL_POLICY_FIELD_NUMBER = 295190213; @SuppressWarnings("serial") private volatile java.lang.Object sslPolicy_ = ""; /** * * *
   * URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
   * 
* * optional string ssl_policy = 295190213; * * @return Whether the sslPolicy field is set. */ @java.lang.Override public boolean hasSslPolicy() { return ((bitField0_ & 0x00004000) != 0); } /** * * *
   * URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
   * 
* * optional string ssl_policy = 295190213; * * @return The sslPolicy. */ @java.lang.Override public java.lang.String getSslPolicy() { java.lang.Object ref = sslPolicy_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sslPolicy_ = s; return s; } } /** * * *
   * URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
   * 
* * optional string ssl_policy = 295190213; * * @return The bytes for sslPolicy. */ @java.lang.Override public com.google.protobuf.ByteString getSslPolicyBytes() { java.lang.Object ref = sslPolicy_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); sslPolicy_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int TLS_EARLY_DATA_FIELD_NUMBER = 61108426; @SuppressWarnings("serial") private volatile java.lang.Object tlsEarlyData_ = ""; /** * * *
   *  Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
   * Check the TlsEarlyData enum for the list of possible values.
   * 
* * optional string tls_early_data = 61108426; * * @return Whether the tlsEarlyData field is set. */ @java.lang.Override public boolean hasTlsEarlyData() { return ((bitField0_ & 0x00008000) != 0); } /** * * *
   *  Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
   * Check the TlsEarlyData enum for the list of possible values.
   * 
* * optional string tls_early_data = 61108426; * * @return The tlsEarlyData. */ @java.lang.Override public java.lang.String getTlsEarlyData() { java.lang.Object ref = tlsEarlyData_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); tlsEarlyData_ = s; return s; } } /** * * *
   *  Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
   * Check the TlsEarlyData enum for the list of possible values.
   * 
* * optional string tls_early_data = 61108426; * * @return The bytes for tlsEarlyData. */ @java.lang.Override public com.google.protobuf.ByteString getTlsEarlyDataBytes() { java.lang.Object ref = tlsEarlyData_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); tlsEarlyData_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int URL_MAP_FIELD_NUMBER = 367020684; @SuppressWarnings("serial") private volatile java.lang.Object urlMap_ = ""; /** * * *
   * A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map
   * 
* * optional string url_map = 367020684; * * @return Whether the urlMap field is set. */ @java.lang.Override public boolean hasUrlMap() { return ((bitField0_ & 0x00010000) != 0); } /** * * *
   * A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map
   * 
* * optional string url_map = 367020684; * * @return The urlMap. */ @java.lang.Override public java.lang.String getUrlMap() { java.lang.Object ref = urlMap_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); urlMap_ = s; return s; } } /** * * *
   * A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map
   * 
* * optional string url_map = 367020684; * * @return The bytes for urlMap. */ @java.lang.Override public com.google.protobuf.ByteString getUrlMapBytes() { java.lang.Object ref = urlMap_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); urlMap_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000040) != 0)) { output.writeUInt64(3355, id_); } if (((bitField0_ & 0x00000080) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3292052, kind_); } if (((bitField0_ & 0x00000100) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3373707, name_); } if (((bitField0_ & 0x00000004) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 30525366, creationTimestamp_); } if (((bitField0_ & 0x00000001) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 33945528, authorizationPolicy_); } if (((bitField0_ & 0x00008000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 61108426, tlsEarlyData_); } if (((bitField0_ & 0x00000800) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 138946292, region_); } if (((bitField0_ & 0x00000002) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 156463796, certificateMap_); } if (((bitField0_ & 0x00000010) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 234678500, fingerprint_); } if (((bitField0_ & 0x00000200) != 0)) { output.writeBool(286025582, proxyBind_); } if (((bitField0_ & 0x00004000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 295190213, sslPolicy_); } if (((bitField0_ & 0x00002000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 295825266, serverTlsPolicy_); } for (int i = 0; i < sslCertificates_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString( output, 366006543, sslCertificates_.getRaw(i)); } if (((bitField0_ & 0x00010000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 367020684, urlMap_); } if (((bitField0_ & 0x00000008) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 422937596, description_); } if (((bitField0_ & 0x00000020) != 0)) { output.writeInt32(447326046, httpKeepAliveTimeoutSec_); } if (((bitField0_ & 0x00001000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 456214797, selfLink_); } if (((bitField0_ & 0x00000400) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 456577197, quicOverride_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000040) != 0)) { size += com.google.protobuf.CodedOutputStream.computeUInt64Size(3355, id_); } if (((bitField0_ & 0x00000080) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3292052, kind_); } if (((bitField0_ & 0x00000100) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3373707, name_); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(30525366, creationTimestamp_); } if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(33945528, authorizationPolicy_); } if (((bitField0_ & 0x00008000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(61108426, tlsEarlyData_); } if (((bitField0_ & 0x00000800) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(138946292, region_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(156463796, certificateMap_); } if (((bitField0_ & 0x00000010) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(234678500, fingerprint_); } if (((bitField0_ & 0x00000200) != 0)) { size += com.google.protobuf.CodedOutputStream.computeBoolSize(286025582, proxyBind_); } if (((bitField0_ & 0x00004000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(295190213, sslPolicy_); } if (((bitField0_ & 0x00002000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(295825266, serverTlsPolicy_); } { int dataSize = 0; for (int i = 0; i < sslCertificates_.size(); i++) { dataSize += computeStringSizeNoTag(sslCertificates_.getRaw(i)); } size += dataSize; size += 5 * getSslCertificatesList().size(); } if (((bitField0_ & 0x00010000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(367020684, urlMap_); } if (((bitField0_ & 0x00000008) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(422937596, description_); } if (((bitField0_ & 0x00000020) != 0)) { size += com.google.protobuf.CodedOutputStream.computeInt32Size( 447326046, httpKeepAliveTimeoutSec_); } if (((bitField0_ & 0x00001000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(456214797, selfLink_); } if (((bitField0_ & 0x00000400) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(456577197, quicOverride_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.cloud.compute.v1.TargetHttpsProxy)) { return super.equals(obj); } com.google.cloud.compute.v1.TargetHttpsProxy other = (com.google.cloud.compute.v1.TargetHttpsProxy) obj; if (hasAuthorizationPolicy() != other.hasAuthorizationPolicy()) return false; if (hasAuthorizationPolicy()) { if (!getAuthorizationPolicy().equals(other.getAuthorizationPolicy())) return false; } if (hasCertificateMap() != other.hasCertificateMap()) return false; if (hasCertificateMap()) { if (!getCertificateMap().equals(other.getCertificateMap())) return false; } if (hasCreationTimestamp() != other.hasCreationTimestamp()) return false; if (hasCreationTimestamp()) { if (!getCreationTimestamp().equals(other.getCreationTimestamp())) return false; } if (hasDescription() != other.hasDescription()) return false; if (hasDescription()) { if (!getDescription().equals(other.getDescription())) return false; } if (hasFingerprint() != other.hasFingerprint()) return false; if (hasFingerprint()) { if (!getFingerprint().equals(other.getFingerprint())) return false; } if (hasHttpKeepAliveTimeoutSec() != other.hasHttpKeepAliveTimeoutSec()) return false; if (hasHttpKeepAliveTimeoutSec()) { if (getHttpKeepAliveTimeoutSec() != other.getHttpKeepAliveTimeoutSec()) return false; } if (hasId() != other.hasId()) return false; if (hasId()) { if (getId() != other.getId()) return false; } if (hasKind() != other.hasKind()) return false; if (hasKind()) { if (!getKind().equals(other.getKind())) return false; } if (hasName() != other.hasName()) return false; if (hasName()) { if (!getName().equals(other.getName())) return false; } if (hasProxyBind() != other.hasProxyBind()) return false; if (hasProxyBind()) { if (getProxyBind() != other.getProxyBind()) return false; } if (hasQuicOverride() != other.hasQuicOverride()) return false; if (hasQuicOverride()) { if (!getQuicOverride().equals(other.getQuicOverride())) return false; } if (hasRegion() != other.hasRegion()) return false; if (hasRegion()) { if (!getRegion().equals(other.getRegion())) return false; } if (hasSelfLink() != other.hasSelfLink()) return false; if (hasSelfLink()) { if (!getSelfLink().equals(other.getSelfLink())) return false; } if (hasServerTlsPolicy() != other.hasServerTlsPolicy()) return false; if (hasServerTlsPolicy()) { if (!getServerTlsPolicy().equals(other.getServerTlsPolicy())) return false; } if (!getSslCertificatesList().equals(other.getSslCertificatesList())) return false; if (hasSslPolicy() != other.hasSslPolicy()) return false; if (hasSslPolicy()) { if (!getSslPolicy().equals(other.getSslPolicy())) return false; } if (hasTlsEarlyData() != other.hasTlsEarlyData()) return false; if (hasTlsEarlyData()) { if (!getTlsEarlyData().equals(other.getTlsEarlyData())) return false; } if (hasUrlMap() != other.hasUrlMap()) return false; if (hasUrlMap()) { if (!getUrlMap().equals(other.getUrlMap())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasAuthorizationPolicy()) { hash = (37 * hash) + AUTHORIZATION_POLICY_FIELD_NUMBER; hash = (53 * hash) + getAuthorizationPolicy().hashCode(); } if (hasCertificateMap()) { hash = (37 * hash) + CERTIFICATE_MAP_FIELD_NUMBER; hash = (53 * hash) + getCertificateMap().hashCode(); } if (hasCreationTimestamp()) { hash = (37 * hash) + CREATION_TIMESTAMP_FIELD_NUMBER; hash = (53 * hash) + getCreationTimestamp().hashCode(); } if (hasDescription()) { hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; hash = (53 * hash) + getDescription().hashCode(); } if (hasFingerprint()) { hash = (37 * hash) + FINGERPRINT_FIELD_NUMBER; hash = (53 * hash) + getFingerprint().hashCode(); } if (hasHttpKeepAliveTimeoutSec()) { hash = (37 * hash) + HTTP_KEEP_ALIVE_TIMEOUT_SEC_FIELD_NUMBER; hash = (53 * hash) + getHttpKeepAliveTimeoutSec(); } if (hasId()) { hash = (37 * hash) + ID_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getId()); } if (hasKind()) { hash = (37 * hash) + KIND_FIELD_NUMBER; hash = (53 * hash) + getKind().hashCode(); } if (hasName()) { hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); } if (hasProxyBind()) { hash = (37 * hash) + PROXY_BIND_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getProxyBind()); } if (hasQuicOverride()) { hash = (37 * hash) + QUIC_OVERRIDE_FIELD_NUMBER; hash = (53 * hash) + getQuicOverride().hashCode(); } if (hasRegion()) { hash = (37 * hash) + REGION_FIELD_NUMBER; hash = (53 * hash) + getRegion().hashCode(); } if (hasSelfLink()) { hash = (37 * hash) + SELF_LINK_FIELD_NUMBER; hash = (53 * hash) + getSelfLink().hashCode(); } if (hasServerTlsPolicy()) { hash = (37 * hash) + SERVER_TLS_POLICY_FIELD_NUMBER; hash = (53 * hash) + getServerTlsPolicy().hashCode(); } if (getSslCertificatesCount() > 0) { hash = (37 * hash) + SSL_CERTIFICATES_FIELD_NUMBER; hash = (53 * hash) + getSslCertificatesList().hashCode(); } if (hasSslPolicy()) { hash = (37 * hash) + SSL_POLICY_FIELD_NUMBER; hash = (53 * hash) + getSslPolicy().hashCode(); } if (hasTlsEarlyData()) { hash = (37 * hash) + TLS_EARLY_DATA_FIELD_NUMBER; hash = (53 * hash) + getTlsEarlyData().hashCode(); } if (hasUrlMap()) { hash = (37 * hash) + URL_MAP_FIELD_NUMBER; hash = (53 * hash) + getUrlMap().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.cloud.compute.v1.TargetHttpsProxy parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseDelimitedFrom( java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( PARSER, input, extensionRegistry); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.cloud.compute.v1.TargetHttpsProxy parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.cloud.compute.v1.TargetHttpsProxy prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * * *
   * Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.
   * 
* * Protobuf type {@code google.cloud.compute.v1.TargetHttpsProxy} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.TargetHttpsProxy) com.google.cloud.compute.v1.TargetHttpsProxyOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.cloud.compute.v1.Compute .internal_static_google_cloud_compute_v1_TargetHttpsProxy_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.cloud.compute.v1.Compute .internal_static_google_cloud_compute_v1_TargetHttpsProxy_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.cloud.compute.v1.TargetHttpsProxy.class, com.google.cloud.compute.v1.TargetHttpsProxy.Builder.class); } // Construct using com.google.cloud.compute.v1.TargetHttpsProxy.newBuilder() private Builder() {} private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; authorizationPolicy_ = ""; certificateMap_ = ""; creationTimestamp_ = ""; description_ = ""; fingerprint_ = ""; httpKeepAliveTimeoutSec_ = 0; id_ = 0L; kind_ = ""; name_ = ""; proxyBind_ = false; quicOverride_ = ""; region_ = ""; selfLink_ = ""; serverTlsPolicy_ = ""; sslCertificates_ = com.google.protobuf.LazyStringArrayList.emptyList(); sslPolicy_ = ""; tlsEarlyData_ = ""; urlMap_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.cloud.compute.v1.Compute .internal_static_google_cloud_compute_v1_TargetHttpsProxy_descriptor; } @java.lang.Override public com.google.cloud.compute.v1.TargetHttpsProxy getDefaultInstanceForType() { return com.google.cloud.compute.v1.TargetHttpsProxy.getDefaultInstance(); } @java.lang.Override public com.google.cloud.compute.v1.TargetHttpsProxy build() { com.google.cloud.compute.v1.TargetHttpsProxy result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.cloud.compute.v1.TargetHttpsProxy buildPartial() { com.google.cloud.compute.v1.TargetHttpsProxy result = new com.google.cloud.compute.v1.TargetHttpsProxy(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.google.cloud.compute.v1.TargetHttpsProxy result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.authorizationPolicy_ = authorizationPolicy_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.certificateMap_ = certificateMap_; to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000004) != 0)) { result.creationTimestamp_ = creationTimestamp_; to_bitField0_ |= 0x00000004; } if (((from_bitField0_ & 0x00000008) != 0)) { result.description_ = description_; to_bitField0_ |= 0x00000008; } if (((from_bitField0_ & 0x00000010) != 0)) { result.fingerprint_ = fingerprint_; to_bitField0_ |= 0x00000010; } if (((from_bitField0_ & 0x00000020) != 0)) { result.httpKeepAliveTimeoutSec_ = httpKeepAliveTimeoutSec_; to_bitField0_ |= 0x00000020; } if (((from_bitField0_ & 0x00000040) != 0)) { result.id_ = id_; to_bitField0_ |= 0x00000040; } if (((from_bitField0_ & 0x00000080) != 0)) { result.kind_ = kind_; to_bitField0_ |= 0x00000080; } if (((from_bitField0_ & 0x00000100) != 0)) { result.name_ = name_; to_bitField0_ |= 0x00000100; } if (((from_bitField0_ & 0x00000200) != 0)) { result.proxyBind_ = proxyBind_; to_bitField0_ |= 0x00000200; } if (((from_bitField0_ & 0x00000400) != 0)) { result.quicOverride_ = quicOverride_; to_bitField0_ |= 0x00000400; } if (((from_bitField0_ & 0x00000800) != 0)) { result.region_ = region_; to_bitField0_ |= 0x00000800; } if (((from_bitField0_ & 0x00001000) != 0)) { result.selfLink_ = selfLink_; to_bitField0_ |= 0x00001000; } if (((from_bitField0_ & 0x00002000) != 0)) { result.serverTlsPolicy_ = serverTlsPolicy_; to_bitField0_ |= 0x00002000; } if (((from_bitField0_ & 0x00004000) != 0)) { sslCertificates_.makeImmutable(); result.sslCertificates_ = sslCertificates_; } if (((from_bitField0_ & 0x00008000) != 0)) { result.sslPolicy_ = sslPolicy_; to_bitField0_ |= 0x00004000; } if (((from_bitField0_ & 0x00010000) != 0)) { result.tlsEarlyData_ = tlsEarlyData_; to_bitField0_ |= 0x00008000; } if (((from_bitField0_ & 0x00020000) != 0)) { result.urlMap_ = urlMap_; to_bitField0_ |= 0x00010000; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.cloud.compute.v1.TargetHttpsProxy) { return mergeFrom((com.google.cloud.compute.v1.TargetHttpsProxy) other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.cloud.compute.v1.TargetHttpsProxy other) { if (other == com.google.cloud.compute.v1.TargetHttpsProxy.getDefaultInstance()) return this; if (other.hasAuthorizationPolicy()) { authorizationPolicy_ = other.authorizationPolicy_; bitField0_ |= 0x00000001; onChanged(); } if (other.hasCertificateMap()) { certificateMap_ = other.certificateMap_; bitField0_ |= 0x00000002; onChanged(); } if (other.hasCreationTimestamp()) { creationTimestamp_ = other.creationTimestamp_; bitField0_ |= 0x00000004; onChanged(); } if (other.hasDescription()) { description_ = other.description_; bitField0_ |= 0x00000008; onChanged(); } if (other.hasFingerprint()) { fingerprint_ = other.fingerprint_; bitField0_ |= 0x00000010; onChanged(); } if (other.hasHttpKeepAliveTimeoutSec()) { setHttpKeepAliveTimeoutSec(other.getHttpKeepAliveTimeoutSec()); } if (other.hasId()) { setId(other.getId()); } if (other.hasKind()) { kind_ = other.kind_; bitField0_ |= 0x00000080; onChanged(); } if (other.hasName()) { name_ = other.name_; bitField0_ |= 0x00000100; onChanged(); } if (other.hasProxyBind()) { setProxyBind(other.getProxyBind()); } if (other.hasQuicOverride()) { quicOverride_ = other.quicOverride_; bitField0_ |= 0x00000400; onChanged(); } if (other.hasRegion()) { region_ = other.region_; bitField0_ |= 0x00000800; onChanged(); } if (other.hasSelfLink()) { selfLink_ = other.selfLink_; bitField0_ |= 0x00001000; onChanged(); } if (other.hasServerTlsPolicy()) { serverTlsPolicy_ = other.serverTlsPolicy_; bitField0_ |= 0x00002000; onChanged(); } if (!other.sslCertificates_.isEmpty()) { if (sslCertificates_.isEmpty()) { sslCertificates_ = other.sslCertificates_; bitField0_ |= 0x00004000; } else { ensureSslCertificatesIsMutable(); sslCertificates_.addAll(other.sslCertificates_); } onChanged(); } if (other.hasSslPolicy()) { sslPolicy_ = other.sslPolicy_; bitField0_ |= 0x00008000; onChanged(); } if (other.hasTlsEarlyData()) { tlsEarlyData_ = other.tlsEarlyData_; bitField0_ |= 0x00010000; onChanged(); } if (other.hasUrlMap()) { urlMap_ = other.urlMap_; bitField0_ |= 0x00020000; onChanged(); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 26840: { id_ = input.readUInt64(); bitField0_ |= 0x00000040; break; } // case 26840 case 26336418: { kind_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000080; break; } // case 26336418 case 26989658: { name_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000100; break; } // case 26989658 case 244202930: { creationTimestamp_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000004; break; } // case 244202930 case 271564226: { authorizationPolicy_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 271564226 case 488867410: { tlsEarlyData_ = input.readStringRequireUtf8(); bitField0_ |= 0x00010000; break; } // case 488867410 case 1111570338: { region_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000800; break; } // case 1111570338 case 1251710370: { certificateMap_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000002; break; } // case 1251710370 case 1877428002: { fingerprint_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000010; break; } // case 1877428002 case -2006762640: { proxyBind_ = input.readBool(); bitField0_ |= 0x00000200; break; } // case -2006762640 case -1933445590: { sslPolicy_ = input.readStringRequireUtf8(); bitField0_ |= 0x00008000; break; } // case -1933445590 case -1928365166: { serverTlsPolicy_ = input.readStringRequireUtf8(); bitField0_ |= 0x00002000; break; } // case -1928365166 case -1366914950: { java.lang.String s = input.readStringRequireUtf8(); ensureSslCertificatesIsMutable(); sslCertificates_.add(s); break; } // case -1366914950 case -1358801822: { urlMap_ = input.readStringRequireUtf8(); bitField0_ |= 0x00020000; break; } // case -1358801822 case -911466526: { description_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000008; break; } // case -911466526 case -716358928: { httpKeepAliveTimeoutSec_ = input.readInt32(); bitField0_ |= 0x00000020; break; } // case -716358928 case -645248918: { selfLink_ = input.readStringRequireUtf8(); bitField0_ |= 0x00001000; break; } // case -645248918 case -642349718: { quicOverride_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000400; break; } // case -642349718 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object authorizationPolicy_ = ""; /** * * *
     * Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.
     * 
* * optional string authorization_policy = 33945528; * * @return Whether the authorizationPolicy field is set. */ public boolean hasAuthorizationPolicy() { return ((bitField0_ & 0x00000001) != 0); } /** * * *
     * Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.
     * 
* * optional string authorization_policy = 33945528; * * @return The authorizationPolicy. */ public java.lang.String getAuthorizationPolicy() { java.lang.Object ref = authorizationPolicy_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); authorizationPolicy_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.
     * 
* * optional string authorization_policy = 33945528; * * @return The bytes for authorizationPolicy. */ public com.google.protobuf.ByteString getAuthorizationPolicyBytes() { java.lang.Object ref = authorizationPolicy_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); authorizationPolicy_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.
     * 
* * optional string authorization_policy = 33945528; * * @param value The authorizationPolicy to set. * @return This builder for chaining. */ public Builder setAuthorizationPolicy(java.lang.String value) { if (value == null) { throw new NullPointerException(); } authorizationPolicy_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** * * *
     * Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.
     * 
* * optional string authorization_policy = 33945528; * * @return This builder for chaining. */ public Builder clearAuthorizationPolicy() { authorizationPolicy_ = getDefaultInstance().getAuthorizationPolicy(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** * * *
     * Optional. A URL referring to a networksecurity.AuthorizationPolicy resource that describes how the proxy should authorize inbound traffic. If left blank, access will not be restricted by an authorization policy. Refer to the AuthorizationPolicy resource for additional details. authorizationPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field currently has no impact.
     * 
* * optional string authorization_policy = 33945528; * * @param value The bytes for authorizationPolicy to set. * @return This builder for chaining. */ public Builder setAuthorizationPolicyBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); authorizationPolicy_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private java.lang.Object certificateMap_ = ""; /** * * *
     * URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.
     * 
* * optional string certificate_map = 156463796; * * @return Whether the certificateMap field is set. */ public boolean hasCertificateMap() { return ((bitField0_ & 0x00000002) != 0); } /** * * *
     * URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.
     * 
* * optional string certificate_map = 156463796; * * @return The certificateMap. */ public java.lang.String getCertificateMap() { java.lang.Object ref = certificateMap_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); certificateMap_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.
     * 
* * optional string certificate_map = 156463796; * * @return The bytes for certificateMap. */ public com.google.protobuf.ByteString getCertificateMapBytes() { java.lang.Object ref = certificateMap_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); certificateMap_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.
     * 
* * optional string certificate_map = 156463796; * * @param value The certificateMap to set. * @return This builder for chaining. */ public Builder setCertificateMap(java.lang.String value) { if (value == null) { throw new NullPointerException(); } certificateMap_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** * * *
     * URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.
     * 
* * optional string certificate_map = 156463796; * * @return This builder for chaining. */ public Builder clearCertificateMap() { certificateMap_ = getDefaultInstance().getCertificateMap(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** * * *
     * URL of a certificate map that identifies a certificate map associated with the given target proxy. This field can only be set for Global external Application Load Balancer or Classic Application Load Balancer. For other products use Certificate Manager Certificates instead. If set, sslCertificates will be ignored. Accepted format is //certificatemanager.googleapis.com/projects/{project }/locations/{location}/certificateMaps/{resourceName}.
     * 
* * optional string certificate_map = 156463796; * * @param value The bytes for certificateMap to set. * @return This builder for chaining. */ public Builder setCertificateMapBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); certificateMap_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } private java.lang.Object creationTimestamp_ = ""; /** * * *
     * [Output Only] Creation timestamp in RFC3339 text format.
     * 
* * optional string creation_timestamp = 30525366; * * @return Whether the creationTimestamp field is set. */ public boolean hasCreationTimestamp() { return ((bitField0_ & 0x00000004) != 0); } /** * * *
     * [Output Only] Creation timestamp in RFC3339 text format.
     * 
* * optional string creation_timestamp = 30525366; * * @return The creationTimestamp. */ public java.lang.String getCreationTimestamp() { java.lang.Object ref = creationTimestamp_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); creationTimestamp_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * [Output Only] Creation timestamp in RFC3339 text format.
     * 
* * optional string creation_timestamp = 30525366; * * @return The bytes for creationTimestamp. */ public com.google.protobuf.ByteString getCreationTimestampBytes() { java.lang.Object ref = creationTimestamp_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); creationTimestamp_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * [Output Only] Creation timestamp in RFC3339 text format.
     * 
* * optional string creation_timestamp = 30525366; * * @param value The creationTimestamp to set. * @return This builder for chaining. */ public Builder setCreationTimestamp(java.lang.String value) { if (value == null) { throw new NullPointerException(); } creationTimestamp_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** * * *
     * [Output Only] Creation timestamp in RFC3339 text format.
     * 
* * optional string creation_timestamp = 30525366; * * @return This builder for chaining. */ public Builder clearCreationTimestamp() { creationTimestamp_ = getDefaultInstance().getCreationTimestamp(); bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } /** * * *
     * [Output Only] Creation timestamp in RFC3339 text format.
     * 
* * optional string creation_timestamp = 30525366; * * @param value The bytes for creationTimestamp to set. * @return This builder for chaining. */ public Builder setCreationTimestampBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); creationTimestamp_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } private java.lang.Object description_ = ""; /** * * *
     * An optional description of this resource. Provide this property when you create the resource.
     * 
* * optional string description = 422937596; * * @return Whether the description field is set. */ public boolean hasDescription() { return ((bitField0_ & 0x00000008) != 0); } /** * * *
     * An optional description of this resource. Provide this property when you create the resource.
     * 
* * optional string description = 422937596; * * @return The description. */ public java.lang.String getDescription() { java.lang.Object ref = description_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); description_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * An optional description of this resource. Provide this property when you create the resource.
     * 
* * optional string description = 422937596; * * @return The bytes for description. */ public com.google.protobuf.ByteString getDescriptionBytes() { java.lang.Object ref = description_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); description_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * An optional description of this resource. Provide this property when you create the resource.
     * 
* * optional string description = 422937596; * * @param value The description to set. * @return This builder for chaining. */ public Builder setDescription(java.lang.String value) { if (value == null) { throw new NullPointerException(); } description_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } /** * * *
     * An optional description of this resource. Provide this property when you create the resource.
     * 
* * optional string description = 422937596; * * @return This builder for chaining. */ public Builder clearDescription() { description_ = getDefaultInstance().getDescription(); bitField0_ = (bitField0_ & ~0x00000008); onChanged(); return this; } /** * * *
     * An optional description of this resource. Provide this property when you create the resource.
     * 
* * optional string description = 422937596; * * @param value The bytes for description to set. * @return This builder for chaining. */ public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); description_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } private java.lang.Object 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 TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.
     * 
* * optional string fingerprint = 234678500; * * @return Whether the fingerprint field is set. */ public boolean hasFingerprint() { return ((bitField0_ & 0x00000010) != 0); } /** * * *
     * 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 TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.
     * 
* * optional string fingerprint = 234678500; * * @return The fingerprint. */ public java.lang.String getFingerprint() { java.lang.Object ref = fingerprint_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); fingerprint_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * 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 TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.
     * 
* * optional string fingerprint = 234678500; * * @return The bytes for fingerprint. */ public com.google.protobuf.ByteString getFingerprintBytes() { java.lang.Object ref = fingerprint_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); fingerprint_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * 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 TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.
     * 
* * optional string fingerprint = 234678500; * * @param value The fingerprint to set. * @return This builder for chaining. */ public Builder setFingerprint(java.lang.String value) { if (value == null) { throw new NullPointerException(); } fingerprint_ = value; bitField0_ |= 0x00000010; onChanged(); 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 TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.
     * 
* * optional string fingerprint = 234678500; * * @return This builder for chaining. */ public Builder clearFingerprint() { fingerprint_ = getDefaultInstance().getFingerprint(); bitField0_ = (bitField0_ & ~0x00000010); onChanged(); 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 TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy.
     * 
* * optional string fingerprint = 234678500; * * @param value The bytes for fingerprint to set. * @return This builder for chaining. */ public Builder setFingerprintBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); fingerprint_ = value; bitField0_ |= 0x00000010; onChanged(); return this; } private int httpKeepAliveTimeoutSec_; /** * * *
     * Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.
     * 
* * optional int32 http_keep_alive_timeout_sec = 447326046; * * @return Whether the httpKeepAliveTimeoutSec field is set. */ @java.lang.Override public boolean hasHttpKeepAliveTimeoutSec() { return ((bitField0_ & 0x00000020) != 0); } /** * * *
     * Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.
     * 
* * optional int32 http_keep_alive_timeout_sec = 447326046; * * @return The httpKeepAliveTimeoutSec. */ @java.lang.Override public int getHttpKeepAliveTimeoutSec() { return httpKeepAliveTimeoutSec_; } /** * * *
     * Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.
     * 
* * optional int32 http_keep_alive_timeout_sec = 447326046; * * @param value The httpKeepAliveTimeoutSec to set. * @return This builder for chaining. */ public Builder setHttpKeepAliveTimeoutSec(int value) { httpKeepAliveTimeoutSec_ = value; bitField0_ |= 0x00000020; onChanged(); return this; } /** * * *
     * Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported.
     * 
* * optional int32 http_keep_alive_timeout_sec = 447326046; * * @return This builder for chaining. */ public Builder clearHttpKeepAliveTimeoutSec() { bitField0_ = (bitField0_ & ~0x00000020); httpKeepAliveTimeoutSec_ = 0; onChanged(); return this; } private long id_; /** * * *
     * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
     * 
* * optional uint64 id = 3355; * * @return Whether the id field is set. */ @java.lang.Override public boolean hasId() { return ((bitField0_ & 0x00000040) != 0); } /** * * *
     * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
     * 
* * optional uint64 id = 3355; * * @return The id. */ @java.lang.Override public long getId() { return id_; } /** * * *
     * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
     * 
* * optional uint64 id = 3355; * * @param value The id to set. * @return This builder for chaining. */ public Builder setId(long value) { id_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** * * *
     * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
     * 
* * optional uint64 id = 3355; * * @return This builder for chaining. */ public Builder clearId() { bitField0_ = (bitField0_ & ~0x00000040); id_ = 0L; onChanged(); return this; } private java.lang.Object kind_ = ""; /** * * *
     * [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.
     * 
* * optional string kind = 3292052; * * @return Whether the kind field is set. */ public boolean hasKind() { return ((bitField0_ & 0x00000080) != 0); } /** * * *
     * [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.
     * 
* * optional string kind = 3292052; * * @return The kind. */ public java.lang.String getKind() { java.lang.Object ref = kind_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); kind_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.
     * 
* * optional string kind = 3292052; * * @return The bytes for kind. */ public com.google.protobuf.ByteString getKindBytes() { java.lang.Object ref = kind_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); kind_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.
     * 
* * optional string kind = 3292052; * * @param value The kind to set. * @return This builder for chaining. */ public Builder setKind(java.lang.String value) { if (value == null) { throw new NullPointerException(); } kind_ = value; bitField0_ |= 0x00000080; onChanged(); return this; } /** * * *
     * [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.
     * 
* * optional string kind = 3292052; * * @return This builder for chaining. */ public Builder clearKind() { kind_ = getDefaultInstance().getKind(); bitField0_ = (bitField0_ & ~0x00000080); onChanged(); return this; } /** * * *
     * [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies.
     * 
* * optional string kind = 3292052; * * @param value The bytes for kind to set. * @return This builder for chaining. */ public Builder setKindBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); kind_ = value; bitField0_ |= 0x00000080; onChanged(); return this; } private java.lang.Object name_ = ""; /** * * *
     * Name of the resource. Provided by the client when the resource is created. 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.
     * 
* * optional string name = 3373707; * * @return Whether the name field is set. */ public boolean hasName() { return ((bitField0_ & 0x00000100) != 0); } /** * * *
     * Name of the resource. Provided by the client when the resource is created. 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.
     * 
* * optional string name = 3373707; * * @return The name. */ public java.lang.String getName() { java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Name of the resource. Provided by the client when the resource is created. 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.
     * 
* * optional string name = 3373707; * * @return The bytes for name. */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Name of the resource. Provided by the client when the resource is created. 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.
     * 
* * optional string name = 3373707; * * @param value The name to set. * @return This builder for chaining. */ public Builder setName(java.lang.String value) { if (value == null) { throw new NullPointerException(); } name_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } /** * * *
     * Name of the resource. Provided by the client when the resource is created. 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.
     * 
* * optional string name = 3373707; * * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); bitField0_ = (bitField0_ & ~0x00000100); onChanged(); return this; } /** * * *
     * Name of the resource. Provided by the client when the resource is created. 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.
     * 
* * optional string name = 3373707; * * @param value The bytes for name to set. * @return This builder for chaining. */ public Builder setNameBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); name_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } private boolean proxyBind_; /** * * *
     * This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.
     * 
* * optional bool proxy_bind = 286025582; * * @return Whether the proxyBind field is set. */ @java.lang.Override public boolean hasProxyBind() { return ((bitField0_ & 0x00000200) != 0); } /** * * *
     * This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.
     * 
* * optional bool proxy_bind = 286025582; * * @return The proxyBind. */ @java.lang.Override public boolean getProxyBind() { return proxyBind_; } /** * * *
     * This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.
     * 
* * optional bool proxy_bind = 286025582; * * @param value The proxyBind to set. * @return This builder for chaining. */ public Builder setProxyBind(boolean value) { proxyBind_ = value; bitField0_ |= 0x00000200; onChanged(); return this; } /** * * *
     * This field only applies when the forwarding rule that references this target proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field is set to true, Envoy proxies set up inbound traffic interception and bind to the IP address and port specified in the forwarding rule. This is generally useful when using Traffic Director to configure Envoy as a gateway or middle proxy (in other words, not a sidecar proxy). The Envoy proxy listens for inbound requests and handles requests when it receives them. The default is false.
     * 
* * optional bool proxy_bind = 286025582; * * @return This builder for chaining. */ public Builder clearProxyBind() { bitField0_ = (bitField0_ & ~0x00000200); proxyBind_ = false; onChanged(); return this; } private java.lang.Object quicOverride_ = ""; /** * * *
     * Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied.
     * Check the QuicOverride enum for the list of possible values.
     * 
* * optional string quic_override = 456577197; * * @return Whether the quicOverride field is set. */ public boolean hasQuicOverride() { return ((bitField0_ & 0x00000400) != 0); } /** * * *
     * Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied.
     * Check the QuicOverride enum for the list of possible values.
     * 
* * optional string quic_override = 456577197; * * @return The quicOverride. */ public java.lang.String getQuicOverride() { java.lang.Object ref = quicOverride_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); quicOverride_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied.
     * Check the QuicOverride enum for the list of possible values.
     * 
* * optional string quic_override = 456577197; * * @return The bytes for quicOverride. */ public com.google.protobuf.ByteString getQuicOverrideBytes() { java.lang.Object ref = quicOverride_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); quicOverride_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied.
     * Check the QuicOverride enum for the list of possible values.
     * 
* * optional string quic_override = 456577197; * * @param value The quicOverride to set. * @return This builder for chaining. */ public Builder setQuicOverride(java.lang.String value) { if (value == null) { throw new NullPointerException(); } quicOverride_ = value; bitField0_ |= 0x00000400; onChanged(); return this; } /** * * *
     * Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied.
     * Check the QuicOverride enum for the list of possible values.
     * 
* * optional string quic_override = 456577197; * * @return This builder for chaining. */ public Builder clearQuicOverride() { quicOverride_ = getDefaultInstance().getQuicOverride(); bitField0_ = (bitField0_ & ~0x00000400); onChanged(); return this; } /** * * *
     * Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied.
     * Check the QuicOverride enum for the list of possible values.
     * 
* * optional string quic_override = 456577197; * * @param value The bytes for quicOverride to set. * @return This builder for chaining. */ public Builder setQuicOverrideBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); quicOverride_ = value; bitField0_ |= 0x00000400; onChanged(); return this; } private java.lang.Object region_ = ""; /** * * *
     * [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.
     * 
* * optional string region = 138946292; * * @return Whether the region field is set. */ public boolean hasRegion() { return ((bitField0_ & 0x00000800) != 0); } /** * * *
     * [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.
     * 
* * optional string region = 138946292; * * @return The region. */ public java.lang.String getRegion() { java.lang.Object ref = region_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); region_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.
     * 
* * optional string region = 138946292; * * @return The bytes for region. */ public com.google.protobuf.ByteString getRegionBytes() { java.lang.Object ref = region_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); region_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.
     * 
* * optional string region = 138946292; * * @param value The region to set. * @return This builder for chaining. */ public Builder setRegion(java.lang.String value) { if (value == null) { throw new NullPointerException(); } region_ = value; bitField0_ |= 0x00000800; onChanged(); return this; } /** * * *
     * [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.
     * 
* * optional string region = 138946292; * * @return This builder for chaining. */ public Builder clearRegion() { region_ = getDefaultInstance().getRegion(); bitField0_ = (bitField0_ & ~0x00000800); onChanged(); return this; } /** * * *
     * [Output Only] URL of the region where the regional TargetHttpsProxy resides. This field is not applicable to global TargetHttpsProxies.
     * 
* * optional string region = 138946292; * * @param value The bytes for region to set. * @return This builder for chaining. */ public Builder setRegionBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); region_ = value; bitField0_ |= 0x00000800; onChanged(); return this; } private java.lang.Object selfLink_ = ""; /** * * *
     * [Output Only] Server-defined URL for the resource.
     * 
* * optional string self_link = 456214797; * * @return Whether the selfLink field is set. */ public boolean hasSelfLink() { return ((bitField0_ & 0x00001000) != 0); } /** * * *
     * [Output Only] Server-defined URL for the resource.
     * 
* * optional string self_link = 456214797; * * @return The selfLink. */ public java.lang.String getSelfLink() { java.lang.Object ref = selfLink_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); selfLink_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * [Output Only] Server-defined URL for the resource.
     * 
* * optional string self_link = 456214797; * * @return The bytes for selfLink. */ public com.google.protobuf.ByteString getSelfLinkBytes() { java.lang.Object ref = selfLink_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); selfLink_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * [Output Only] Server-defined URL for the resource.
     * 
* * optional string self_link = 456214797; * * @param value The selfLink to set. * @return This builder for chaining. */ public Builder setSelfLink(java.lang.String value) { if (value == null) { throw new NullPointerException(); } selfLink_ = value; bitField0_ |= 0x00001000; onChanged(); return this; } /** * * *
     * [Output Only] Server-defined URL for the resource.
     * 
* * optional string self_link = 456214797; * * @return This builder for chaining. */ public Builder clearSelfLink() { selfLink_ = getDefaultInstance().getSelfLink(); bitField0_ = (bitField0_ & ~0x00001000); onChanged(); return this; } /** * * *
     * [Output Only] Server-defined URL for the resource.
     * 
* * optional string self_link = 456214797; * * @param value The bytes for selfLink to set. * @return This builder for chaining. */ public Builder setSelfLinkBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); selfLink_ = value; bitField0_ |= 0x00001000; onChanged(); return this; } private java.lang.Object serverTlsPolicy_ = ""; /** * * *
     * Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
     * 
* * optional string server_tls_policy = 295825266; * * @return Whether the serverTlsPolicy field is set. */ public boolean hasServerTlsPolicy() { return ((bitField0_ & 0x00002000) != 0); } /** * * *
     * Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
     * 
* * optional string server_tls_policy = 295825266; * * @return The serverTlsPolicy. */ public java.lang.String getServerTlsPolicy() { java.lang.Object ref = serverTlsPolicy_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); serverTlsPolicy_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
     * 
* * optional string server_tls_policy = 295825266; * * @return The bytes for serverTlsPolicy. */ public com.google.protobuf.ByteString getServerTlsPolicyBytes() { java.lang.Object ref = serverTlsPolicy_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); serverTlsPolicy_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
     * 
* * optional string server_tls_policy = 295825266; * * @param value The serverTlsPolicy to set. * @return This builder for chaining. */ public Builder setServerTlsPolicy(java.lang.String value) { if (value == null) { throw new NullPointerException(); } serverTlsPolicy_ = value; bitField0_ |= 0x00002000; onChanged(); return this; } /** * * *
     * Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
     * 
* * optional string server_tls_policy = 295825266; * * @return This builder for chaining. */ public Builder clearServerTlsPolicy() { serverTlsPolicy_ = getDefaultInstance().getServerTlsPolicy(); bitField0_ = (bitField0_ & ~0x00002000); onChanged(); return this; } /** * * *
     * Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that describes how the proxy should authenticate inbound traffic. serverTlsPolicy only applies to a global TargetHttpsProxy attached to globalForwardingRules with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED loadBalancingScheme consult ServerTlsPolicy documentation. If left blank, communications are not encrypted.
     * 
* * optional string server_tls_policy = 295825266; * * @param value The bytes for serverTlsPolicy to set. * @return This builder for chaining. */ public Builder setServerTlsPolicyBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); serverTlsPolicy_ = value; bitField0_ |= 0x00002000; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList sslCertificates_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureSslCertificatesIsMutable() { if (!sslCertificates_.isModifiable()) { sslCertificates_ = new com.google.protobuf.LazyStringArrayList(sslCertificates_); } bitField0_ |= 0x00004000; } /** * * *
     * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
     * 
* * repeated string ssl_certificates = 366006543; * * @return A list containing the sslCertificates. */ public com.google.protobuf.ProtocolStringList getSslCertificatesList() { sslCertificates_.makeImmutable(); return sslCertificates_; } /** * * *
     * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
     * 
* * repeated string ssl_certificates = 366006543; * * @return The count of sslCertificates. */ public int getSslCertificatesCount() { return sslCertificates_.size(); } /** * * *
     * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
     * 
* * repeated string ssl_certificates = 366006543; * * @param index The index of the element to return. * @return The sslCertificates at the given index. */ public java.lang.String getSslCertificates(int index) { return sslCertificates_.get(index); } /** * * *
     * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
     * 
* * repeated string ssl_certificates = 366006543; * * @param index The index of the value to return. * @return The bytes of the sslCertificates at the given index. */ public com.google.protobuf.ByteString getSslCertificatesBytes(int index) { return sslCertificates_.getByteString(index); } /** * * *
     * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
     * 
* * repeated string ssl_certificates = 366006543; * * @param index The index to set the value at. * @param value The sslCertificates to set. * @return This builder for chaining. */ public Builder setSslCertificates(int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSslCertificatesIsMutable(); sslCertificates_.set(index, value); bitField0_ |= 0x00004000; onChanged(); return this; } /** * * *
     * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
     * 
* * repeated string ssl_certificates = 366006543; * * @param value The sslCertificates to add. * @return This builder for chaining. */ public Builder addSslCertificates(java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSslCertificatesIsMutable(); sslCertificates_.add(value); bitField0_ |= 0x00004000; onChanged(); return this; } /** * * *
     * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
     * 
* * repeated string ssl_certificates = 366006543; * * @param values The sslCertificates to add. * @return This builder for chaining. */ public Builder addAllSslCertificates(java.lang.Iterable values) { ensureSslCertificatesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, sslCertificates_); bitField0_ |= 0x00004000; onChanged(); return this; } /** * * *
     * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
     * 
* * repeated string ssl_certificates = 366006543; * * @return This builder for chaining. */ public Builder clearSslCertificates() { sslCertificates_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField0_ = (bitField0_ & ~0x00004000); ; onChanged(); return this; } /** * * *
     * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}.
     * 
* * repeated string ssl_certificates = 366006543; * * @param value The bytes of the sslCertificates to add. * @return This builder for chaining. */ public Builder addSslCertificatesBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureSslCertificatesIsMutable(); sslCertificates_.add(value); bitField0_ |= 0x00004000; onChanged(); return this; } private java.lang.Object sslPolicy_ = ""; /** * * *
     * URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
     * 
* * optional string ssl_policy = 295190213; * * @return Whether the sslPolicy field is set. */ public boolean hasSslPolicy() { return ((bitField0_ & 0x00008000) != 0); } /** * * *
     * URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
     * 
* * optional string ssl_policy = 295190213; * * @return The sslPolicy. */ public java.lang.String getSslPolicy() { java.lang.Object ref = sslPolicy_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); sslPolicy_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
     * 
* * optional string ssl_policy = 295190213; * * @return The bytes for sslPolicy. */ public com.google.protobuf.ByteString getSslPolicyBytes() { java.lang.Object ref = sslPolicy_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); sslPolicy_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
     * 
* * optional string ssl_policy = 295190213; * * @param value The sslPolicy to set. * @return This builder for chaining. */ public Builder setSslPolicy(java.lang.String value) { if (value == null) { throw new NullPointerException(); } sslPolicy_ = value; bitField0_ |= 0x00008000; onChanged(); return this; } /** * * *
     * URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
     * 
* * optional string ssl_policy = 295190213; * * @return This builder for chaining. */ public Builder clearSslPolicy() { sslPolicy_ = getDefaultInstance().getSslPolicy(); bitField0_ = (bitField0_ & ~0x00008000); onChanged(); return this; } /** * * *
     * URL of SslPolicy resource that will be associated with the TargetHttpsProxy resource. If not set, the TargetHttpsProxy resource has no SSL policy configured.
     * 
* * optional string ssl_policy = 295190213; * * @param value The bytes for sslPolicy to set. * @return This builder for chaining. */ public Builder setSslPolicyBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); sslPolicy_ = value; bitField0_ |= 0x00008000; onChanged(); return this; } private java.lang.Object tlsEarlyData_ = ""; /** * * *
     *  Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
     * Check the TlsEarlyData enum for the list of possible values.
     * 
* * optional string tls_early_data = 61108426; * * @return Whether the tlsEarlyData field is set. */ public boolean hasTlsEarlyData() { return ((bitField0_ & 0x00010000) != 0); } /** * * *
     *  Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
     * Check the TlsEarlyData enum for the list of possible values.
     * 
* * optional string tls_early_data = 61108426; * * @return The tlsEarlyData. */ public java.lang.String getTlsEarlyData() { java.lang.Object ref = tlsEarlyData_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); tlsEarlyData_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     *  Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
     * Check the TlsEarlyData enum for the list of possible values.
     * 
* * optional string tls_early_data = 61108426; * * @return The bytes for tlsEarlyData. */ public com.google.protobuf.ByteString getTlsEarlyDataBytes() { java.lang.Object ref = tlsEarlyData_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); tlsEarlyData_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     *  Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
     * Check the TlsEarlyData enum for the list of possible values.
     * 
* * optional string tls_early_data = 61108426; * * @param value The tlsEarlyData to set. * @return This builder for chaining. */ public Builder setTlsEarlyData(java.lang.String value) { if (value == null) { throw new NullPointerException(); } tlsEarlyData_ = value; bitField0_ |= 0x00010000; onChanged(); return this; } /** * * *
     *  Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
     * Check the TlsEarlyData enum for the list of possible values.
     * 
* * optional string tls_early_data = 61108426; * * @return This builder for chaining. */ public Builder clearTlsEarlyData() { tlsEarlyData_ = getDefaultInstance().getTlsEarlyData(); bitField0_ = (bitField0_ & ~0x00010000); onChanged(); return this; } /** * * *
     *  Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to "zero". This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the "Early-Data" HTTP header set on the request, with a value of "1", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the "Early-Data: 1" HTTP header by returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
     * Check the TlsEarlyData enum for the list of possible values.
     * 
* * optional string tls_early_data = 61108426; * * @param value The bytes for tlsEarlyData to set. * @return This builder for chaining. */ public Builder setTlsEarlyDataBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); tlsEarlyData_ = value; bitField0_ |= 0x00010000; onChanged(); return this; } private java.lang.Object urlMap_ = ""; /** * * *
     * A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map
     * 
* * optional string url_map = 367020684; * * @return Whether the urlMap field is set. */ public boolean hasUrlMap() { return ((bitField0_ & 0x00020000) != 0); } /** * * *
     * A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map
     * 
* * optional string url_map = 367020684; * * @return The urlMap. */ public java.lang.String getUrlMap() { java.lang.Object ref = urlMap_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); urlMap_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map
     * 
* * optional string url_map = 367020684; * * @return The bytes for urlMap. */ public com.google.protobuf.ByteString getUrlMapBytes() { java.lang.Object ref = urlMap_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); urlMap_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map
     * 
* * optional string url_map = 367020684; * * @param value The urlMap to set. * @return This builder for chaining. */ public Builder setUrlMap(java.lang.String value) { if (value == null) { throw new NullPointerException(); } urlMap_ = value; bitField0_ |= 0x00020000; onChanged(); return this; } /** * * *
     * A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map
     * 
* * optional string url_map = 367020684; * * @return This builder for chaining. */ public Builder clearUrlMap() { urlMap_ = getDefaultInstance().getUrlMap(); bitField0_ = (bitField0_ & ~0x00020000); onChanged(); return this; } /** * * *
     * A fully-qualified or valid partial URL to the UrlMap resource that defines the mapping from URL to the BackendService. For example, the following are all valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-map - global/urlMaps/url-map
     * 
* * optional string url_map = 367020684; * * @param value The bytes for urlMap to set. * @return This builder for chaining. */ public Builder setUrlMapBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); urlMap_ = value; bitField0_ |= 0x00020000; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.TargetHttpsProxy) } // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.TargetHttpsProxy) private static final com.google.cloud.compute.v1.TargetHttpsProxy DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.cloud.compute.v1.TargetHttpsProxy(); } public static com.google.cloud.compute.v1.TargetHttpsProxy getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public TargetHttpsProxy parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.cloud.compute.v1.TargetHttpsProxy getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy