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

com.vmware.avi.sdk.model.NatPolicyAction Maven / Gradle / Ivy

Go to download

Avi SDK is a java API which creates a session with controller and perform CRUD operations.

There is a newer version: 31.1.1.RELEASE
Show newest version
/*
 * Copyright 2021 VMware, Inc.
 * SPDX-License-Identifier: Apache License 2.0
 */

package com.vmware.avi.sdk.model;

import java.util.*;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * The NatPolicyAction is a POJO class extends AviRestResource that used for creating
 * NatPolicyAction.
 *
 * @version 1.0
 * @since 
 *
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class NatPolicyAction  {
    @JsonProperty("nat_info")
    private List natInfo;

    @JsonProperty("type")
    private String type;


    /**
     * This is the getter method this will return the attribute value.
     * Pool of ip addresses used for nat.
     * Field introduced in 18.2.5.
     * Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
     * Default value when not specified in API or module is interpreted by Avi Controller as null.
     * @return natInfo
     */
    public List getNatInfo() {
        return natInfo;
    }

    /**
     * This is the setter method. this will set the natInfo
     * Pool of ip addresses used for nat.
     * Field introduced in 18.2.5.
     * Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
     * Default value when not specified in API or module is interpreted by Avi Controller as null.
     * @return natInfo
     */
    public void setNatInfo(List  natInfo) {
        this.natInfo = natInfo;
    }

    /**
     * This is the setter method this will set the natInfo
     * Pool of ip addresses used for nat.
     * Field introduced in 18.2.5.
     * Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
     * Default value when not specified in API or module is interpreted by Avi Controller as null.
     * @return natInfo
     */
    public NatPolicyAction addNatInfoItem(NatAddrInfo natInfoItem) {
      if (this.natInfo == null) {
        this.natInfo = new ArrayList();
      }
      this.natInfo.add(natInfoItem);
      return this;
    }

    /**
     * This is the getter method this will return the attribute value.
     * Nat action type.
     * Enum options - NAT_POLICY_ACTION_TYPE_DYNAMIC_IP_PORT, NAT_POLICY_ACTION_TYPE_DYNAMIC_IP_PRESERVE_PORT.
     * Field introduced in 18.2.5.
     * Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
     * Default value when not specified in API or module is interpreted by Avi Controller as null.
     * @return type
     */
    public String getType() {
        return type;
    }

    /**
     * This is the setter method to the attribute.
     * Nat action type.
     * Enum options - NAT_POLICY_ACTION_TYPE_DYNAMIC_IP_PORT, NAT_POLICY_ACTION_TYPE_DYNAMIC_IP_PRESERVE_PORT.
     * Field introduced in 18.2.5.
     * Allowed in enterprise edition with any value, essentials, basic, enterprise with cloud services edition.
     * Default value when not specified in API or module is interpreted by Avi Controller as null.
     * @param type set the type.
     */
    public void setType(String  type) {
        this.type = type;
    }


    @Override
    public boolean equals(java.lang.Object o) {
      if (this == o) {
          return true;
      }
      if (o == null || getClass() != o.getClass()) {
          return false;
      }
      NatPolicyAction objNatPolicyAction = (NatPolicyAction) o;
      return   Objects.equals(this.type, objNatPolicyAction.type)&&
  Objects.equals(this.natInfo, objNatPolicyAction.natInfo);
    }

    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class NatPolicyAction {\n");
                  sb.append("    natInfo: ").append(toIndentedString(natInfo)).append("\n");
                        sb.append("    type: ").append(toIndentedString(type)).append("\n");
                  sb.append("}");
      return sb.toString();
    }

    /**
     * Convert the given object to string with each line indented by 4 spaces
     * (except the first line).
     */
    private String toIndentedString(java.lang.Object o) {
      if (o == null) {
          return "null";
      }
      return o.toString().replace("\n", "\n    ");
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy