// Path: src/main/java/com/myjeeva/digitalocean/common/CaaTagType.java
// public enum CaaTagType {
//   @SerializedName("issue")
//   ISSUE("issue"),
// 
//   @SerializedName("issuewild")
//   ISSUE_WILD("issuewild"),
// 
//   @SerializedName("iodef")
//   IODEF("iodef");
// 
//   private String value;
// 
//   private CaaTagType(String value) {
//     this.value = value;
//   }
// 
//   @Override
//   public String toString() {
//     return this.value;
//   }
// 
//   public static CaaTagType fromValue(String value) {
//     if (StringUtils.isBlank(value)) {
//       throw new IllegalArgumentException("Value cannot be null or empty!");
//     }
// 
//     for (CaaTagType rt : CaaTagType.values()) {
//       if (value.equalsIgnoreCase(rt.value)) {
//         return rt;
//       }
//     }
// 
//     throw new IllegalArgumentException("Cannot create enum from " + value + " value!");
//   }
// }


import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import com.google.gson.annotations.Expose;
import com.myjeeva.digitalocean.common.CaaTagType;
/**
 * The MIT License
 *
 * <p>Copyright (c) 2013-2020 Jeevanandam M. (jeeva@myjeeva.com)
 *
 * <p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software
 * and associated documentation files (the "Software"), to deal in the Software without restriction,
 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * <p>The above copyright notice and this permission notice shall be included in all copies or
 * substantial portions of the Software.
 *
 * <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
package com.myjeeva.digitalocean.pojo;


/**
 * Represents DomainRecord (TLD) Record attributes of DigitalOcean DNS. Revised as per v2 API data
 * structure.
 *
 * @author Jeevanandam M. (jeeva@myjeeva.com)
 */
public class DomainRecord extends Base {

  private static final long serialVersionUID = 5656335027984698525L;

  private Integer id;

  @Expose private String type;

  @Expose private String name;

  @Expose private String data;

  @Expose private Integer priority;

  @Expose private Integer port;

  @Expose private Integer weight;

  @Expose private Integer ttl;

  @Expose private Integer flags;

// Path: src/main/java/com/myjeeva/digitalocean/common/CaaTagType.java
// public enum CaaTagType {
//   @SerializedName("issue")
//   ISSUE("issue"),
// 
//   @SerializedName("issuewild")
//   ISSUE_WILD("issuewild"),
// 
//   @SerializedName("iodef")
//   IODEF("iodef");
// 
//   private String value;
// 
//   private CaaTagType(String value) {
//     this.value = value;
//   }
// 
//   @Override
//   public String toString() {
//     return this.value;
//   }
// 
//   public static CaaTagType fromValue(String value) {
//     if (StringUtils.isBlank(value)) {
//       throw new IllegalArgumentException("Value cannot be null or empty!");
//     }
// 
//     for (CaaTagType rt : CaaTagType.values()) {
//       if (value.equalsIgnoreCase(rt.value)) {
//         return rt;
//       }
//     }
// 
//     throw new IllegalArgumentException("Cannot create enum from " + value + " value!");
//   }
// }


// Path: src/main/java/com/myjeeva/digitalocean/pojo/DomainRecord.java
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import com.google.gson.annotations.Expose;
import com.myjeeva.digitalocean.common.CaaTagType;

/**
 * The MIT License
 *
 * <p>Copyright (c) 2013-2020 Jeevanandam M. (jeeva@myjeeva.com)
 *
 * <p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software
 * and associated documentation files (the "Software"), to deal in the Software without restriction,
 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * <p>The above copyright notice and this permission notice shall be included in all copies or
 * substantial portions of the Software.
 *
 * <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
package com.myjeeva.digitalocean.pojo;


/**
 * Represents DomainRecord (TLD) Record attributes of DigitalOcean DNS. Revised as per v2 API data
 * structure.
 *
 * @author Jeevanandam M. (jeeva@myjeeva.com)
 */
public class DomainRecord extends Base {

  private static final long serialVersionUID = 5656335027984698525L;

  private Integer id;

  @Expose private String type;

  @Expose private String name;

  @Expose private String data;

  @Expose private Integer priority;

  @Expose private Integer port;

  @Expose private Integer weight;

  @Expose private Integer ttl;

  @Expose private Integer flags;

  @Expose private CaaTagType tag;