1 package org.onap.vid.aai.model;
3 import com.fasterxml.jackson.annotation.JsonCreator;
6 import java.util.Optional;
7 import java.util.function.Function;
8 import java.util.stream.Collectors;
9 import java.util.stream.Stream;
11 public enum ResourceType {
13 SERVICE_INSTANCE("service-instances", "service-instance-name"),
14 GENERIC_VNF("generic-vnfs", "vnf-name"),
15 L3_NETWORK("l3-networks", "network-name"),
16 VF_MODULE("vf-modules", "vf-module-name"),
17 INSTANCE_GROUP("instance-groups", "instance-group-name"),
18 VOLUME_GROUP("volume-groups", "volume-group-name");
20 private static Map<String, ResourceType> AAI_FORMAT_MAP = Stream
21 .of(ResourceType.values())
22 .collect(Collectors.toMap(s -> s.aaiFormat, Function.identity()));
24 private final String aaiFormat;
25 private final String nameFilter;
27 ResourceType(String formatted, String nameFilter) {
28 this.aaiFormat = formatted;
29 this.nameFilter = nameFilter;
32 public String getAaiFormat() {
36 public String getNameFilter() {
41 public static ResourceType fromString(String string) {
43 .ofNullable(AAI_FORMAT_MAP.get(string))
44 .orElseThrow(() -> new IllegalArgumentException(string));