/*
 * Copyright 2020 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/appengine/v1/version.proto

package com.google.appengine.v1;

public interface VersionOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.appengine.v1.Version)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * Full path to the Version resource in the API.  Example:
   * `apps/myapp/services/default/versions/v1`.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string name = 1;</code>
   *
   * @return The name.
   */
  java.lang.String getName();
  /**
   *
   *
   * <pre>
   * Full path to the Version resource in the API.  Example:
   * `apps/myapp/services/default/versions/v1`.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string name = 1;</code>
   *
   * @return The bytes for name.
   */
  com.google.protobuf.ByteString getNameBytes();

  /**
   *
   *
   * <pre>
   * Relative name of the version within the service.  Example: `v1`.
   * Version names can contain only lowercase letters, numbers, or hyphens.
   * Reserved names: "default", "latest", and any name with the prefix "ah-".
   * </pre>
   *
   * <code>string id = 2;</code>
   *
   * @return The id.
   */
  java.lang.String getId();
  /**
   *
   *
   * <pre>
   * Relative name of the version within the service.  Example: `v1`.
   * Version names can contain only lowercase letters, numbers, or hyphens.
   * Reserved names: "default", "latest", and any name with the prefix "ah-".
   * </pre>
   *
   * <code>string id = 2;</code>
   *
   * @return The bytes for id.
   */
  com.google.protobuf.ByteString getIdBytes();

  /**
   *
   *
   * <pre>
   * Automatic scaling is based on request rate, response latencies, and other
   * application metrics. Instances are dynamically created and destroyed as
   * needed in order to handle traffic.
   * </pre>
   *
   * <code>.google.appengine.v1.AutomaticScaling automatic_scaling = 3;</code>
   *
   * @return Whether the automaticScaling field is set.
   */
  boolean hasAutomaticScaling();
  /**
   *
   *
   * <pre>
   * Automatic scaling is based on request rate, response latencies, and other
   * application metrics. Instances are dynamically created and destroyed as
   * needed in order to handle traffic.
   * </pre>
   *
   * <code>.google.appengine.v1.AutomaticScaling automatic_scaling = 3;</code>
   *
   * @return The automaticScaling.
   */
  com.google.appengine.v1.AutomaticScaling getAutomaticScaling();
  /**
   *
   *
   * <pre>
   * Automatic scaling is based on request rate, response latencies, and other
   * application metrics. Instances are dynamically created and destroyed as
   * needed in order to handle traffic.
   * </pre>
   *
   * <code>.google.appengine.v1.AutomaticScaling automatic_scaling = 3;</code>
   */
  com.google.appengine.v1.AutomaticScalingOrBuilder getAutomaticScalingOrBuilder();

  /**
   *
   *
   * <pre>
   * A service with basic scaling will create an instance when the application
   * receives a request. The instance will be turned down when the app becomes
   * idle. Basic scaling is ideal for work that is intermittent or driven by
   * user activity.
   * </pre>
   *
   * <code>.google.appengine.v1.BasicScaling basic_scaling = 4;</code>
   *
   * @return Whether the basicScaling field is set.
   */
  boolean hasBasicScaling();
  /**
   *
   *
   * <pre>
   * A service with basic scaling will create an instance when the application
   * receives a request. The instance will be turned down when the app becomes
   * idle. Basic scaling is ideal for work that is intermittent or driven by
   * user activity.
   * </pre>
   *
   * <code>.google.appengine.v1.BasicScaling basic_scaling = 4;</code>
   *
   * @return The basicScaling.
   */
  com.google.appengine.v1.BasicScaling getBasicScaling();
  /**
   *
   *
   * <pre>
   * A service with basic scaling will create an instance when the application
   * receives a request. The instance will be turned down when the app becomes
   * idle. Basic scaling is ideal for work that is intermittent or driven by
   * user activity.
   * </pre>
   *
   * <code>.google.appengine.v1.BasicScaling basic_scaling = 4;</code>
   */
  com.google.appengine.v1.BasicScalingOrBuilder getBasicScalingOrBuilder();

  /**
   *
   *
   * <pre>
   * A service with manual scaling runs continuously, allowing you to perform
   * complex initialization and rely on the state of its memory over time.
   * Manually scaled versions are sometimes referred to as "backends".
   * </pre>
   *
   * <code>.google.appengine.v1.ManualScaling manual_scaling = 5;</code>
   *
   * @return Whether the manualScaling field is set.
   */
  boolean hasManualScaling();
  /**
   *
   *
   * <pre>
   * A service with manual scaling runs continuously, allowing you to perform
   * complex initialization and rely on the state of its memory over time.
   * Manually scaled versions are sometimes referred to as "backends".
   * </pre>
   *
   * <code>.google.appengine.v1.ManualScaling manual_scaling = 5;</code>
   *
   * @return The manualScaling.
   */
  com.google.appengine.v1.ManualScaling getManualScaling();
  /**
   *
   *
   * <pre>
   * A service with manual scaling runs continuously, allowing you to perform
   * complex initialization and rely on the state of its memory over time.
   * Manually scaled versions are sometimes referred to as "backends".
   * </pre>
   *
   * <code>.google.appengine.v1.ManualScaling manual_scaling = 5;</code>
   */
  com.google.appengine.v1.ManualScalingOrBuilder getManualScalingOrBuilder();

  /**
   *
   *
   * <pre>
   * Before an application can receive email or XMPP messages, the application
   * must be configured to enable the service.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.InboundServiceType inbound_services = 6;</code>
   *
   * @return A list containing the inboundServices.
   */
  java.util.List<com.google.appengine.v1.InboundServiceType> getInboundServicesList();
  /**
   *
   *
   * <pre>
   * Before an application can receive email or XMPP messages, the application
   * must be configured to enable the service.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.InboundServiceType inbound_services = 6;</code>
   *
   * @return The count of inboundServices.
   */
  int getInboundServicesCount();
  /**
   *
   *
   * <pre>
   * Before an application can receive email or XMPP messages, the application
   * must be configured to enable the service.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.InboundServiceType inbound_services = 6;</code>
   *
   * @param index The index of the element to return.
   * @return The inboundServices at the given index.
   */
  com.google.appengine.v1.InboundServiceType getInboundServices(int index);
  /**
   *
   *
   * <pre>
   * Before an application can receive email or XMPP messages, the application
   * must be configured to enable the service.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.InboundServiceType inbound_services = 6;</code>
   *
   * @return A list containing the enum numeric values on the wire for inboundServices.
   */
  java.util.List<java.lang.Integer> getInboundServicesValueList();
  /**
   *
   *
   * <pre>
   * Before an application can receive email or XMPP messages, the application
   * must be configured to enable the service.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.InboundServiceType inbound_services = 6;</code>
   *
   * @param index The index of the value to return.
   * @return The enum numeric value on the wire of inboundServices at the given index.
   */
  int getInboundServicesValue(int index);

  /**
   *
   *
   * <pre>
   * Instance class that is used to run this version. Valid values are:
   * * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G`
   * * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G`
   * Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or
   * BasicScaling.
   * </pre>
   *
   * <code>string instance_class = 7;</code>
   *
   * @return The instanceClass.
   */
  java.lang.String getInstanceClass();
  /**
   *
   *
   * <pre>
   * Instance class that is used to run this version. Valid values are:
   * * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G`
   * * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G`
   * Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or
   * BasicScaling.
   * </pre>
   *
   * <code>string instance_class = 7;</code>
   *
   * @return The bytes for instanceClass.
   */
  com.google.protobuf.ByteString getInstanceClassBytes();

  /**
   *
   *
   * <pre>
   * Extra network settings.
   * Only applicable in the App Engine flexible environment.
   * </pre>
   *
   * <code>.google.appengine.v1.Network network = 8;</code>
   *
   * @return Whether the network field is set.
   */
  boolean hasNetwork();
  /**
   *
   *
   * <pre>
   * Extra network settings.
   * Only applicable in the App Engine flexible environment.
   * </pre>
   *
   * <code>.google.appengine.v1.Network network = 8;</code>
   *
   * @return The network.
   */
  com.google.appengine.v1.Network getNetwork();
  /**
   *
   *
   * <pre>
   * Extra network settings.
   * Only applicable in the App Engine flexible environment.
   * </pre>
   *
   * <code>.google.appengine.v1.Network network = 8;</code>
   */
  com.google.appengine.v1.NetworkOrBuilder getNetworkOrBuilder();

  /**
   *
   *
   * <pre>
   * The Google Compute Engine zones that are supported by this version in the
   * App Engine flexible environment. Deprecated.
   * </pre>
   *
   * <code>repeated string zones = 118;</code>
   *
   * @return A list containing the zones.
   */
  java.util.List<java.lang.String> getZonesList();
  /**
   *
   *
   * <pre>
   * The Google Compute Engine zones that are supported by this version in the
   * App Engine flexible environment. Deprecated.
   * </pre>
   *
   * <code>repeated string zones = 118;</code>
   *
   * @return The count of zones.
   */
  int getZonesCount();
  /**
   *
   *
   * <pre>
   * The Google Compute Engine zones that are supported by this version in the
   * App Engine flexible environment. Deprecated.
   * </pre>
   *
   * <code>repeated string zones = 118;</code>
   *
   * @param index The index of the element to return.
   * @return The zones at the given index.
   */
  java.lang.String getZones(int index);
  /**
   *
   *
   * <pre>
   * The Google Compute Engine zones that are supported by this version in the
   * App Engine flexible environment. Deprecated.
   * </pre>
   *
   * <code>repeated string zones = 118;</code>
   *
   * @param index The index of the value to return.
   * @return The bytes of the zones at the given index.
   */
  com.google.protobuf.ByteString getZonesBytes(int index);

  /**
   *
   *
   * <pre>
   * Machine resources for this version.
   * Only applicable in the App Engine flexible environment.
   * </pre>
   *
   * <code>.google.appengine.v1.Resources resources = 9;</code>
   *
   * @return Whether the resources field is set.
   */
  boolean hasResources();
  /**
   *
   *
   * <pre>
   * Machine resources for this version.
   * Only applicable in the App Engine flexible environment.
   * </pre>
   *
   * <code>.google.appengine.v1.Resources resources = 9;</code>
   *
   * @return The resources.
   */
  com.google.appengine.v1.Resources getResources();
  /**
   *
   *
   * <pre>
   * Machine resources for this version.
   * Only applicable in the App Engine flexible environment.
   * </pre>
   *
   * <code>.google.appengine.v1.Resources resources = 9;</code>
   */
  com.google.appengine.v1.ResourcesOrBuilder getResourcesOrBuilder();

  /**
   *
   *
   * <pre>
   * Desired runtime. Example: `python27`.
   * </pre>
   *
   * <code>string runtime = 10;</code>
   *
   * @return The runtime.
   */
  java.lang.String getRuntime();
  /**
   *
   *
   * <pre>
   * Desired runtime. Example: `python27`.
   * </pre>
   *
   * <code>string runtime = 10;</code>
   *
   * @return The bytes for runtime.
   */
  com.google.protobuf.ByteString getRuntimeBytes();

  /**
   *
   *
   * <pre>
   * The channel of the runtime to use. Only available for some
   * runtimes. Defaults to the `default` channel.
   * </pre>
   *
   * <code>string runtime_channel = 117;</code>
   *
   * @return The runtimeChannel.
   */
  java.lang.String getRuntimeChannel();
  /**
   *
   *
   * <pre>
   * The channel of the runtime to use. Only available for some
   * runtimes. Defaults to the `default` channel.
   * </pre>
   *
   * <code>string runtime_channel = 117;</code>
   *
   * @return The bytes for runtimeChannel.
   */
  com.google.protobuf.ByteString getRuntimeChannelBytes();

  /**
   *
   *
   * <pre>
   * Whether multiple requests can be dispatched to this version at once.
   * </pre>
   *
   * <code>bool threadsafe = 11;</code>
   *
   * @return The threadsafe.
   */
  boolean getThreadsafe();

  /**
   *
   *
   * <pre>
   * Whether to deploy this version in a container on a virtual machine.
   * </pre>
   *
   * <code>bool vm = 12;</code>
   *
   * @return The vm.
   */
  boolean getVm();

  /**
   *
   *
   * <pre>
   * Allows App Engine second generation runtimes to access the legacy bundled
   * services.
   * </pre>
   *
   * <code>bool app_engine_apis = 128;</code>
   *
   * @return The appEngineApis.
   */
  boolean getAppEngineApis();

  /**
   *
   *
   * <pre>
   * Metadata settings that are supplied to this version to enable
   * beta runtime features.
   * </pre>
   *
   * <code>map&lt;string, string&gt; beta_settings = 13;</code>
   */
  int getBetaSettingsCount();
  /**
   *
   *
   * <pre>
   * Metadata settings that are supplied to this version to enable
   * beta runtime features.
   * </pre>
   *
   * <code>map&lt;string, string&gt; beta_settings = 13;</code>
   */
  boolean containsBetaSettings(java.lang.String key);
  /** Use {@link #getBetaSettingsMap()} instead. */
  @java.lang.Deprecated
  java.util.Map<java.lang.String, java.lang.String> getBetaSettings();
  /**
   *
   *
   * <pre>
   * Metadata settings that are supplied to this version to enable
   * beta runtime features.
   * </pre>
   *
   * <code>map&lt;string, string&gt; beta_settings = 13;</code>
   */
  java.util.Map<java.lang.String, java.lang.String> getBetaSettingsMap();
  /**
   *
   *
   * <pre>
   * Metadata settings that are supplied to this version to enable
   * beta runtime features.
   * </pre>
   *
   * <code>map&lt;string, string&gt; beta_settings = 13;</code>
   */
  /* nullable */
  java.lang.String getBetaSettingsOrDefault(
      java.lang.String key,
      /* nullable */
      java.lang.String defaultValue);
  /**
   *
   *
   * <pre>
   * Metadata settings that are supplied to this version to enable
   * beta runtime features.
   * </pre>
   *
   * <code>map&lt;string, string&gt; beta_settings = 13;</code>
   */
  java.lang.String getBetaSettingsOrThrow(java.lang.String key);

  /**
   *
   *
   * <pre>
   * App Engine execution environment for this version.
   * Defaults to `standard`.
   * </pre>
   *
   * <code>string env = 14;</code>
   *
   * @return The env.
   */
  java.lang.String getEnv();
  /**
   *
   *
   * <pre>
   * App Engine execution environment for this version.
   * Defaults to `standard`.
   * </pre>
   *
   * <code>string env = 14;</code>
   *
   * @return The bytes for env.
   */
  com.google.protobuf.ByteString getEnvBytes();

  /**
   *
   *
   * <pre>
   * Current serving status of this version. Only the versions with a
   * `SERVING` status create instances and can be billed.
   * `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.
   * </pre>
   *
   * <code>.google.appengine.v1.ServingStatus serving_status = 15;</code>
   *
   * @return The enum numeric value on the wire for servingStatus.
   */
  int getServingStatusValue();
  /**
   *
   *
   * <pre>
   * Current serving status of this version. Only the versions with a
   * `SERVING` status create instances and can be billed.
   * `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.
   * </pre>
   *
   * <code>.google.appengine.v1.ServingStatus serving_status = 15;</code>
   *
   * @return The servingStatus.
   */
  com.google.appengine.v1.ServingStatus getServingStatus();

  /**
   *
   *
   * <pre>
   * Email address of the user who created this version.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string created_by = 16;</code>
   *
   * @return The createdBy.
   */
  java.lang.String getCreatedBy();
  /**
   *
   *
   * <pre>
   * Email address of the user who created this version.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string created_by = 16;</code>
   *
   * @return The bytes for createdBy.
   */
  com.google.protobuf.ByteString getCreatedByBytes();

  /**
   *
   *
   * <pre>
   * Time that this version was created.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 17;</code>
   *
   * @return Whether the createTime field is set.
   */
  boolean hasCreateTime();
  /**
   *
   *
   * <pre>
   * Time that this version was created.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 17;</code>
   *
   * @return The createTime.
   */
  com.google.protobuf.Timestamp getCreateTime();
  /**
   *
   *
   * <pre>
   * Time that this version was created.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 17;</code>
   */
  com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder();

  /**
   *
   *
   * <pre>
   * Total size in bytes of all the files that are included in this version
   * and currently hosted on the App Engine disk.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>int64 disk_usage_bytes = 18;</code>
   *
   * @return The diskUsageBytes.
   */
  long getDiskUsageBytes();

  /**
   *
   *
   * <pre>
   * The version of the API in the given runtime environment. Please see the
   * app.yaml reference for valid values at
   * https://cloud.google.com/appengine/docs/standard/&lt;language&gt;/config/appref
   * </pre>
   *
   * <code>string runtime_api_version = 21;</code>
   *
   * @return The runtimeApiVersion.
   */
  java.lang.String getRuntimeApiVersion();
  /**
   *
   *
   * <pre>
   * The version of the API in the given runtime environment. Please see the
   * app.yaml reference for valid values at
   * https://cloud.google.com/appengine/docs/standard/&lt;language&gt;/config/appref
   * </pre>
   *
   * <code>string runtime_api_version = 21;</code>
   *
   * @return The bytes for runtimeApiVersion.
   */
  com.google.protobuf.ByteString getRuntimeApiVersionBytes();

  /**
   *
   *
   * <pre>
   * The path or name of the app's main executable.
   * </pre>
   *
   * <code>string runtime_main_executable_path = 22;</code>
   *
   * @return The runtimeMainExecutablePath.
   */
  java.lang.String getRuntimeMainExecutablePath();
  /**
   *
   *
   * <pre>
   * The path or name of the app's main executable.
   * </pre>
   *
   * <code>string runtime_main_executable_path = 22;</code>
   *
   * @return The bytes for runtimeMainExecutablePath.
   */
  com.google.protobuf.ByteString getRuntimeMainExecutablePathBytes();

  /**
   *
   *
   * <pre>
   * The identity that the deployed version will run as.
   * Admin API will use the App Engine Appspot service account as default if
   * this field is neither provided in app.yaml file nor through CLI flag.
   * </pre>
   *
   * <code>string service_account = 127;</code>
   *
   * @return The serviceAccount.
   */
  java.lang.String getServiceAccount();
  /**
   *
   *
   * <pre>
   * The identity that the deployed version will run as.
   * Admin API will use the App Engine Appspot service account as default if
   * this field is neither provided in app.yaml file nor through CLI flag.
   * </pre>
   *
   * <code>string service_account = 127;</code>
   *
   * @return The bytes for serviceAccount.
   */
  com.google.protobuf.ByteString getServiceAccountBytes();

  /**
   *
   *
   * <pre>
   * An ordered list of URL-matching patterns that should be applied to incoming
   * requests. The first matching URL handles the request and other request
   * handlers are not attempted.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.UrlMap handlers = 100;</code>
   */
  java.util.List<com.google.appengine.v1.UrlMap> getHandlersList();
  /**
   *
   *
   * <pre>
   * An ordered list of URL-matching patterns that should be applied to incoming
   * requests. The first matching URL handles the request and other request
   * handlers are not attempted.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.UrlMap handlers = 100;</code>
   */
  com.google.appengine.v1.UrlMap getHandlers(int index);
  /**
   *
   *
   * <pre>
   * An ordered list of URL-matching patterns that should be applied to incoming
   * requests. The first matching URL handles the request and other request
   * handlers are not attempted.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.UrlMap handlers = 100;</code>
   */
  int getHandlersCount();
  /**
   *
   *
   * <pre>
   * An ordered list of URL-matching patterns that should be applied to incoming
   * requests. The first matching URL handles the request and other request
   * handlers are not attempted.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.UrlMap handlers = 100;</code>
   */
  java.util.List<? extends com.google.appengine.v1.UrlMapOrBuilder> getHandlersOrBuilderList();
  /**
   *
   *
   * <pre>
   * An ordered list of URL-matching patterns that should be applied to incoming
   * requests. The first matching URL handles the request and other request
   * handlers are not attempted.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.UrlMap handlers = 100;</code>
   */
  com.google.appengine.v1.UrlMapOrBuilder getHandlersOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * Custom static error pages. Limited to 10KB per page.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.ErrorHandler error_handlers = 101;</code>
   */
  java.util.List<com.google.appengine.v1.ErrorHandler> getErrorHandlersList();
  /**
   *
   *
   * <pre>
   * Custom static error pages. Limited to 10KB per page.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.ErrorHandler error_handlers = 101;</code>
   */
  com.google.appengine.v1.ErrorHandler getErrorHandlers(int index);
  /**
   *
   *
   * <pre>
   * Custom static error pages. Limited to 10KB per page.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.ErrorHandler error_handlers = 101;</code>
   */
  int getErrorHandlersCount();
  /**
   *
   *
   * <pre>
   * Custom static error pages. Limited to 10KB per page.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.ErrorHandler error_handlers = 101;</code>
   */
  java.util.List<? extends com.google.appengine.v1.ErrorHandlerOrBuilder>
      getErrorHandlersOrBuilderList();
  /**
   *
   *
   * <pre>
   * Custom static error pages. Limited to 10KB per page.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.ErrorHandler error_handlers = 101;</code>
   */
  com.google.appengine.v1.ErrorHandlerOrBuilder getErrorHandlersOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * Configuration for third-party Python runtime libraries that are required
   * by the application.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.Library libraries = 102;</code>
   */
  java.util.List<com.google.appengine.v1.Library> getLibrariesList();
  /**
   *
   *
   * <pre>
   * Configuration for third-party Python runtime libraries that are required
   * by the application.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.Library libraries = 102;</code>
   */
  com.google.appengine.v1.Library getLibraries(int index);
  /**
   *
   *
   * <pre>
   * Configuration for third-party Python runtime libraries that are required
   * by the application.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.Library libraries = 102;</code>
   */
  int getLibrariesCount();
  /**
   *
   *
   * <pre>
   * Configuration for third-party Python runtime libraries that are required
   * by the application.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.Library libraries = 102;</code>
   */
  java.util.List<? extends com.google.appengine.v1.LibraryOrBuilder> getLibrariesOrBuilderList();
  /**
   *
   *
   * <pre>
   * Configuration for third-party Python runtime libraries that are required
   * by the application.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>repeated .google.appengine.v1.Library libraries = 102;</code>
   */
  com.google.appengine.v1.LibraryOrBuilder getLibrariesOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * Serving configuration for
   * [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/).
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.ApiConfigHandler api_config = 103;</code>
   *
   * @return Whether the apiConfig field is set.
   */
  boolean hasApiConfig();
  /**
   *
   *
   * <pre>
   * Serving configuration for
   * [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/).
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.ApiConfigHandler api_config = 103;</code>
   *
   * @return The apiConfig.
   */
  com.google.appengine.v1.ApiConfigHandler getApiConfig();
  /**
   *
   *
   * <pre>
   * Serving configuration for
   * [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/).
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.ApiConfigHandler api_config = 103;</code>
   */
  com.google.appengine.v1.ApiConfigHandlerOrBuilder getApiConfigOrBuilder();

  /**
   *
   *
   * <pre>
   * Environment variables available to the application.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>map&lt;string, string&gt; env_variables = 104;</code>
   */
  int getEnvVariablesCount();
  /**
   *
   *
   * <pre>
   * Environment variables available to the application.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>map&lt;string, string&gt; env_variables = 104;</code>
   */
  boolean containsEnvVariables(java.lang.String key);
  /** Use {@link #getEnvVariablesMap()} instead. */
  @java.lang.Deprecated
  java.util.Map<java.lang.String, java.lang.String> getEnvVariables();
  /**
   *
   *
   * <pre>
   * Environment variables available to the application.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>map&lt;string, string&gt; env_variables = 104;</code>
   */
  java.util.Map<java.lang.String, java.lang.String> getEnvVariablesMap();
  /**
   *
   *
   * <pre>
   * Environment variables available to the application.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>map&lt;string, string&gt; env_variables = 104;</code>
   */
  /* nullable */
  java.lang.String getEnvVariablesOrDefault(
      java.lang.String key,
      /* nullable */
      java.lang.String defaultValue);
  /**
   *
   *
   * <pre>
   * Environment variables available to the application.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>map&lt;string, string&gt; env_variables = 104;</code>
   */
  java.lang.String getEnvVariablesOrThrow(java.lang.String key);

  /**
   *
   *
   * <pre>
   * Environment variables available to the build environment.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>map&lt;string, string&gt; build_env_variables = 125;</code>
   */
  int getBuildEnvVariablesCount();
  /**
   *
   *
   * <pre>
   * Environment variables available to the build environment.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>map&lt;string, string&gt; build_env_variables = 125;</code>
   */
  boolean containsBuildEnvVariables(java.lang.String key);
  /** Use {@link #getBuildEnvVariablesMap()} instead. */
  @java.lang.Deprecated
  java.util.Map<java.lang.String, java.lang.String> getBuildEnvVariables();
  /**
   *
   *
   * <pre>
   * Environment variables available to the build environment.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>map&lt;string, string&gt; build_env_variables = 125;</code>
   */
  java.util.Map<java.lang.String, java.lang.String> getBuildEnvVariablesMap();
  /**
   *
   *
   * <pre>
   * Environment variables available to the build environment.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>map&lt;string, string&gt; build_env_variables = 125;</code>
   */
  /* nullable */
  java.lang.String getBuildEnvVariablesOrDefault(
      java.lang.String key,
      /* nullable */
      java.lang.String defaultValue);
  /**
   *
   *
   * <pre>
   * Environment variables available to the build environment.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>map&lt;string, string&gt; build_env_variables = 125;</code>
   */
  java.lang.String getBuildEnvVariablesOrThrow(java.lang.String key);

  /**
   *
   *
   * <pre>
   * Duration that static files should be cached by web proxies and browsers.
   * Only applicable if the corresponding
   * [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StaticFilesHandler)
   * does not specify its own expiration time.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.protobuf.Duration default_expiration = 105;</code>
   *
   * @return Whether the defaultExpiration field is set.
   */
  boolean hasDefaultExpiration();
  /**
   *
   *
   * <pre>
   * Duration that static files should be cached by web proxies and browsers.
   * Only applicable if the corresponding
   * [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StaticFilesHandler)
   * does not specify its own expiration time.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.protobuf.Duration default_expiration = 105;</code>
   *
   * @return The defaultExpiration.
   */
  com.google.protobuf.Duration getDefaultExpiration();
  /**
   *
   *
   * <pre>
   * Duration that static files should be cached by web proxies and browsers.
   * Only applicable if the corresponding
   * [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StaticFilesHandler)
   * does not specify its own expiration time.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.protobuf.Duration default_expiration = 105;</code>
   */
  com.google.protobuf.DurationOrBuilder getDefaultExpirationOrBuilder();

  /**
   *
   *
   * <pre>
   * Configures health checking for instances. Unhealthy instances are
   * stopped and replaced with new instances.
   * Only applicable in the App Engine flexible environment.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.HealthCheck health_check = 106;</code>
   *
   * @return Whether the healthCheck field is set.
   */
  boolean hasHealthCheck();
  /**
   *
   *
   * <pre>
   * Configures health checking for instances. Unhealthy instances are
   * stopped and replaced with new instances.
   * Only applicable in the App Engine flexible environment.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.HealthCheck health_check = 106;</code>
   *
   * @return The healthCheck.
   */
  com.google.appengine.v1.HealthCheck getHealthCheck();
  /**
   *
   *
   * <pre>
   * Configures health checking for instances. Unhealthy instances are
   * stopped and replaced with new instances.
   * Only applicable in the App Engine flexible environment.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.HealthCheck health_check = 106;</code>
   */
  com.google.appengine.v1.HealthCheckOrBuilder getHealthCheckOrBuilder();

  /**
   *
   *
   * <pre>
   * Configures readiness health checking for instances.
   * Unhealthy instances are not put into the backend traffic rotation.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.ReadinessCheck readiness_check = 112;</code>
   *
   * @return Whether the readinessCheck field is set.
   */
  boolean hasReadinessCheck();
  /**
   *
   *
   * <pre>
   * Configures readiness health checking for instances.
   * Unhealthy instances are not put into the backend traffic rotation.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.ReadinessCheck readiness_check = 112;</code>
   *
   * @return The readinessCheck.
   */
  com.google.appengine.v1.ReadinessCheck getReadinessCheck();
  /**
   *
   *
   * <pre>
   * Configures readiness health checking for instances.
   * Unhealthy instances are not put into the backend traffic rotation.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.ReadinessCheck readiness_check = 112;</code>
   */
  com.google.appengine.v1.ReadinessCheckOrBuilder getReadinessCheckOrBuilder();

  /**
   *
   *
   * <pre>
   * Configures liveness health checking for instances.
   * Unhealthy instances are stopped and replaced with new instances
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.LivenessCheck liveness_check = 113;</code>
   *
   * @return Whether the livenessCheck field is set.
   */
  boolean hasLivenessCheck();
  /**
   *
   *
   * <pre>
   * Configures liveness health checking for instances.
   * Unhealthy instances are stopped and replaced with new instances
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.LivenessCheck liveness_check = 113;</code>
   *
   * @return The livenessCheck.
   */
  com.google.appengine.v1.LivenessCheck getLivenessCheck();
  /**
   *
   *
   * <pre>
   * Configures liveness health checking for instances.
   * Unhealthy instances are stopped and replaced with new instances
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.LivenessCheck liveness_check = 113;</code>
   */
  com.google.appengine.v1.LivenessCheckOrBuilder getLivenessCheckOrBuilder();

  /**
   *
   *
   * <pre>
   * Files that match this pattern will not be built into this version.
   * Only applicable for Go runtimes.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>string nobuild_files_regex = 107;</code>
   *
   * @return The nobuildFilesRegex.
   */
  java.lang.String getNobuildFilesRegex();
  /**
   *
   *
   * <pre>
   * Files that match this pattern will not be built into this version.
   * Only applicable for Go runtimes.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>string nobuild_files_regex = 107;</code>
   *
   * @return The bytes for nobuildFilesRegex.
   */
  com.google.protobuf.ByteString getNobuildFilesRegexBytes();

  /**
   *
   *
   * <pre>
   * Code and application artifacts that make up this version.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.Deployment deployment = 108;</code>
   *
   * @return Whether the deployment field is set.
   */
  boolean hasDeployment();
  /**
   *
   *
   * <pre>
   * Code and application artifacts that make up this version.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.Deployment deployment = 108;</code>
   *
   * @return The deployment.
   */
  com.google.appengine.v1.Deployment getDeployment();
  /**
   *
   *
   * <pre>
   * Code and application artifacts that make up this version.
   * Only returned in `GET` requests if `view=FULL` is set.
   * </pre>
   *
   * <code>.google.appengine.v1.Deployment deployment = 108;</code>
   */
  com.google.appengine.v1.DeploymentOrBuilder getDeploymentOrBuilder();

  /**
   *
   *
   * <pre>
   * Serving URL for this version. Example:
   * "https://myversion-dot-myservice-dot-myapp.appspot.com"
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string version_url = 109;</code>
   *
   * @return The versionUrl.
   */
  java.lang.String getVersionUrl();
  /**
   *
   *
   * <pre>
   * Serving URL for this version. Example:
   * "https://myversion-dot-myservice-dot-myapp.appspot.com"
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string version_url = 109;</code>
   *
   * @return The bytes for versionUrl.
   */
  com.google.protobuf.ByteString getVersionUrlBytes();

  /**
   *
   *
   * <pre>
   * Cloud Endpoints configuration.
   * If endpoints_api_service is set, the Cloud Endpoints Extensible Service
   * Proxy will be provided to serve the API implemented by the app.
   * </pre>
   *
   * <code>.google.appengine.v1.EndpointsApiService endpoints_api_service = 110;</code>
   *
   * @return Whether the endpointsApiService field is set.
   */
  boolean hasEndpointsApiService();
  /**
   *
   *
   * <pre>
   * Cloud Endpoints configuration.
   * If endpoints_api_service is set, the Cloud Endpoints Extensible Service
   * Proxy will be provided to serve the API implemented by the app.
   * </pre>
   *
   * <code>.google.appengine.v1.EndpointsApiService endpoints_api_service = 110;</code>
   *
   * @return The endpointsApiService.
   */
  com.google.appengine.v1.EndpointsApiService getEndpointsApiService();
  /**
   *
   *
   * <pre>
   * Cloud Endpoints configuration.
   * If endpoints_api_service is set, the Cloud Endpoints Extensible Service
   * Proxy will be provided to serve the API implemented by the app.
   * </pre>
   *
   * <code>.google.appengine.v1.EndpointsApiService endpoints_api_service = 110;</code>
   */
  com.google.appengine.v1.EndpointsApiServiceOrBuilder getEndpointsApiServiceOrBuilder();

  /**
   *
   *
   * <pre>
   * The entrypoint for the application.
   * </pre>
   *
   * <code>.google.appengine.v1.Entrypoint entrypoint = 122;</code>
   *
   * @return Whether the entrypoint field is set.
   */
  boolean hasEntrypoint();
  /**
   *
   *
   * <pre>
   * The entrypoint for the application.
   * </pre>
   *
   * <code>.google.appengine.v1.Entrypoint entrypoint = 122;</code>
   *
   * @return The entrypoint.
   */
  com.google.appengine.v1.Entrypoint getEntrypoint();
  /**
   *
   *
   * <pre>
   * The entrypoint for the application.
   * </pre>
   *
   * <code>.google.appengine.v1.Entrypoint entrypoint = 122;</code>
   */
  com.google.appengine.v1.EntrypointOrBuilder getEntrypointOrBuilder();

  /**
   *
   *
   * <pre>
   * Enables VPC connectivity for standard apps.
   * </pre>
   *
   * <code>.google.appengine.v1.VpcAccessConnector vpc_access_connector = 121;</code>
   *
   * @return Whether the vpcAccessConnector field is set.
   */
  boolean hasVpcAccessConnector();
  /**
   *
   *
   * <pre>
   * Enables VPC connectivity for standard apps.
   * </pre>
   *
   * <code>.google.appengine.v1.VpcAccessConnector vpc_access_connector = 121;</code>
   *
   * @return The vpcAccessConnector.
   */
  com.google.appengine.v1.VpcAccessConnector getVpcAccessConnector();
  /**
   *
   *
   * <pre>
   * Enables VPC connectivity for standard apps.
   * </pre>
   *
   * <code>.google.appengine.v1.VpcAccessConnector vpc_access_connector = 121;</code>
   */
  com.google.appengine.v1.VpcAccessConnectorOrBuilder getVpcAccessConnectorOrBuilder();

  public com.google.appengine.v1.Version.ScalingCase getScalingCase();
}
