/*
 * 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/cloud/compute/v1/compute.proto

package com.google.cloud.compute.v1;

public interface RouterNatRuleActionOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.cloud.compute.v1.RouterNatRuleAction)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
   * </pre>
   *
   * <code>repeated string source_nat_active_ips = 210378229;</code>
   *
   * @return A list containing the sourceNatActiveIps.
   */
  java.util.List<java.lang.String> getSourceNatActiveIpsList();
  /**
   *
   *
   * <pre>
   * A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
   * </pre>
   *
   * <code>repeated string source_nat_active_ips = 210378229;</code>
   *
   * @return The count of sourceNatActiveIps.
   */
  int getSourceNatActiveIpsCount();
  /**
   *
   *
   * <pre>
   * A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
   * </pre>
   *
   * <code>repeated string source_nat_active_ips = 210378229;</code>
   *
   * @param index The index of the element to return.
   * @return The sourceNatActiveIps at the given index.
   */
  java.lang.String getSourceNatActiveIps(int index);
  /**
   *
   *
   * <pre>
   * A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT.
   * </pre>
   *
   * <code>repeated string source_nat_active_ips = 210378229;</code>
   *
   * @param index The index of the value to return.
   * @return The bytes of the sourceNatActiveIps at the given index.
   */
  com.google.protobuf.ByteString getSourceNatActiveIpsBytes(int index);

  /**
   *
   *
   * <pre>
   * A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
   * </pre>
   *
   * <code>repeated string source_nat_drain_ips = 340812451;</code>
   *
   * @return A list containing the sourceNatDrainIps.
   */
  java.util.List<java.lang.String> getSourceNatDrainIpsList();
  /**
   *
   *
   * <pre>
   * A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
   * </pre>
   *
   * <code>repeated string source_nat_drain_ips = 340812451;</code>
   *
   * @return The count of sourceNatDrainIps.
   */
  int getSourceNatDrainIpsCount();
  /**
   *
   *
   * <pre>
   * A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
   * </pre>
   *
   * <code>repeated string source_nat_drain_ips = 340812451;</code>
   *
   * @param index The index of the element to return.
   * @return The sourceNatDrainIps at the given index.
   */
  java.lang.String getSourceNatDrainIps(int index);
  /**
   *
   *
   * <pre>
   * A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT.
   * </pre>
   *
   * <code>repeated string source_nat_drain_ips = 340812451;</code>
   *
   * @param index The index of the value to return.
   * @return The bytes of the sourceNatDrainIps at the given index.
   */
  com.google.protobuf.ByteString getSourceNatDrainIpsBytes(int index);
}
