com.pulumi.azure.network.outputs.VpnServerConfigurationIpsecPolicy 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.Integer;
import java.lang.String;
import java.util.Objects;
@CustomType
public final class VpnServerConfigurationIpsecPolicy {
/**
* @return The DH Group, used in IKE Phase 1. Possible values include `DHGroup1`, `DHGroup2`, `DHGroup14`, `DHGroup24`, `DHGroup2048`, `ECP256`, `ECP384` and `None`.
*
*/
private String dhGroup;
/**
* @return The IKE encryption algorithm, used for IKE Phase 2. Possible values include `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128` and `GCMAES256`.
*
*/
private String ikeEncryption;
/**
* @return The IKE encryption integrity algorithm, used for IKE Phase 2. Possible values include `GCMAES128`, `GCMAES256`, `MD5`, `SHA1`, `SHA256` and `SHA384`.
*
*/
private String ikeIntegrity;
/**
* @return The IPSec encryption algorithm, used for IKE phase 1. Possible values include `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256` and `None`.
*
*/
private String ipsecEncryption;
/**
* @return The IPSec integrity algorithm, used for IKE phase 1. Possible values include `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1` and `SHA256`.
*
*/
private String ipsecIntegrity;
/**
* @return The Pfs Group, used in IKE Phase 2. Possible values include `ECP256`, `ECP384`, `PFS1`, `PFS2`, `PFS14`, `PFS24`, `PFS2048`, `PFSMM` and `None`.
*
*/
private String pfsGroup;
/**
* @return The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel.
*
*/
private Integer saDataSizeKilobytes;
/**
* @return The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel.
*
*/
private Integer saLifetimeSeconds;
private VpnServerConfigurationIpsecPolicy() {}
/**
* @return The DH Group, used in IKE Phase 1. Possible values include `DHGroup1`, `DHGroup2`, `DHGroup14`, `DHGroup24`, `DHGroup2048`, `ECP256`, `ECP384` and `None`.
*
*/
public String dhGroup() {
return this.dhGroup;
}
/**
* @return The IKE encryption algorithm, used for IKE Phase 2. Possible values include `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128` and `GCMAES256`.
*
*/
public String ikeEncryption() {
return this.ikeEncryption;
}
/**
* @return The IKE encryption integrity algorithm, used for IKE Phase 2. Possible values include `GCMAES128`, `GCMAES256`, `MD5`, `SHA1`, `SHA256` and `SHA384`.
*
*/
public String ikeIntegrity() {
return this.ikeIntegrity;
}
/**
* @return The IPSec encryption algorithm, used for IKE phase 1. Possible values include `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256` and `None`.
*
*/
public String ipsecEncryption() {
return this.ipsecEncryption;
}
/**
* @return The IPSec integrity algorithm, used for IKE phase 1. Possible values include `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1` and `SHA256`.
*
*/
public String ipsecIntegrity() {
return this.ipsecIntegrity;
}
/**
* @return The Pfs Group, used in IKE Phase 2. Possible values include `ECP256`, `ECP384`, `PFS1`, `PFS2`, `PFS14`, `PFS24`, `PFS2048`, `PFSMM` and `None`.
*
*/
public String pfsGroup() {
return this.pfsGroup;
}
/**
* @return The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel.
*
*/
public Integer saDataSizeKilobytes() {
return this.saDataSizeKilobytes;
}
/**
* @return The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel.
*
*/
public Integer saLifetimeSeconds() {
return this.saLifetimeSeconds;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(VpnServerConfigurationIpsecPolicy defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String dhGroup;
private String ikeEncryption;
private String ikeIntegrity;
private String ipsecEncryption;
private String ipsecIntegrity;
private String pfsGroup;
private Integer saDataSizeKilobytes;
private Integer saLifetimeSeconds;
public Builder() {}
public Builder(VpnServerConfigurationIpsecPolicy defaults) {
Objects.requireNonNull(defaults);
this.dhGroup = defaults.dhGroup;
this.ikeEncryption = defaults.ikeEncryption;
this.ikeIntegrity = defaults.ikeIntegrity;
this.ipsecEncryption = defaults.ipsecEncryption;
this.ipsecIntegrity = defaults.ipsecIntegrity;
this.pfsGroup = defaults.pfsGroup;
this.saDataSizeKilobytes = defaults.saDataSizeKilobytes;
this.saLifetimeSeconds = defaults.saLifetimeSeconds;
}
@CustomType.Setter
public Builder dhGroup(String dhGroup) {
if (dhGroup == null) {
throw new MissingRequiredPropertyException("VpnServerConfigurationIpsecPolicy", "dhGroup");
}
this.dhGroup = dhGroup;
return this;
}
@CustomType.Setter
public Builder ikeEncryption(String ikeEncryption) {
if (ikeEncryption == null) {
throw new MissingRequiredPropertyException("VpnServerConfigurationIpsecPolicy", "ikeEncryption");
}
this.ikeEncryption = ikeEncryption;
return this;
}
@CustomType.Setter
public Builder ikeIntegrity(String ikeIntegrity) {
if (ikeIntegrity == null) {
throw new MissingRequiredPropertyException("VpnServerConfigurationIpsecPolicy", "ikeIntegrity");
}
this.ikeIntegrity = ikeIntegrity;
return this;
}
@CustomType.Setter
public Builder ipsecEncryption(String ipsecEncryption) {
if (ipsecEncryption == null) {
throw new MissingRequiredPropertyException("VpnServerConfigurationIpsecPolicy", "ipsecEncryption");
}
this.ipsecEncryption = ipsecEncryption;
return this;
}
@CustomType.Setter
public Builder ipsecIntegrity(String ipsecIntegrity) {
if (ipsecIntegrity == null) {
throw new MissingRequiredPropertyException("VpnServerConfigurationIpsecPolicy", "ipsecIntegrity");
}
this.ipsecIntegrity = ipsecIntegrity;
return this;
}
@CustomType.Setter
public Builder pfsGroup(String pfsGroup) {
if (pfsGroup == null) {
throw new MissingRequiredPropertyException("VpnServerConfigurationIpsecPolicy", "pfsGroup");
}
this.pfsGroup = pfsGroup;
return this;
}
@CustomType.Setter
public Builder saDataSizeKilobytes(Integer saDataSizeKilobytes) {
if (saDataSizeKilobytes == null) {
throw new MissingRequiredPropertyException("VpnServerConfigurationIpsecPolicy", "saDataSizeKilobytes");
}
this.saDataSizeKilobytes = saDataSizeKilobytes;
return this;
}
@CustomType.Setter
public Builder saLifetimeSeconds(Integer saLifetimeSeconds) {
if (saLifetimeSeconds == null) {
throw new MissingRequiredPropertyException("VpnServerConfigurationIpsecPolicy", "saLifetimeSeconds");
}
this.saLifetimeSeconds = saLifetimeSeconds;
return this;
}
public VpnServerConfigurationIpsecPolicy build() {
final var _resultValue = new VpnServerConfigurationIpsecPolicy();
_resultValue.dhGroup = dhGroup;
_resultValue.ikeEncryption = ikeEncryption;
_resultValue.ikeIntegrity = ikeIntegrity;
_resultValue.ipsecEncryption = ipsecEncryption;
_resultValue.ipsecIntegrity = ipsecIntegrity;
_resultValue.pfsGroup = pfsGroup;
_resultValue.saDataSizeKilobytes = saDataSizeKilobytes;
_resultValue.saLifetimeSeconds = saLifetimeSeconds;
return _resultValue;
}
}
}