Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.vault.pkiSecret.inputs.SecretBackendRoleState Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing HashiCorp Vault 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.vault.pkiSecret.inputs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.vault.pkiSecret.inputs.SecretBackendRolePolicyIdentifierArgs;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class SecretBackendRoleState extends com.pulumi.resources.ResourceArgs {
public static final SecretBackendRoleState Empty = new SecretBackendRoleState();
/**
* Flag to allow any name
*
*/
@Import(name="allowAnyName")
private @Nullable Output allowAnyName;
/**
* @return Flag to allow any name
*
*/
public Optional> allowAnyName() {
return Optional.ofNullable(this.allowAnyName);
}
/**
* Flag to allow certificates matching the actual domain
*
*/
@Import(name="allowBareDomains")
private @Nullable Output allowBareDomains;
/**
* @return Flag to allow certificates matching the actual domain
*
*/
public Optional> allowBareDomains() {
return Optional.ofNullable(this.allowBareDomains);
}
/**
* Flag to allow names containing glob patterns.
*
*/
@Import(name="allowGlobDomains")
private @Nullable Output allowGlobDomains;
/**
* @return Flag to allow names containing glob patterns.
*
*/
public Optional> allowGlobDomains() {
return Optional.ofNullable(this.allowGlobDomains);
}
/**
* Flag to allow IP SANs
*
*/
@Import(name="allowIpSans")
private @Nullable Output allowIpSans;
/**
* @return Flag to allow IP SANs
*
*/
public Optional> allowIpSans() {
return Optional.ofNullable(this.allowIpSans);
}
/**
* Flag to allow certificates for localhost
*
*/
@Import(name="allowLocalhost")
private @Nullable Output allowLocalhost;
/**
* @return Flag to allow certificates for localhost
*
*/
public Optional> allowLocalhost() {
return Optional.ofNullable(this.allowLocalhost);
}
/**
* Flag to allow certificates matching subdomains
*
*/
@Import(name="allowSubdomains")
private @Nullable Output allowSubdomains;
/**
* @return Flag to allow certificates matching subdomains
*
*/
public Optional> allowSubdomains() {
return Optional.ofNullable(this.allowSubdomains);
}
/**
* Flag to allow wildcard certificates.
*
*/
@Import(name="allowWildcardCertificates")
private @Nullable Output allowWildcardCertificates;
/**
* @return Flag to allow wildcard certificates.
*
*/
public Optional> allowWildcardCertificates() {
return Optional.ofNullable(this.allowWildcardCertificates);
}
/**
* List of allowed domains for certificates
*
*/
@Import(name="allowedDomains")
private @Nullable Output> allowedDomains;
/**
* @return List of allowed domains for certificates
*
*/
public Optional>> allowedDomains() {
return Optional.ofNullable(this.allowedDomains);
}
/**
* Flag, if set, `allowed_domains` can be specified using identity template expressions such as `{{identity.entity.aliases.<mount accessor>.name}}`.
*
*/
@Import(name="allowedDomainsTemplate")
private @Nullable Output allowedDomainsTemplate;
/**
* @return Flag, if set, `allowed_domains` can be specified using identity template expressions such as `{{identity.entity.aliases.<mount accessor>.name}}`.
*
*/
public Optional> allowedDomainsTemplate() {
return Optional.ofNullable(this.allowedDomainsTemplate);
}
/**
* Defines allowed custom SANs
*
*/
@Import(name="allowedOtherSans")
private @Nullable Output> allowedOtherSans;
/**
* @return Defines allowed custom SANs
*
*/
public Optional>> allowedOtherSans() {
return Optional.ofNullable(this.allowedOtherSans);
}
/**
* An array of allowed serial numbers to put in Subject
*
*/
@Import(name="allowedSerialNumbers")
private @Nullable Output> allowedSerialNumbers;
/**
* @return An array of allowed serial numbers to put in Subject
*
*/
public Optional>> allowedSerialNumbers() {
return Optional.ofNullable(this.allowedSerialNumbers);
}
/**
* Defines allowed URI SANs
*
*/
@Import(name="allowedUriSans")
private @Nullable Output> allowedUriSans;
/**
* @return Defines allowed URI SANs
*
*/
public Optional>> allowedUriSans() {
return Optional.ofNullable(this.allowedUriSans);
}
/**
* Flag, if set, `allowed_uri_sans` can be specified using identity template expressions such as `{{identity.entity.aliases.<mount accessor>.name}}`.
*
*/
@Import(name="allowedUriSansTemplate")
private @Nullable Output allowedUriSansTemplate;
/**
* @return Flag, if set, `allowed_uri_sans` can be specified using identity template expressions such as `{{identity.entity.aliases.<mount accessor>.name}}`.
*
*/
public Optional> allowedUriSansTemplate() {
return Optional.ofNullable(this.allowedUriSansTemplate);
}
/**
* Defines allowed User IDs
*
*/
@Import(name="allowedUserIds")
private @Nullable Output> allowedUserIds;
/**
* @return Defines allowed User IDs
*
*/
public Optional>> allowedUserIds() {
return Optional.ofNullable(this.allowedUserIds);
}
/**
* The path the PKI secret backend is mounted at, with no leading or trailing `/`s.
*
*/
@Import(name="backend")
private @Nullable Output backend;
/**
* @return The path the PKI secret backend is mounted at, with no leading or trailing `/`s.
*
*/
public Optional> backend() {
return Optional.ofNullable(this.backend);
}
/**
* Flag to mark basic constraints valid when issuing non-CA certificates
*
*/
@Import(name="basicConstraintsValidForNonCa")
private @Nullable Output basicConstraintsValidForNonCa;
/**
* @return Flag to mark basic constraints valid when issuing non-CA certificates
*
*/
public Optional> basicConstraintsValidForNonCa() {
return Optional.ofNullable(this.basicConstraintsValidForNonCa);
}
/**
* Flag to specify certificates for client use
*
*/
@Import(name="clientFlag")
private @Nullable Output clientFlag;
/**
* @return Flag to specify certificates for client use
*
*/
public Optional> clientFlag() {
return Optional.ofNullable(this.clientFlag);
}
/**
* Flag to specify certificates for code signing use
*
*/
@Import(name="codeSigningFlag")
private @Nullable Output codeSigningFlag;
/**
* @return Flag to specify certificates for code signing use
*
*/
public Optional> codeSigningFlag() {
return Optional.ofNullable(this.codeSigningFlag);
}
/**
* The country of generated certificates
*
*/
@Import(name="countries")
private @Nullable Output> countries;
/**
* @return The country of generated certificates
*
*/
public Optional>> countries() {
return Optional.ofNullable(this.countries);
}
/**
* Flag to specify certificates for email protection use
*
*/
@Import(name="emailProtectionFlag")
private @Nullable Output emailProtectionFlag;
/**
* @return Flag to specify certificates for email protection use
*
*/
public Optional> emailProtectionFlag() {
return Optional.ofNullable(this.emailProtectionFlag);
}
/**
* Flag to allow only valid host names
*
*/
@Import(name="enforceHostnames")
private @Nullable Output enforceHostnames;
/**
* @return Flag to allow only valid host names
*
*/
public Optional> enforceHostnames() {
return Optional.ofNullable(this.enforceHostnames);
}
/**
* Specify the allowed extended key usage OIDs constraint on issued certificates
*
*/
@Import(name="extKeyUsageOids")
private @Nullable Output> extKeyUsageOids;
/**
* @return Specify the allowed extended key usage OIDs constraint on issued certificates
*
*/
public Optional>> extKeyUsageOids() {
return Optional.ofNullable(this.extKeyUsageOids);
}
/**
* Specify the allowed extended key usage constraint on issued certificates
*
*/
@Import(name="extKeyUsages")
private @Nullable Output> extKeyUsages;
/**
* @return Specify the allowed extended key usage constraint on issued certificates
*
*/
public Optional>> extKeyUsages() {
return Optional.ofNullable(this.extKeyUsages);
}
/**
* Flag to generate leases with certificates
*
*/
@Import(name="generateLease")
private @Nullable Output generateLease;
/**
* @return Flag to generate leases with certificates
*
*/
public Optional> generateLease() {
return Optional.ofNullable(this.generateLease);
}
/**
* Specifies the default issuer of this request. May
* be the value `default`, a name, or an issuer ID. Use ACLs to prevent access to
* the `/pki/issuer/:issuer_ref/{issue,sign}/:name` paths to prevent users
* overriding the role's `issuer_ref` value.
*
*/
@Import(name="issuerRef")
private @Nullable Output issuerRef;
/**
* @return Specifies the default issuer of this request. May
* be the value `default`, a name, or an issuer ID. Use ACLs to prevent access to
* the `/pki/issuer/:issuer_ref/{issue,sign}/:name` paths to prevent users
* overriding the role's `issuer_ref` value.
*
*/
public Optional> issuerRef() {
return Optional.ofNullable(this.issuerRef);
}
/**
* The number of bits of generated keys
*
*/
@Import(name="keyBits")
private @Nullable Output keyBits;
/**
* @return The number of bits of generated keys
*
*/
public Optional> keyBits() {
return Optional.ofNullable(this.keyBits);
}
/**
* The generated key type, choices: `rsa`, `ec`, `ed25519`, `any`
* Defaults to `rsa`
*
*/
@Import(name="keyType")
private @Nullable Output keyType;
/**
* @return The generated key type, choices: `rsa`, `ec`, `ed25519`, `any`
* Defaults to `rsa`
*
*/
public Optional> keyType() {
return Optional.ofNullable(this.keyType);
}
/**
* Specify the allowed key usage constraint on issued
* certificates. Defaults to `["DigitalSignature", "KeyAgreement", "KeyEncipherment"])`.
* To specify no default key usage constraints, set this to an empty list `[]`.
*
*/
@Import(name="keyUsages")
private @Nullable Output> keyUsages;
/**
* @return Specify the allowed key usage constraint on issued
* certificates. Defaults to `["DigitalSignature", "KeyAgreement", "KeyEncipherment"])`.
* To specify no default key usage constraints, set this to an empty list `[]`.
*
*/
public Optional>> keyUsages() {
return Optional.ofNullable(this.keyUsages);
}
/**
* The locality of generated certificates
*
*/
@Import(name="localities")
private @Nullable Output> localities;
/**
* @return The locality of generated certificates
*
*/
public Optional>> localities() {
return Optional.ofNullable(this.localities);
}
/**
* The maximum lease TTL, in seconds, for the role.
*
*/
@Import(name="maxTtl")
private @Nullable Output maxTtl;
/**
* @return The maximum lease TTL, in seconds, for the role.
*
*/
public Optional> maxTtl() {
return Optional.ofNullable(this.maxTtl);
}
/**
* The name to identify this role within the backend. Must be unique within the backend.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name to identify this role within the backend. Must be unique within the backend.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* The namespace to provision the resource in.
* The value should not contain leading or trailing forward slashes.
* The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
* *Available only for Vault Enterprise*.
*
*/
@Import(name="namespace")
private @Nullable Output namespace;
/**
* @return The namespace to provision the resource in.
* The value should not contain leading or trailing forward slashes.
* The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
* *Available only for Vault Enterprise*.
*
*/
public Optional> namespace() {
return Optional.ofNullable(this.namespace);
}
/**
* Flag to not store certificates in the storage backend
*
*/
@Import(name="noStore")
private @Nullable Output noStore;
/**
* @return Flag to not store certificates in the storage backend
*
*/
public Optional> noStore() {
return Optional.ofNullable(this.noStore);
}
/**
* Specifies the duration by which to backdate the NotBefore property.
*
*/
@Import(name="notBeforeDuration")
private @Nullable Output notBeforeDuration;
/**
* @return Specifies the duration by which to backdate the NotBefore property.
*
*/
public Optional> notBeforeDuration() {
return Optional.ofNullable(this.notBeforeDuration);
}
/**
* The organization unit of generated certificates
*
*/
@Import(name="organizationUnit")
private @Nullable Output> organizationUnit;
/**
* @return The organization unit of generated certificates
*
*/
public Optional>> organizationUnit() {
return Optional.ofNullable(this.organizationUnit);
}
/**
* The organization of generated certificates
*
*/
@Import(name="organizations")
private @Nullable Output> organizations;
/**
* @return The organization of generated certificates
*
*/
public Optional>> organizations() {
return Optional.ofNullable(this.organizations);
}
/**
* (Vault 1.11+ only) A block for specifying policy identifers. The `policy_identifier` block can be repeated, and supports the following arguments:
*
*/
@Import(name="policyIdentifier")
private @Nullable Output> policyIdentifier;
/**
* @return (Vault 1.11+ only) A block for specifying policy identifers. The `policy_identifier` block can be repeated, and supports the following arguments:
*
*/
public Optional>> policyIdentifier() {
return Optional.ofNullable(this.policyIdentifier);
}
/**
* Specify the list of allowed policies OIDs. Use with Vault 1.10 or before. For Vault 1.11+, use `policy_identifier` blocks instead
*
*/
@Import(name="policyIdentifiers")
private @Nullable Output> policyIdentifiers;
/**
* @return Specify the list of allowed policies OIDs. Use with Vault 1.10 or before. For Vault 1.11+, use `policy_identifier` blocks instead
*
*/
public Optional>> policyIdentifiers() {
return Optional.ofNullable(this.policyIdentifiers);
}
/**
* The postal code of generated certificates
*
*/
@Import(name="postalCodes")
private @Nullable Output> postalCodes;
/**
* @return The postal code of generated certificates
*
*/
public Optional>> postalCodes() {
return Optional.ofNullable(this.postalCodes);
}
/**
* The province of generated certificates
*
*/
@Import(name="provinces")
private @Nullable Output> provinces;
/**
* @return The province of generated certificates
*
*/
public Optional>> provinces() {
return Optional.ofNullable(this.provinces);
}
/**
* Flag to force CN usage
*
*/
@Import(name="requireCn")
private @Nullable Output requireCn;
/**
* @return Flag to force CN usage
*
*/
public Optional> requireCn() {
return Optional.ofNullable(this.requireCn);
}
/**
* Flag to specify certificates for server use
*
*/
@Import(name="serverFlag")
private @Nullable Output serverFlag;
/**
* @return Flag to specify certificates for server use
*
*/
public Optional> serverFlag() {
return Optional.ofNullable(this.serverFlag);
}
/**
* The street address of generated certificates
*
*/
@Import(name="streetAddresses")
private @Nullable Output> streetAddresses;
/**
* @return The street address of generated certificates
*
*/
public Optional>> streetAddresses() {
return Optional.ofNullable(this.streetAddresses);
}
/**
* The TTL, in seconds, for any certificate issued against this role.
*
*/
@Import(name="ttl")
private @Nullable Output ttl;
/**
* @return The TTL, in seconds, for any certificate issued against this role.
*
*/
public Optional> ttl() {
return Optional.ofNullable(this.ttl);
}
/**
* Flag to use the CN in the CSR
*
*/
@Import(name="useCsrCommonName")
private @Nullable Output useCsrCommonName;
/**
* @return Flag to use the CN in the CSR
*
*/
public Optional> useCsrCommonName() {
return Optional.ofNullable(this.useCsrCommonName);
}
/**
* Flag to use the SANs in the CSR
*
*/
@Import(name="useCsrSans")
private @Nullable Output useCsrSans;
/**
* @return Flag to use the SANs in the CSR
*
*/
public Optional> useCsrSans() {
return Optional.ofNullable(this.useCsrSans);
}
private SecretBackendRoleState() {}
private SecretBackendRoleState(SecretBackendRoleState $) {
this.allowAnyName = $.allowAnyName;
this.allowBareDomains = $.allowBareDomains;
this.allowGlobDomains = $.allowGlobDomains;
this.allowIpSans = $.allowIpSans;
this.allowLocalhost = $.allowLocalhost;
this.allowSubdomains = $.allowSubdomains;
this.allowWildcardCertificates = $.allowWildcardCertificates;
this.allowedDomains = $.allowedDomains;
this.allowedDomainsTemplate = $.allowedDomainsTemplate;
this.allowedOtherSans = $.allowedOtherSans;
this.allowedSerialNumbers = $.allowedSerialNumbers;
this.allowedUriSans = $.allowedUriSans;
this.allowedUriSansTemplate = $.allowedUriSansTemplate;
this.allowedUserIds = $.allowedUserIds;
this.backend = $.backend;
this.basicConstraintsValidForNonCa = $.basicConstraintsValidForNonCa;
this.clientFlag = $.clientFlag;
this.codeSigningFlag = $.codeSigningFlag;
this.countries = $.countries;
this.emailProtectionFlag = $.emailProtectionFlag;
this.enforceHostnames = $.enforceHostnames;
this.extKeyUsageOids = $.extKeyUsageOids;
this.extKeyUsages = $.extKeyUsages;
this.generateLease = $.generateLease;
this.issuerRef = $.issuerRef;
this.keyBits = $.keyBits;
this.keyType = $.keyType;
this.keyUsages = $.keyUsages;
this.localities = $.localities;
this.maxTtl = $.maxTtl;
this.name = $.name;
this.namespace = $.namespace;
this.noStore = $.noStore;
this.notBeforeDuration = $.notBeforeDuration;
this.organizationUnit = $.organizationUnit;
this.organizations = $.organizations;
this.policyIdentifier = $.policyIdentifier;
this.policyIdentifiers = $.policyIdentifiers;
this.postalCodes = $.postalCodes;
this.provinces = $.provinces;
this.requireCn = $.requireCn;
this.serverFlag = $.serverFlag;
this.streetAddresses = $.streetAddresses;
this.ttl = $.ttl;
this.useCsrCommonName = $.useCsrCommonName;
this.useCsrSans = $.useCsrSans;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(SecretBackendRoleState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private SecretBackendRoleState $;
public Builder() {
$ = new SecretBackendRoleState();
}
public Builder(SecretBackendRoleState defaults) {
$ = new SecretBackendRoleState(Objects.requireNonNull(defaults));
}
/**
* @param allowAnyName Flag to allow any name
*
* @return builder
*
*/
public Builder allowAnyName(@Nullable Output allowAnyName) {
$.allowAnyName = allowAnyName;
return this;
}
/**
* @param allowAnyName Flag to allow any name
*
* @return builder
*
*/
public Builder allowAnyName(Boolean allowAnyName) {
return allowAnyName(Output.of(allowAnyName));
}
/**
* @param allowBareDomains Flag to allow certificates matching the actual domain
*
* @return builder
*
*/
public Builder allowBareDomains(@Nullable Output allowBareDomains) {
$.allowBareDomains = allowBareDomains;
return this;
}
/**
* @param allowBareDomains Flag to allow certificates matching the actual domain
*
* @return builder
*
*/
public Builder allowBareDomains(Boolean allowBareDomains) {
return allowBareDomains(Output.of(allowBareDomains));
}
/**
* @param allowGlobDomains Flag to allow names containing glob patterns.
*
* @return builder
*
*/
public Builder allowGlobDomains(@Nullable Output allowGlobDomains) {
$.allowGlobDomains = allowGlobDomains;
return this;
}
/**
* @param allowGlobDomains Flag to allow names containing glob patterns.
*
* @return builder
*
*/
public Builder allowGlobDomains(Boolean allowGlobDomains) {
return allowGlobDomains(Output.of(allowGlobDomains));
}
/**
* @param allowIpSans Flag to allow IP SANs
*
* @return builder
*
*/
public Builder allowIpSans(@Nullable Output allowIpSans) {
$.allowIpSans = allowIpSans;
return this;
}
/**
* @param allowIpSans Flag to allow IP SANs
*
* @return builder
*
*/
public Builder allowIpSans(Boolean allowIpSans) {
return allowIpSans(Output.of(allowIpSans));
}
/**
* @param allowLocalhost Flag to allow certificates for localhost
*
* @return builder
*
*/
public Builder allowLocalhost(@Nullable Output allowLocalhost) {
$.allowLocalhost = allowLocalhost;
return this;
}
/**
* @param allowLocalhost Flag to allow certificates for localhost
*
* @return builder
*
*/
public Builder allowLocalhost(Boolean allowLocalhost) {
return allowLocalhost(Output.of(allowLocalhost));
}
/**
* @param allowSubdomains Flag to allow certificates matching subdomains
*
* @return builder
*
*/
public Builder allowSubdomains(@Nullable Output allowSubdomains) {
$.allowSubdomains = allowSubdomains;
return this;
}
/**
* @param allowSubdomains Flag to allow certificates matching subdomains
*
* @return builder
*
*/
public Builder allowSubdomains(Boolean allowSubdomains) {
return allowSubdomains(Output.of(allowSubdomains));
}
/**
* @param allowWildcardCertificates Flag to allow wildcard certificates.
*
* @return builder
*
*/
public Builder allowWildcardCertificates(@Nullable Output allowWildcardCertificates) {
$.allowWildcardCertificates = allowWildcardCertificates;
return this;
}
/**
* @param allowWildcardCertificates Flag to allow wildcard certificates.
*
* @return builder
*
*/
public Builder allowWildcardCertificates(Boolean allowWildcardCertificates) {
return allowWildcardCertificates(Output.of(allowWildcardCertificates));
}
/**
* @param allowedDomains List of allowed domains for certificates
*
* @return builder
*
*/
public Builder allowedDomains(@Nullable Output> allowedDomains) {
$.allowedDomains = allowedDomains;
return this;
}
/**
* @param allowedDomains List of allowed domains for certificates
*
* @return builder
*
*/
public Builder allowedDomains(List allowedDomains) {
return allowedDomains(Output.of(allowedDomains));
}
/**
* @param allowedDomains List of allowed domains for certificates
*
* @return builder
*
*/
public Builder allowedDomains(String... allowedDomains) {
return allowedDomains(List.of(allowedDomains));
}
/**
* @param allowedDomainsTemplate Flag, if set, `allowed_domains` can be specified using identity template expressions such as `{{identity.entity.aliases.<mount accessor>.name}}`.
*
* @return builder
*
*/
public Builder allowedDomainsTemplate(@Nullable Output allowedDomainsTemplate) {
$.allowedDomainsTemplate = allowedDomainsTemplate;
return this;
}
/**
* @param allowedDomainsTemplate Flag, if set, `allowed_domains` can be specified using identity template expressions such as `{{identity.entity.aliases.<mount accessor>.name}}`.
*
* @return builder
*
*/
public Builder allowedDomainsTemplate(Boolean allowedDomainsTemplate) {
return allowedDomainsTemplate(Output.of(allowedDomainsTemplate));
}
/**
* @param allowedOtherSans Defines allowed custom SANs
*
* @return builder
*
*/
public Builder allowedOtherSans(@Nullable Output> allowedOtherSans) {
$.allowedOtherSans = allowedOtherSans;
return this;
}
/**
* @param allowedOtherSans Defines allowed custom SANs
*
* @return builder
*
*/
public Builder allowedOtherSans(List allowedOtherSans) {
return allowedOtherSans(Output.of(allowedOtherSans));
}
/**
* @param allowedOtherSans Defines allowed custom SANs
*
* @return builder
*
*/
public Builder allowedOtherSans(String... allowedOtherSans) {
return allowedOtherSans(List.of(allowedOtherSans));
}
/**
* @param allowedSerialNumbers An array of allowed serial numbers to put in Subject
*
* @return builder
*
*/
public Builder allowedSerialNumbers(@Nullable Output> allowedSerialNumbers) {
$.allowedSerialNumbers = allowedSerialNumbers;
return this;
}
/**
* @param allowedSerialNumbers An array of allowed serial numbers to put in Subject
*
* @return builder
*
*/
public Builder allowedSerialNumbers(List allowedSerialNumbers) {
return allowedSerialNumbers(Output.of(allowedSerialNumbers));
}
/**
* @param allowedSerialNumbers An array of allowed serial numbers to put in Subject
*
* @return builder
*
*/
public Builder allowedSerialNumbers(String... allowedSerialNumbers) {
return allowedSerialNumbers(List.of(allowedSerialNumbers));
}
/**
* @param allowedUriSans Defines allowed URI SANs
*
* @return builder
*
*/
public Builder allowedUriSans(@Nullable Output> allowedUriSans) {
$.allowedUriSans = allowedUriSans;
return this;
}
/**
* @param allowedUriSans Defines allowed URI SANs
*
* @return builder
*
*/
public Builder allowedUriSans(List allowedUriSans) {
return allowedUriSans(Output.of(allowedUriSans));
}
/**
* @param allowedUriSans Defines allowed URI SANs
*
* @return builder
*
*/
public Builder allowedUriSans(String... allowedUriSans) {
return allowedUriSans(List.of(allowedUriSans));
}
/**
* @param allowedUriSansTemplate Flag, if set, `allowed_uri_sans` can be specified using identity template expressions such as `{{identity.entity.aliases.<mount accessor>.name}}`.
*
* @return builder
*
*/
public Builder allowedUriSansTemplate(@Nullable Output allowedUriSansTemplate) {
$.allowedUriSansTemplate = allowedUriSansTemplate;
return this;
}
/**
* @param allowedUriSansTemplate Flag, if set, `allowed_uri_sans` can be specified using identity template expressions such as `{{identity.entity.aliases.<mount accessor>.name}}`.
*
* @return builder
*
*/
public Builder allowedUriSansTemplate(Boolean allowedUriSansTemplate) {
return allowedUriSansTemplate(Output.of(allowedUriSansTemplate));
}
/**
* @param allowedUserIds Defines allowed User IDs
*
* @return builder
*
*/
public Builder allowedUserIds(@Nullable Output> allowedUserIds) {
$.allowedUserIds = allowedUserIds;
return this;
}
/**
* @param allowedUserIds Defines allowed User IDs
*
* @return builder
*
*/
public Builder allowedUserIds(List allowedUserIds) {
return allowedUserIds(Output.of(allowedUserIds));
}
/**
* @param allowedUserIds Defines allowed User IDs
*
* @return builder
*
*/
public Builder allowedUserIds(String... allowedUserIds) {
return allowedUserIds(List.of(allowedUserIds));
}
/**
* @param backend The path the PKI secret backend is mounted at, with no leading or trailing `/`s.
*
* @return builder
*
*/
public Builder backend(@Nullable Output backend) {
$.backend = backend;
return this;
}
/**
* @param backend The path the PKI secret backend is mounted at, with no leading or trailing `/`s.
*
* @return builder
*
*/
public Builder backend(String backend) {
return backend(Output.of(backend));
}
/**
* @param basicConstraintsValidForNonCa Flag to mark basic constraints valid when issuing non-CA certificates
*
* @return builder
*
*/
public Builder basicConstraintsValidForNonCa(@Nullable Output basicConstraintsValidForNonCa) {
$.basicConstraintsValidForNonCa = basicConstraintsValidForNonCa;
return this;
}
/**
* @param basicConstraintsValidForNonCa Flag to mark basic constraints valid when issuing non-CA certificates
*
* @return builder
*
*/
public Builder basicConstraintsValidForNonCa(Boolean basicConstraintsValidForNonCa) {
return basicConstraintsValidForNonCa(Output.of(basicConstraintsValidForNonCa));
}
/**
* @param clientFlag Flag to specify certificates for client use
*
* @return builder
*
*/
public Builder clientFlag(@Nullable Output clientFlag) {
$.clientFlag = clientFlag;
return this;
}
/**
* @param clientFlag Flag to specify certificates for client use
*
* @return builder
*
*/
public Builder clientFlag(Boolean clientFlag) {
return clientFlag(Output.of(clientFlag));
}
/**
* @param codeSigningFlag Flag to specify certificates for code signing use
*
* @return builder
*
*/
public Builder codeSigningFlag(@Nullable Output codeSigningFlag) {
$.codeSigningFlag = codeSigningFlag;
return this;
}
/**
* @param codeSigningFlag Flag to specify certificates for code signing use
*
* @return builder
*
*/
public Builder codeSigningFlag(Boolean codeSigningFlag) {
return codeSigningFlag(Output.of(codeSigningFlag));
}
/**
* @param countries The country of generated certificates
*
* @return builder
*
*/
public Builder countries(@Nullable Output> countries) {
$.countries = countries;
return this;
}
/**
* @param countries The country of generated certificates
*
* @return builder
*
*/
public Builder countries(List countries) {
return countries(Output.of(countries));
}
/**
* @param countries The country of generated certificates
*
* @return builder
*
*/
public Builder countries(String... countries) {
return countries(List.of(countries));
}
/**
* @param emailProtectionFlag Flag to specify certificates for email protection use
*
* @return builder
*
*/
public Builder emailProtectionFlag(@Nullable Output emailProtectionFlag) {
$.emailProtectionFlag = emailProtectionFlag;
return this;
}
/**
* @param emailProtectionFlag Flag to specify certificates for email protection use
*
* @return builder
*
*/
public Builder emailProtectionFlag(Boolean emailProtectionFlag) {
return emailProtectionFlag(Output.of(emailProtectionFlag));
}
/**
* @param enforceHostnames Flag to allow only valid host names
*
* @return builder
*
*/
public Builder enforceHostnames(@Nullable Output enforceHostnames) {
$.enforceHostnames = enforceHostnames;
return this;
}
/**
* @param enforceHostnames Flag to allow only valid host names
*
* @return builder
*
*/
public Builder enforceHostnames(Boolean enforceHostnames) {
return enforceHostnames(Output.of(enforceHostnames));
}
/**
* @param extKeyUsageOids Specify the allowed extended key usage OIDs constraint on issued certificates
*
* @return builder
*
*/
public Builder extKeyUsageOids(@Nullable Output> extKeyUsageOids) {
$.extKeyUsageOids = extKeyUsageOids;
return this;
}
/**
* @param extKeyUsageOids Specify the allowed extended key usage OIDs constraint on issued certificates
*
* @return builder
*
*/
public Builder extKeyUsageOids(List extKeyUsageOids) {
return extKeyUsageOids(Output.of(extKeyUsageOids));
}
/**
* @param extKeyUsageOids Specify the allowed extended key usage OIDs constraint on issued certificates
*
* @return builder
*
*/
public Builder extKeyUsageOids(String... extKeyUsageOids) {
return extKeyUsageOids(List.of(extKeyUsageOids));
}
/**
* @param extKeyUsages Specify the allowed extended key usage constraint on issued certificates
*
* @return builder
*
*/
public Builder extKeyUsages(@Nullable Output> extKeyUsages) {
$.extKeyUsages = extKeyUsages;
return this;
}
/**
* @param extKeyUsages Specify the allowed extended key usage constraint on issued certificates
*
* @return builder
*
*/
public Builder extKeyUsages(List extKeyUsages) {
return extKeyUsages(Output.of(extKeyUsages));
}
/**
* @param extKeyUsages Specify the allowed extended key usage constraint on issued certificates
*
* @return builder
*
*/
public Builder extKeyUsages(String... extKeyUsages) {
return extKeyUsages(List.of(extKeyUsages));
}
/**
* @param generateLease Flag to generate leases with certificates
*
* @return builder
*
*/
public Builder generateLease(@Nullable Output generateLease) {
$.generateLease = generateLease;
return this;
}
/**
* @param generateLease Flag to generate leases with certificates
*
* @return builder
*
*/
public Builder generateLease(Boolean generateLease) {
return generateLease(Output.of(generateLease));
}
/**
* @param issuerRef Specifies the default issuer of this request. May
* be the value `default`, a name, or an issuer ID. Use ACLs to prevent access to
* the `/pki/issuer/:issuer_ref/{issue,sign}/:name` paths to prevent users
* overriding the role's `issuer_ref` value.
*
* @return builder
*
*/
public Builder issuerRef(@Nullable Output issuerRef) {
$.issuerRef = issuerRef;
return this;
}
/**
* @param issuerRef Specifies the default issuer of this request. May
* be the value `default`, a name, or an issuer ID. Use ACLs to prevent access to
* the `/pki/issuer/:issuer_ref/{issue,sign}/:name` paths to prevent users
* overriding the role's `issuer_ref` value.
*
* @return builder
*
*/
public Builder issuerRef(String issuerRef) {
return issuerRef(Output.of(issuerRef));
}
/**
* @param keyBits The number of bits of generated keys
*
* @return builder
*
*/
public Builder keyBits(@Nullable Output keyBits) {
$.keyBits = keyBits;
return this;
}
/**
* @param keyBits The number of bits of generated keys
*
* @return builder
*
*/
public Builder keyBits(Integer keyBits) {
return keyBits(Output.of(keyBits));
}
/**
* @param keyType The generated key type, choices: `rsa`, `ec`, `ed25519`, `any`
* Defaults to `rsa`
*
* @return builder
*
*/
public Builder keyType(@Nullable Output keyType) {
$.keyType = keyType;
return this;
}
/**
* @param keyType The generated key type, choices: `rsa`, `ec`, `ed25519`, `any`
* Defaults to `rsa`
*
* @return builder
*
*/
public Builder keyType(String keyType) {
return keyType(Output.of(keyType));
}
/**
* @param keyUsages Specify the allowed key usage constraint on issued
* certificates. Defaults to `["DigitalSignature", "KeyAgreement", "KeyEncipherment"])`.
* To specify no default key usage constraints, set this to an empty list `[]`.
*
* @return builder
*
*/
public Builder keyUsages(@Nullable Output> keyUsages) {
$.keyUsages = keyUsages;
return this;
}
/**
* @param keyUsages Specify the allowed key usage constraint on issued
* certificates. Defaults to `["DigitalSignature", "KeyAgreement", "KeyEncipherment"])`.
* To specify no default key usage constraints, set this to an empty list `[]`.
*
* @return builder
*
*/
public Builder keyUsages(List keyUsages) {
return keyUsages(Output.of(keyUsages));
}
/**
* @param keyUsages Specify the allowed key usage constraint on issued
* certificates. Defaults to `["DigitalSignature", "KeyAgreement", "KeyEncipherment"])`.
* To specify no default key usage constraints, set this to an empty list `[]`.
*
* @return builder
*
*/
public Builder keyUsages(String... keyUsages) {
return keyUsages(List.of(keyUsages));
}
/**
* @param localities The locality of generated certificates
*
* @return builder
*
*/
public Builder localities(@Nullable Output> localities) {
$.localities = localities;
return this;
}
/**
* @param localities The locality of generated certificates
*
* @return builder
*
*/
public Builder localities(List localities) {
return localities(Output.of(localities));
}
/**
* @param localities The locality of generated certificates
*
* @return builder
*
*/
public Builder localities(String... localities) {
return localities(List.of(localities));
}
/**
* @param maxTtl The maximum lease TTL, in seconds, for the role.
*
* @return builder
*
*/
public Builder maxTtl(@Nullable Output maxTtl) {
$.maxTtl = maxTtl;
return this;
}
/**
* @param maxTtl The maximum lease TTL, in seconds, for the role.
*
* @return builder
*
*/
public Builder maxTtl(String maxTtl) {
return maxTtl(Output.of(maxTtl));
}
/**
* @param name The name to identify this role within the backend. Must be unique within the backend.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name to identify this role within the backend. Must be unique within the backend.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param namespace The namespace to provision the resource in.
* The value should not contain leading or trailing forward slashes.
* The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
* *Available only for Vault Enterprise*.
*
* @return builder
*
*/
public Builder namespace(@Nullable Output namespace) {
$.namespace = namespace;
return this;
}
/**
* @param namespace The namespace to provision the resource in.
* The value should not contain leading or trailing forward slashes.
* The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
* *Available only for Vault Enterprise*.
*
* @return builder
*
*/
public Builder namespace(String namespace) {
return namespace(Output.of(namespace));
}
/**
* @param noStore Flag to not store certificates in the storage backend
*
* @return builder
*
*/
public Builder noStore(@Nullable Output noStore) {
$.noStore = noStore;
return this;
}
/**
* @param noStore Flag to not store certificates in the storage backend
*
* @return builder
*
*/
public Builder noStore(Boolean noStore) {
return noStore(Output.of(noStore));
}
/**
* @param notBeforeDuration Specifies the duration by which to backdate the NotBefore property.
*
* @return builder
*
*/
public Builder notBeforeDuration(@Nullable Output notBeforeDuration) {
$.notBeforeDuration = notBeforeDuration;
return this;
}
/**
* @param notBeforeDuration Specifies the duration by which to backdate the NotBefore property.
*
* @return builder
*
*/
public Builder notBeforeDuration(String notBeforeDuration) {
return notBeforeDuration(Output.of(notBeforeDuration));
}
/**
* @param organizationUnit The organization unit of generated certificates
*
* @return builder
*
*/
public Builder organizationUnit(@Nullable Output> organizationUnit) {
$.organizationUnit = organizationUnit;
return this;
}
/**
* @param organizationUnit The organization unit of generated certificates
*
* @return builder
*
*/
public Builder organizationUnit(List organizationUnit) {
return organizationUnit(Output.of(organizationUnit));
}
/**
* @param organizationUnit The organization unit of generated certificates
*
* @return builder
*
*/
public Builder organizationUnit(String... organizationUnit) {
return organizationUnit(List.of(organizationUnit));
}
/**
* @param organizations The organization of generated certificates
*
* @return builder
*
*/
public Builder organizations(@Nullable Output> organizations) {
$.organizations = organizations;
return this;
}
/**
* @param organizations The organization of generated certificates
*
* @return builder
*
*/
public Builder organizations(List organizations) {
return organizations(Output.of(organizations));
}
/**
* @param organizations The organization of generated certificates
*
* @return builder
*
*/
public Builder organizations(String... organizations) {
return organizations(List.of(organizations));
}
/**
* @param policyIdentifier (Vault 1.11+ only) A block for specifying policy identifers. The `policy_identifier` block can be repeated, and supports the following arguments:
*
* @return builder
*
*/
public Builder policyIdentifier(@Nullable Output> policyIdentifier) {
$.policyIdentifier = policyIdentifier;
return this;
}
/**
* @param policyIdentifier (Vault 1.11+ only) A block for specifying policy identifers. The `policy_identifier` block can be repeated, and supports the following arguments:
*
* @return builder
*
*/
public Builder policyIdentifier(List policyIdentifier) {
return policyIdentifier(Output.of(policyIdentifier));
}
/**
* @param policyIdentifier (Vault 1.11+ only) A block for specifying policy identifers. The `policy_identifier` block can be repeated, and supports the following arguments:
*
* @return builder
*
*/
public Builder policyIdentifier(SecretBackendRolePolicyIdentifierArgs... policyIdentifier) {
return policyIdentifier(List.of(policyIdentifier));
}
/**
* @param policyIdentifiers Specify the list of allowed policies OIDs. Use with Vault 1.10 or before. For Vault 1.11+, use `policy_identifier` blocks instead
*
* @return builder
*
*/
public Builder policyIdentifiers(@Nullable Output> policyIdentifiers) {
$.policyIdentifiers = policyIdentifiers;
return this;
}
/**
* @param policyIdentifiers Specify the list of allowed policies OIDs. Use with Vault 1.10 or before. For Vault 1.11+, use `policy_identifier` blocks instead
*
* @return builder
*
*/
public Builder policyIdentifiers(List policyIdentifiers) {
return policyIdentifiers(Output.of(policyIdentifiers));
}
/**
* @param policyIdentifiers Specify the list of allowed policies OIDs. Use with Vault 1.10 or before. For Vault 1.11+, use `policy_identifier` blocks instead
*
* @return builder
*
*/
public Builder policyIdentifiers(String... policyIdentifiers) {
return policyIdentifiers(List.of(policyIdentifiers));
}
/**
* @param postalCodes The postal code of generated certificates
*
* @return builder
*
*/
public Builder postalCodes(@Nullable Output> postalCodes) {
$.postalCodes = postalCodes;
return this;
}
/**
* @param postalCodes The postal code of generated certificates
*
* @return builder
*
*/
public Builder postalCodes(List postalCodes) {
return postalCodes(Output.of(postalCodes));
}
/**
* @param postalCodes The postal code of generated certificates
*
* @return builder
*
*/
public Builder postalCodes(String... postalCodes) {
return postalCodes(List.of(postalCodes));
}
/**
* @param provinces The province of generated certificates
*
* @return builder
*
*/
public Builder provinces(@Nullable Output> provinces) {
$.provinces = provinces;
return this;
}
/**
* @param provinces The province of generated certificates
*
* @return builder
*
*/
public Builder provinces(List provinces) {
return provinces(Output.of(provinces));
}
/**
* @param provinces The province of generated certificates
*
* @return builder
*
*/
public Builder provinces(String... provinces) {
return provinces(List.of(provinces));
}
/**
* @param requireCn Flag to force CN usage
*
* @return builder
*
*/
public Builder requireCn(@Nullable Output requireCn) {
$.requireCn = requireCn;
return this;
}
/**
* @param requireCn Flag to force CN usage
*
* @return builder
*
*/
public Builder requireCn(Boolean requireCn) {
return requireCn(Output.of(requireCn));
}
/**
* @param serverFlag Flag to specify certificates for server use
*
* @return builder
*
*/
public Builder serverFlag(@Nullable Output serverFlag) {
$.serverFlag = serverFlag;
return this;
}
/**
* @param serverFlag Flag to specify certificates for server use
*
* @return builder
*
*/
public Builder serverFlag(Boolean serverFlag) {
return serverFlag(Output.of(serverFlag));
}
/**
* @param streetAddresses The street address of generated certificates
*
* @return builder
*
*/
public Builder streetAddresses(@Nullable Output> streetAddresses) {
$.streetAddresses = streetAddresses;
return this;
}
/**
* @param streetAddresses The street address of generated certificates
*
* @return builder
*
*/
public Builder streetAddresses(List streetAddresses) {
return streetAddresses(Output.of(streetAddresses));
}
/**
* @param streetAddresses The street address of generated certificates
*
* @return builder
*
*/
public Builder streetAddresses(String... streetAddresses) {
return streetAddresses(List.of(streetAddresses));
}
/**
* @param ttl The TTL, in seconds, for any certificate issued against this role.
*
* @return builder
*
*/
public Builder ttl(@Nullable Output ttl) {
$.ttl = ttl;
return this;
}
/**
* @param ttl The TTL, in seconds, for any certificate issued against this role.
*
* @return builder
*
*/
public Builder ttl(String ttl) {
return ttl(Output.of(ttl));
}
/**
* @param useCsrCommonName Flag to use the CN in the CSR
*
* @return builder
*
*/
public Builder useCsrCommonName(@Nullable Output useCsrCommonName) {
$.useCsrCommonName = useCsrCommonName;
return this;
}
/**
* @param useCsrCommonName Flag to use the CN in the CSR
*
* @return builder
*
*/
public Builder useCsrCommonName(Boolean useCsrCommonName) {
return useCsrCommonName(Output.of(useCsrCommonName));
}
/**
* @param useCsrSans Flag to use the SANs in the CSR
*
* @return builder
*
*/
public Builder useCsrSans(@Nullable Output useCsrSans) {
$.useCsrSans = useCsrSans;
return this;
}
/**
* @param useCsrSans Flag to use the SANs in the CSR
*
* @return builder
*
*/
public Builder useCsrSans(Boolean useCsrSans) {
return useCsrSans(Output.of(useCsrSans));
}
public SecretBackendRoleState build() {
return $;
}
}
}