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

main.java.com.nutanix.dp1.net.networking.v4.config.Layer2StretchRelatedEntities Maven / Gradle / Ivy

/*
 * Generated file ..
 *
 * Product version: 4.0.1-beta-1
 *
 * Part of the Nutanix Networking Versioned APIs
 *
 * (c) 2023 Nutanix Inc.  All rights reserved
 *
 */

package com.nutanix.dp1.net.networking.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 com.nutanix.dp1.net.deserializers.NetObjectTypeTypedObject;

import javax.validation.constraints.*;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static com.nutanix.dp1.net.deserializers.NetDeserializerUtils.*;


/**
 * Layer2 stretch-related entities retrieved from the specified Prism Central cluster.
 */



@Data
@lombok.extern.slf4j.Slf4j
public class Layer2StretchRelatedEntities implements java.io.Serializable, NetObjectTypeTypedObject {

  

  public Layer2StretchRelatedEntities() {

    this.$objectType = this.initialize$objectType();
    this.$reserved = new java.util.LinkedHashMap<>();
    this.$reserved.put("$fqObjectType", this.initialize$fqObjectType());
    this.$unknownFields = new java.util.LinkedHashMap<>();

  }

  @lombok.Builder(builderMethodName = "Layer2StretchRelatedEntitiesBuilder")
  public Layer2StretchRelatedEntities(java.util.List subnets, java.util.List vpnConnections, java.util.List vtepGateways) {
    this.$objectType = this.initialize$objectType();
    this.$reserved = new java.util.LinkedHashMap<>();
    this.$reserved.put("$fqObjectType", this.initialize$fqObjectType());
    this.$unknownFields = new java.util.LinkedHashMap<>();

    this.setSubnets(subnets);

    this.setVpnConnections(vpnConnections);

    this.setVtepGateways(vtepGateways);
  }


  protected String initialize$objectType() {
    return "networking.v4.config.Layer2StretchRelatedEntities";
  }


  protected String initialize$fqObjectType() {
    return "networking.v4.r0.b1.config.Layer2StretchRelatedEntities";
  }

  @JsonAnySetter
  private void setUndeserializedFields(String name, String value) {
    $unknownFields.put(name, value);
  }


  

    @javax.validation.constraints.Size(min = 0, max = 5000)
    
    
    
    private List subnets = null;
  
    /**
     * 
     */
    public void setSubnets(List subnets) {
      if (this.subnets == null) {
        this.subnets = subnets;
      }
      else {
        log.warn("Read-only property subnets already contains a non-null value and cannot be set again");
      }
    }
  

    @javax.validation.constraints.Size(min = 0, max = 20)
    
    
    
    private List vpnConnections = null;
  
    /**
     * 
     */
    public void setVpnConnections(List vpnConnections) {
      if (this.vpnConnections == null) {
        this.vpnConnections = vpnConnections;
      }
      else {
        log.warn("Read-only property vpnConnections already contains a non-null value and cannot be set again");
      }
    }
  

    @javax.validation.constraints.Size(min = 0, max = 20)
    
    
    
    private List vtepGateways = null;
  
    /**
     * 
     */
    public void setVtepGateways(List vtepGateways) {
      if (this.vtepGateways == null) {
        this.vtepGateways = vtepGateways;
      }
      else {
        log.warn("Read-only property vtepGateways already contains a non-null value and cannot be set again");
      }
    }
  
  

  
    
    
    @Getter
    @JsonView({StandardView.class})
    
    protected final Map $reserved;
  
  

  
    
    
    @Getter
    @JsonView({StandardView.class})
    
    protected final String $objectType;
  
  

  
    
    
    @Getter
    @JsonView({StandardView.class})
    
    protected final Map $unknownFields;
  
  

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy