Class Compute.Ingress

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
namespace.cloud.compute.v1beta.Compute.Ingress
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable, Compute.IngressOrBuilder
Enclosing class:
Compute

public static final class Compute.Ingress extends com.google.protobuf.GeneratedMessage implements Compute.IngressOrBuilder
 Describes a platform-managed, Internet-facing endpoint that routes traffic
 to a service running inside an instance. Use CreateInstanceRequest.ingresses
 for ports exposed directly by the instance, including native applications
 on platforms such as macOS. Use ContainerRequest.export_ports for ports
 owned by containers.

 Traffic and TLS boundaries:

 ```
 HTTP  [client] --HTTPS------> [Namespace ingress] --HTTP--> [backend]
 TCP   [client] --TLS/mTLS---> [Namespace ingress] --TCP---> [backend]
 TLS   [client] --TLS (routed by SNI, not terminated)------> [backend]
 ```

 Each generated server name routes only to its declared instance and port;
 no other instance ports are exposed by that ingress. In HTTP and TCP modes,
 TLS terminates at Namespace and the ingress-to-backend protocol is cleartext
 HTTP or TCP. TLS passthrough preserves end-to-end encryption: Namespace uses
 the SNI hostname for routing but does not terminate TLS.

 HTTP requests require a valid Namespace bearer token with access to the
 instance by default. HttpMatchRule can explicitly make matching requests
 unauthenticated. TCP defaults to requiring a Namespace-issued mTLS client
 certificate with access to the instance; NONE allows any TLS client to
 connect. In TLS passthrough mode the backend is responsible for server and
 client authentication.
 
Protobuf type namespace.cloud.compute.v1beta.Ingress
See Also:
  • Field Details

  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getName

      public String getName()
       The name used to generate the Internet-facing server name.
       
      string name = 1;
      Specified by:
      getName in interface Compute.IngressOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       The name used to generate the Internet-facing server name.
       
      string name = 1;
      Specified by:
      getNameBytes in interface Compute.IngressOrBuilder
      Returns:
      The bytes for name.
    • getModeValue

      public int getModeValue()
       The ingress behavior. Must be set.
       
      .namespace.cloud.compute.v1beta.Ingress.Mode mode = 2;
      Specified by:
      getModeValue in interface Compute.IngressOrBuilder
      Returns:
      The enum numeric value on the wire for mode.
    • getMode

      public Compute.Ingress.Mode getMode()
       The ingress behavior. Must be set.
       
      .namespace.cloud.compute.v1beta.Ingress.Mode mode = 2;
      Specified by:
      getMode in interface Compute.IngressOrBuilder
      Returns:
      The mode.
    • getPort

      public int getPort()
       The port the instance is listening on.
       
      int32 port = 3;
      Specified by:
      getPort in interface Compute.IngressOrBuilder
      Returns:
      The port.
    • getHttpMatchRuleList

      public List<Compute.HttpMatchRule> getHttpMatchRuleList()
       HTTP routing and authentication rules. Only supported in HTTP mode.
       
      repeated .namespace.cloud.compute.v1beta.HttpMatchRule http_match_rule = 5;
      Specified by:
      getHttpMatchRuleList in interface Compute.IngressOrBuilder
    • getHttpMatchRuleOrBuilderList

      public List<? extends Compute.HttpMatchRuleOrBuilder> getHttpMatchRuleOrBuilderList()
       HTTP routing and authentication rules. Only supported in HTTP mode.
       
      repeated .namespace.cloud.compute.v1beta.HttpMatchRule http_match_rule = 5;
      Specified by:
      getHttpMatchRuleOrBuilderList in interface Compute.IngressOrBuilder
    • getHttpMatchRuleCount

      public int getHttpMatchRuleCount()
       HTTP routing and authentication rules. Only supported in HTTP mode.
       
      repeated .namespace.cloud.compute.v1beta.HttpMatchRule http_match_rule = 5;
      Specified by:
      getHttpMatchRuleCount in interface Compute.IngressOrBuilder
    • getHttpMatchRule

      public Compute.HttpMatchRule getHttpMatchRule(int index)
       HTTP routing and authentication rules. Only supported in HTTP mode.
       
      repeated .namespace.cloud.compute.v1beta.HttpMatchRule http_match_rule = 5;
      Specified by:
      getHttpMatchRule in interface Compute.IngressOrBuilder
    • getHttpMatchRuleOrBuilder

      public Compute.HttpMatchRuleOrBuilder getHttpMatchRuleOrBuilder(int index)
       HTTP routing and authentication rules. Only supported in HTTP mode.
       
      repeated .namespace.cloud.compute.v1beta.HttpMatchRule http_match_rule = 5;
      Specified by:
      getHttpMatchRuleOrBuilder in interface Compute.IngressOrBuilder
    • getWildcard

      public boolean getWildcard()
       Routes all first-level subdomains of the instance wildcard domain to
       this ingress. Requires the instance wildcard domain to be enabled via
       experimental.enable_wildcard_domain. Only supported in HTTP mode and
       mutually exclusive with name.
       
      bool wildcard = 6;
      Specified by:
      getWildcard in interface Compute.IngressOrBuilder
      Returns:
      The wildcard.
    • getClientAuthenticationValue

      public int getClientAuthenticationValue()
       Configures client authentication in TCP mode. MTLS is incompatible
       with TLS_PASSTHROUGH, where the backend terminates and authenticates TLS;
       NONE and UNSPECIFIED have equivalent behavior in passthrough mode. Must
       not be set in HTTP mode. TCP defaults to requiring mTLS.
       
      .namespace.cloud.compute.v1beta.IngressClientAuthentication client_authentication = 7;
      Specified by:
      getClientAuthenticationValue in interface Compute.IngressOrBuilder
      Returns:
      The enum numeric value on the wire for clientAuthentication.
    • getClientAuthentication

      public Compute.IngressClientAuthentication getClientAuthentication()
       Configures client authentication in TCP mode. MTLS is incompatible
       with TLS_PASSTHROUGH, where the backend terminates and authenticates TLS;
       NONE and UNSPECIFIED have equivalent behavior in passthrough mode. Must
       not be set in HTTP mode. TCP defaults to requiring mTLS.
       
      .namespace.cloud.compute.v1beta.IngressClientAuthentication client_authentication = 7;
      Specified by:
      getClientAuthentication in interface Compute.IngressOrBuilder
      Returns:
      The clientAuthentication.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static Compute.Ingress parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Compute.Ingress parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Compute.Ingress parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Compute.Ingress parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Compute.Ingress parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Compute.Ingress parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Compute.Ingress parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Compute.Ingress parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Compute.Ingress parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Compute.Ingress parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Compute.Ingress parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Compute.Ingress parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public Compute.Ingress.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static Compute.Ingress.Builder newBuilder()
    • newBuilder

      public static Compute.Ingress.Builder newBuilder(Compute.Ingress prototype)
    • toBuilder

      public Compute.Ingress.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected Compute.Ingress.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static Compute.Ingress getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<Compute.Ingress> parser()
    • getParserForType

      public com.google.protobuf.Parser<Compute.Ingress> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public Compute.Ingress getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder