com.pulumi.azure.network.outputs.ApplicationGatewaySslCertificate 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.network.outputs;
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 ApplicationGatewaySslCertificate {
/**
* @return The base64-encoded PFX certificate data. Required if `key_vault_secret_id` is not set.
*
* > **NOTE:** When specifying a file, use `data = filebase64("path/to/file")` to encode the contents of that file.
*
*/
private @Nullable String data;
/**
* @return The ID of the Rewrite Rule Set
*
*/
private @Nullable String id;
/**
* @return The Secret ID of (base-64 encoded unencrypted pfx) the `Secret` or `Certificate` object stored in Azure KeyVault. You need to enable soft delete for Key Vault to use this feature. Required if `data` is not set.
*
* > **NOTE:** TLS termination with Key Vault certificates is limited to the [v2 SKUs](https://docs.microsoft.com/azure/application-gateway/key-vault-certs).
*
* > **NOTE:** For TLS termination with Key Vault certificates to work properly existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via `identity` block. Additionally, access policies in the Key Vault to allow the identity to be granted *get* access to the secret should be defined.
*
*/
private @Nullable String keyVaultSecretId;
/**
* @return The Name of the SSL certificate that is unique within this Application Gateway
*
*/
private String name;
/**
* @return Password for the pfx file specified in data. Required if `data` is set.
*
*/
private @Nullable String password;
/**
* @return The Public Certificate Data associated with the SSL Certificate.
*
*/
private @Nullable String publicCertData;
private ApplicationGatewaySslCertificate() {}
/**
* @return The base64-encoded PFX certificate data. Required if `key_vault_secret_id` is not set.
*
* > **NOTE:** When specifying a file, use `data = filebase64("path/to/file")` to encode the contents of that file.
*
*/
public Optional data() {
return Optional.ofNullable(this.data);
}
/**
* @return The ID of the Rewrite Rule Set
*
*/
public Optional id() {
return Optional.ofNullable(this.id);
}
/**
* @return The Secret ID of (base-64 encoded unencrypted pfx) the `Secret` or `Certificate` object stored in Azure KeyVault. You need to enable soft delete for Key Vault to use this feature. Required if `data` is not set.
*
* > **NOTE:** TLS termination with Key Vault certificates is limited to the [v2 SKUs](https://docs.microsoft.com/azure/application-gateway/key-vault-certs).
*
* > **NOTE:** For TLS termination with Key Vault certificates to work properly existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via `identity` block. Additionally, access policies in the Key Vault to allow the identity to be granted *get* access to the secret should be defined.
*
*/
public Optional keyVaultSecretId() {
return Optional.ofNullable(this.keyVaultSecretId);
}
/**
* @return The Name of the SSL certificate that is unique within this Application Gateway
*
*/
public String name() {
return this.name;
}
/**
* @return Password for the pfx file specified in data. Required if `data` is set.
*
*/
public Optional password() {
return Optional.ofNullable(this.password);
}
/**
* @return The Public Certificate Data associated with the SSL Certificate.
*
*/
public Optional publicCertData() {
return Optional.ofNullable(this.publicCertData);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ApplicationGatewaySslCertificate defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String data;
private @Nullable String id;
private @Nullable String keyVaultSecretId;
private String name;
private @Nullable String password;
private @Nullable String publicCertData;
public Builder() {}
public Builder(ApplicationGatewaySslCertificate defaults) {
Objects.requireNonNull(defaults);
this.data = defaults.data;
this.id = defaults.id;
this.keyVaultSecretId = defaults.keyVaultSecretId;
this.name = defaults.name;
this.password = defaults.password;
this.publicCertData = defaults.publicCertData;
}
@CustomType.Setter
public Builder data(@Nullable String data) {
this.data = data;
return this;
}
@CustomType.Setter
public Builder id(@Nullable String id) {
this.id = id;
return this;
}
@CustomType.Setter
public Builder keyVaultSecretId(@Nullable String keyVaultSecretId) {
this.keyVaultSecretId = keyVaultSecretId;
return this;
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("ApplicationGatewaySslCertificate", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder password(@Nullable String password) {
this.password = password;
return this;
}
@CustomType.Setter
public Builder publicCertData(@Nullable String publicCertData) {
this.publicCertData = publicCertData;
return this;
}
public ApplicationGatewaySslCertificate build() {
final var _resultValue = new ApplicationGatewaySslCertificate();
_resultValue.data = data;
_resultValue.id = id;
_resultValue.keyVaultSecretId = keyVaultSecretId;
_resultValue.name = name;
_resultValue.password = password;
_resultValue.publicCertData = publicCertData;
return _resultValue;
}
}
}