1 /* 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"). 5 * You may not use this file except in compliance with the License. 6 * A copy of the License is located at 7 * 8 * http://aws.amazon.com/apache2.0 9 * 10 * or in the "license" file accompanying this file. This file is distributed 11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 12 * express or implied. See the License for the specific language governing 13 * permissions and limitations under the License. 14 */ 15 16 package software.amazon.awssdk.codegen.model.service; 17 18 import java.util.Arrays; 19 import software.amazon.awssdk.utils.StringUtils; 20 21 public enum AuthType { 22 23 NONE("none"), 24 CUSTOM("custom"), 25 IAM("iam"), 26 V4("v4"), 27 V4_UNSIGNED_BODY("v4-unsigned-body"), 28 S3("s3"), 29 S3V4("s3v4"), 30 BEARER("bearer") 31 ; 32 33 private final String value; 34 AuthType(String value)35 AuthType(String value) { 36 this.value = value; 37 } 38 value()39 public String value() { 40 return value; 41 } 42 fromValue(String value)43 public static AuthType fromValue(String value) { 44 String normalizedValue = StringUtils.lowerCase(value); 45 return Arrays.stream(values()) 46 .filter(authType -> authType.value.equals(normalizedValue)) 47 .findFirst() 48 .orElseThrow(() -> new IllegalArgumentException(String.format("Unknown AuthType '%s'", normalizedValue))); 49 } 50 } 51