// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 package aws.proserve.bcs.dr.project; import aws.proserve.bcs.dr.dto.HasName; import java.util.stream.Stream; public enum Component implements HasName { Boot("boot"), CloudEndure("ce"), CloudEndureManager("ce.manager"), DynamoDB("dynamo"), DbDumpMySql("db.dump.mysql"), DbDumpOracle("db.dump.oracle"), DbReplicaOracleEc2("db.replica.oracle.ec2"), S3("s3"), VPC("vpc"); public static Component of(String value) { return Stream.of(values()) .filter(v -> v.getName().equals(value)) .findFirst() .orElseThrow(() -> new IllegalArgumentException(value)); } private final String name; Component(String name) { this.name = name; } @Override public String getName() { return name; } }