com.pulumi.azure.keyvault.outputs.CertifiateCertificatePolicyX509CertificateProperties Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** 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.azure.keyvault.outputs;
import com.pulumi.azure.keyvault.outputs.CertifiateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class CertifiateCertificatePolicyX509CertificateProperties {
/**
* @return A list of Extended/Enhanced Key Usages.
*
*/
private @Nullable List extendedKeyUsages;
/**
* @return A list of uses associated with this Key. Possible values include `cRLSign`, `dataEncipherment`, `decipherOnly`, `digitalSignature`, `encipherOnly`, `keyAgreement`, `keyCertSign`, `keyEncipherment` and `nonRepudiation` and are case-sensitive.
*
*/
private List keyUsages;
/**
* @return The Certificate's Subject.
*
*/
private String subject;
/**
* @return A `subject_alternative_names` block as defined below.
*
*/
private @Nullable CertifiateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames subjectAlternativeNames;
/**
* @return The Certificates Validity Period in Months.
*
*/
private Integer validityInMonths;
private CertifiateCertificatePolicyX509CertificateProperties() {}
/**
* @return A list of Extended/Enhanced Key Usages.
*
*/
public List extendedKeyUsages() {
return this.extendedKeyUsages == null ? List.of() : this.extendedKeyUsages;
}
/**
* @return A list of uses associated with this Key. Possible values include `cRLSign`, `dataEncipherment`, `decipherOnly`, `digitalSignature`, `encipherOnly`, `keyAgreement`, `keyCertSign`, `keyEncipherment` and `nonRepudiation` and are case-sensitive.
*
*/
public List keyUsages() {
return this.keyUsages;
}
/**
* @return The Certificate's Subject.
*
*/
public String subject() {
return this.subject;
}
/**
* @return A `subject_alternative_names` block as defined below.
*
*/
public Optional subjectAlternativeNames() {
return Optional.ofNullable(this.subjectAlternativeNames);
}
/**
* @return The Certificates Validity Period in Months.
*
*/
public Integer validityInMonths() {
return this.validityInMonths;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CertifiateCertificatePolicyX509CertificateProperties defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List extendedKeyUsages;
private List keyUsages;
private String subject;
private @Nullable CertifiateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames subjectAlternativeNames;
private Integer validityInMonths;
public Builder() {}
public Builder(CertifiateCertificatePolicyX509CertificateProperties defaults) {
Objects.requireNonNull(defaults);
this.extendedKeyUsages = defaults.extendedKeyUsages;
this.keyUsages = defaults.keyUsages;
this.subject = defaults.subject;
this.subjectAlternativeNames = defaults.subjectAlternativeNames;
this.validityInMonths = defaults.validityInMonths;
}
@CustomType.Setter
public Builder extendedKeyUsages(@Nullable List extendedKeyUsages) {
this.extendedKeyUsages = extendedKeyUsages;
return this;
}
public Builder extendedKeyUsages(String... extendedKeyUsages) {
return extendedKeyUsages(List.of(extendedKeyUsages));
}
@CustomType.Setter
public Builder keyUsages(List keyUsages) {
if (keyUsages == null) {
throw new MissingRequiredPropertyException("CertifiateCertificatePolicyX509CertificateProperties", "keyUsages");
}
this.keyUsages = keyUsages;
return this;
}
public Builder keyUsages(String... keyUsages) {
return keyUsages(List.of(keyUsages));
}
@CustomType.Setter
public Builder subject(String subject) {
if (subject == null) {
throw new MissingRequiredPropertyException("CertifiateCertificatePolicyX509CertificateProperties", "subject");
}
this.subject = subject;
return this;
}
@CustomType.Setter
public Builder subjectAlternativeNames(@Nullable CertifiateCertificatePolicyX509CertificatePropertiesSubjectAlternativeNames subjectAlternativeNames) {
this.subjectAlternativeNames = subjectAlternativeNames;
return this;
}
@CustomType.Setter
public Builder validityInMonths(Integer validityInMonths) {
if (validityInMonths == null) {
throw new MissingRequiredPropertyException("CertifiateCertificatePolicyX509CertificateProperties", "validityInMonths");
}
this.validityInMonths = validityInMonths;
return this;
}
public CertifiateCertificatePolicyX509CertificateProperties build() {
final var _resultValue = new CertifiateCertificatePolicyX509CertificateProperties();
_resultValue.extendedKeyUsages = extendedKeyUsages;
_resultValue.keyUsages = keyUsages;
_resultValue.subject = subject;
_resultValue.subjectAlternativeNames = subjectAlternativeNames;
_resultValue.validityInMonths = validityInMonths;
return _resultValue;
}
}
}