/*
 * ThingPark things management Devices API
 * REST interface for Devices management. 
 *
 * The version of the OpenAPI document: 7.3
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

package lora.ns.actility.api.model.device;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;

/**
 * Location of the Join Server used for Device activation: - LOCAL: Local Join
 * server with software encryption - LOCAL_WITH_HSM: Local Join server with HSM
 * protection - EXTERNAL: External Join server Only applicable to OTAA devices.
 */
public enum DeviceLorawanJoinServer {

  LOCAL("LOCAL"),

  LOCAL_WITH_HSM("LOCAL_WITH_HSM"),

  EXTERNAL("EXTERNAL");

  private String value;

  DeviceLorawanJoinServer(String value) {
    this.value = value;
  }

  @JsonValue
  public String getValue() {
    return value;
  }

  @Override
  public String toString() {
    return String.valueOf(value);
  }

  @JsonCreator
  public static DeviceLorawanJoinServer fromValue(String value) {
    for (DeviceLorawanJoinServer b : DeviceLorawanJoinServer.values()) {
      if (b.value.equals(value)) {
        return b;
      }
    }
    throw new IllegalArgumentException("Unexpected value '" + value + "'");
  }
}
