All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.kms.model.KeySpec Maven / Gradle / Ivy

/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.kms.model;

import java.util.EnumSet;
import java.util.Map;
import java.util.Set;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.utils.internal.EnumUtils;

@Generated("software.amazon.awssdk:codegen")
public enum KeySpec {
    RSA_2048("RSA_2048"),

    RSA_3072("RSA_3072"),

    RSA_4096("RSA_4096"),

    ECC_NIST_P256("ECC_NIST_P256"),

    ECC_NIST_P384("ECC_NIST_P384"),

    ECC_NIST_P521("ECC_NIST_P521"),

    ECC_SECG_P256_K1("ECC_SECG_P256K1"),

    SYMMETRIC_DEFAULT("SYMMETRIC_DEFAULT"),

    HMAC_224("HMAC_224"),

    HMAC_256("HMAC_256"),

    HMAC_384("HMAC_384"),

    HMAC_512("HMAC_512"),

    SM2("SM2"),

    UNKNOWN_TO_SDK_VERSION(null);

    private static final Map VALUE_MAP = EnumUtils.uniqueIndex(KeySpec.class, KeySpec::toString);

    private final String value;

    private KeySpec(String value) {
        this.value = value;
    }

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

    /**
     * Use this in place of valueOf to convert the raw string returned by the service into the enum value.
     *
     * @param value
     *        real value
     * @return KeySpec corresponding to the value
     */
    public static KeySpec fromValue(String value) {
        if (value == null) {
            return null;
        }
        return VALUE_MAP.getOrDefault(value, UNKNOWN_TO_SDK_VERSION);
    }

    /**
     * Use this in place of {@link #values()} to return a {@link Set} of all values known to the SDK. This will return
     * all known enum values except {@link #UNKNOWN_TO_SDK_VERSION}.
     *
     * @return a {@link Set} of known {@link KeySpec}s
     */
    public static Set knownValues() {
        Set knownValues = EnumSet.allOf(KeySpec.class);
        knownValues.remove(UNKNOWN_TO_SDK_VERSION);
        return knownValues;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy