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

com.nutanix.dp1.mic.microseg.v4.config.AddressGroup Maven / Gradle / Ivy

The newest version!
/*
 * Generated file ..
 *
 * Product version: 4.0.1-beta-1
 *
 * Part of the Nutanix Microseg Versioned APIs
 *
 * (c) 2024 Nutanix Inc.  All rights reserved
 *
 */

package com.nutanix.dp1.mic.microseg.v4.config;

import com.fasterxml.jackson.annotation.JsonAnySetter;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.AccessLevel;
import com.nutanix.devplatform.models.PrettyModeViews.*;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.stream.Collectors;
import com.nutanix.dp1.mic.deserializers.MicObjectTypeTypedObject;

import javax.validation.constraints.*;

import java.util.ArrayList;
import java.util.List;

import static com.nutanix.dp1.mic.deserializers.MicDeserializerUtils.*;





@EqualsAndHashCode(callSuper=true)
@Data
@lombok.extern.slf4j.Slf4j
public class AddressGroup extends com.nutanix.dp1.mic.common.v1.response.ExternalizableAbstractModel implements java.io.Serializable, MicObjectTypeTypedObject {

  

  public AddressGroup() {
    super();
    
  }

  @lombok.Builder(builderMethodName = "AddressGroupBuilder")
  public AddressGroup(String tenantId, String extId, java.util.List links, String name, String description, java.util.List ipv4Addresses, java.util.List ipRanges, java.util.List policyReferences, String createdBy) {
    super(tenantId, extId, links);

    this.setName(name);

    this.setDescription(description);

    this.setIpv4Addresses(ipv4Addresses);

    this.setIpRanges(ipRanges);

    this.setPolicyReferences(policyReferences);

    this.setCreatedBy(createdBy);
  }

  @Override 
  protected String initialize$objectType() {
    return "microseg.v4.config.AddressGroup";
  }

  @Override 
  protected String initialize$fv() {
    return "v4.r0.b1";
  }


  

    @javax.validation.constraints.Size(min = 1, max = 1000)
    
    
    
    private List policyReferences = null;
  
    /**
     * Reference to policy associated with Address Group.
     */
    public void setPolicyReferences(List policyReferences) {
      if (this.policyReferences == null) {
        this.policyReferences = policyReferences;
      }
      else {
        log.warn("Read-only property policyReferences already contains a non-null value and cannot be set again");
      }
    }
  

    @javax.validation.constraints.Pattern(regexp="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$")
    
    
    
    private String createdBy = null;
  
    /**
     * 
     */
    public void setCreatedBy(String createdBy) {
      if (this.createdBy == null) {
        this.createdBy = createdBy;
      }
      else {
        log.warn("Read-only property createdBy already contains a non-null value and cannot be set again");
      }
    }
  
  

  
    /**
    * A short identifier for an Address Group.
    */
    @javax.validation.constraints.Size(max = 64)
    
    @JsonProperty("name")
    public String name = null;
  
  

  
    /**
    * A user defined annotation for an Address Group.
    */
    @javax.validation.constraints.Size(max = 1000)
    
    @JsonProperty("description")
    public String description = null;
  
  

  
    /**
    * List of CIDR blocks in the Address Group.
    */
    @javax.validation.constraints.Size(min = 1, max = 250)
    
    @JsonProperty("ipv4Addresses")
    public List ipv4Addresses = null;
  
  

  
    /**
    * List of IP range containing start and end IP.
    */
    @javax.validation.constraints.Size(min = 1, max = 250)
    
    @JsonProperty("ipRanges")
    public List ipRanges = null;
  
  

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy