
com.pulumi.aws.paymentcryptography.outputs.KeyKeyAttributes Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws Show documentation
Show all versions of aws Show documentation
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.paymentcryptography.outputs;
import com.pulumi.aws.paymentcryptography.outputs.KeyKeyAttributesKeyModesOfUse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class KeyKeyAttributes {
/**
* @return Key algorithm to be use during creation of an AWS Payment Cryptography key.
*
*/
private String keyAlgorithm;
/**
* @return Type of AWS Payment Cryptography key to create.
*
*/
private String keyClass;
/**
* @return List of cryptographic operations that you can perform using the key.
*
*/
private @Nullable KeyKeyAttributesKeyModesOfUse keyModesOfUse;
/**
* @return Cryptographic usage of an AWS Payment Cryptography key as defined in section A.5.2 of the TR-31 spec.
*
*/
private String keyUsage;
private KeyKeyAttributes() {}
/**
* @return Key algorithm to be use during creation of an AWS Payment Cryptography key.
*
*/
public String keyAlgorithm() {
return this.keyAlgorithm;
}
/**
* @return Type of AWS Payment Cryptography key to create.
*
*/
public String keyClass() {
return this.keyClass;
}
/**
* @return List of cryptographic operations that you can perform using the key.
*
*/
public Optional keyModesOfUse() {
return Optional.ofNullable(this.keyModesOfUse);
}
/**
* @return Cryptographic usage of an AWS Payment Cryptography key as defined in section A.5.2 of the TR-31 spec.
*
*/
public String keyUsage() {
return this.keyUsage;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(KeyKeyAttributes defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String keyAlgorithm;
private String keyClass;
private @Nullable KeyKeyAttributesKeyModesOfUse keyModesOfUse;
private String keyUsage;
public Builder() {}
public Builder(KeyKeyAttributes defaults) {
Objects.requireNonNull(defaults);
this.keyAlgorithm = defaults.keyAlgorithm;
this.keyClass = defaults.keyClass;
this.keyModesOfUse = defaults.keyModesOfUse;
this.keyUsage = defaults.keyUsage;
}
@CustomType.Setter
public Builder keyAlgorithm(String keyAlgorithm) {
if (keyAlgorithm == null) {
throw new MissingRequiredPropertyException("KeyKeyAttributes", "keyAlgorithm");
}
this.keyAlgorithm = keyAlgorithm;
return this;
}
@CustomType.Setter
public Builder keyClass(String keyClass) {
if (keyClass == null) {
throw new MissingRequiredPropertyException("KeyKeyAttributes", "keyClass");
}
this.keyClass = keyClass;
return this;
}
@CustomType.Setter
public Builder keyModesOfUse(@Nullable KeyKeyAttributesKeyModesOfUse keyModesOfUse) {
this.keyModesOfUse = keyModesOfUse;
return this;
}
@CustomType.Setter
public Builder keyUsage(String keyUsage) {
if (keyUsage == null) {
throw new MissingRequiredPropertyException("KeyKeyAttributes", "keyUsage");
}
this.keyUsage = keyUsage;
return this;
}
public KeyKeyAttributes build() {
final var _resultValue = new KeyKeyAttributes();
_resultValue.keyAlgorithm = keyAlgorithm;
_resultValue.keyClass = keyClass;
_resultValue.keyModesOfUse = keyModesOfUse;
_resultValue.keyUsage = keyUsage;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy