com.pulumi.azure.network.inputs.VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs 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.inputs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
public final class VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs extends com.pulumi.resources.ResourceArgs {
public static final VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs Empty = new VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs();
/**
* The DH Group, used in IKE Phase 1. Possible values are `DHGroup1`, `DHGroup2`, `DHGroup14`, `DHGroup24`, `DHGroup2048`, `ECP256`, `ECP384` and `None`.
*
*/
@Import(name="dhGroup", required=true)
private Output dhGroup;
/**
* @return The DH Group, used in IKE Phase 1. Possible values are `DHGroup1`, `DHGroup2`, `DHGroup14`, `DHGroup24`, `DHGroup2048`, `ECP256`, `ECP384` and `None`.
*
*/
public Output dhGroup() {
return this.dhGroup;
}
/**
* The IKE encryption algorithm, used for IKE Phase 2. Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128` and `GCMAES256`.
*
*/
@Import(name="ikeEncryption", required=true)
private Output ikeEncryption;
/**
* @return The IKE encryption algorithm, used for IKE Phase 2. Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128` and `GCMAES256`.
*
*/
public Output ikeEncryption() {
return this.ikeEncryption;
}
/**
* The IKE encryption integrity algorithm, used for IKE Phase 2. Possible values are `GCMAES128`, `GCMAES256`, `MD5`, `SHA1`, `SHA256` and `SHA384`.
*
*/
@Import(name="ikeIntegrity", required=true)
private Output ikeIntegrity;
/**
* @return The IKE encryption integrity algorithm, used for IKE Phase 2. Possible values are `GCMAES128`, `GCMAES256`, `MD5`, `SHA1`, `SHA256` and `SHA384`.
*
*/
public Output ikeIntegrity() {
return this.ikeIntegrity;
}
/**
* The IPSec encryption algorithm, used for IKE phase 1. Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256` and `None`.
*
*/
@Import(name="ipsecEncryption", required=true)
private Output ipsecEncryption;
/**
* @return The IPSec encryption algorithm, used for IKE phase 1. Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256` and `None`.
*
*/
public Output ipsecEncryption() {
return this.ipsecEncryption;
}
/**
* The IPSec integrity algorithm, used for IKE phase 1. Possible values are `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1` and `SHA256`.
*
*/
@Import(name="ipsecIntegrity", required=true)
private Output ipsecIntegrity;
/**
* @return The IPSec integrity algorithm, used for IKE phase 1. Possible values are `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1` and `SHA256`.
*
*/
public Output ipsecIntegrity() {
return this.ipsecIntegrity;
}
/**
* The Pfs Group, used in IKE Phase 2. Possible values are `ECP256`, `ECP384`, `PFS1`, `PFS2`, `PFS14`, `PFS24`, `PFS2048`, `PFSMM` and `None`.
*
*/
@Import(name="pfsGroup", required=true)
private Output pfsGroup;
/**
* @return The Pfs Group, used in IKE Phase 2. Possible values are `ECP256`, `ECP384`, `PFS1`, `PFS2`, `PFS14`, `PFS24`, `PFS2048`, `PFSMM` and `None`.
*
*/
public Output pfsGroup() {
return this.pfsGroup;
}
/**
* The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. Possible values are between `1024` and `2147483647`.
*
*/
@Import(name="saDataSizeInKilobytes", required=true)
private Output saDataSizeInKilobytes;
/**
* @return The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. Possible values are between `1024` and `2147483647`.
*
*/
public Output saDataSizeInKilobytes() {
return this.saDataSizeInKilobytes;
}
/**
* The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. Possible values are between `300` and `172799`.
*
*/
@Import(name="saLifetimeInSeconds", required=true)
private Output saLifetimeInSeconds;
/**
* @return The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. Possible values are between `300` and `172799`.
*
*/
public Output saLifetimeInSeconds() {
return this.saLifetimeInSeconds;
}
private VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs() {}
private VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs(VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs $) {
this.dhGroup = $.dhGroup;
this.ikeEncryption = $.ikeEncryption;
this.ikeIntegrity = $.ikeIntegrity;
this.ipsecEncryption = $.ipsecEncryption;
this.ipsecIntegrity = $.ipsecIntegrity;
this.pfsGroup = $.pfsGroup;
this.saDataSizeInKilobytes = $.saDataSizeInKilobytes;
this.saLifetimeInSeconds = $.saLifetimeInSeconds;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs $;
public Builder() {
$ = new VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs();
}
public Builder(VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs defaults) {
$ = new VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs(Objects.requireNonNull(defaults));
}
/**
* @param dhGroup The DH Group, used in IKE Phase 1. Possible values are `DHGroup1`, `DHGroup2`, `DHGroup14`, `DHGroup24`, `DHGroup2048`, `ECP256`, `ECP384` and `None`.
*
* @return builder
*
*/
public Builder dhGroup(Output dhGroup) {
$.dhGroup = dhGroup;
return this;
}
/**
* @param dhGroup The DH Group, used in IKE Phase 1. Possible values are `DHGroup1`, `DHGroup2`, `DHGroup14`, `DHGroup24`, `DHGroup2048`, `ECP256`, `ECP384` and `None`.
*
* @return builder
*
*/
public Builder dhGroup(String dhGroup) {
return dhGroup(Output.of(dhGroup));
}
/**
* @param ikeEncryption The IKE encryption algorithm, used for IKE Phase 2. Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128` and `GCMAES256`.
*
* @return builder
*
*/
public Builder ikeEncryption(Output ikeEncryption) {
$.ikeEncryption = ikeEncryption;
return this;
}
/**
* @param ikeEncryption The IKE encryption algorithm, used for IKE Phase 2. Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128` and `GCMAES256`.
*
* @return builder
*
*/
public Builder ikeEncryption(String ikeEncryption) {
return ikeEncryption(Output.of(ikeEncryption));
}
/**
* @param ikeIntegrity The IKE encryption integrity algorithm, used for IKE Phase 2. Possible values are `GCMAES128`, `GCMAES256`, `MD5`, `SHA1`, `SHA256` and `SHA384`.
*
* @return builder
*
*/
public Builder ikeIntegrity(Output ikeIntegrity) {
$.ikeIntegrity = ikeIntegrity;
return this;
}
/**
* @param ikeIntegrity The IKE encryption integrity algorithm, used for IKE Phase 2. Possible values are `GCMAES128`, `GCMAES256`, `MD5`, `SHA1`, `SHA256` and `SHA384`.
*
* @return builder
*
*/
public Builder ikeIntegrity(String ikeIntegrity) {
return ikeIntegrity(Output.of(ikeIntegrity));
}
/**
* @param ipsecEncryption The IPSec encryption algorithm, used for IKE phase 1. Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256` and `None`.
*
* @return builder
*
*/
public Builder ipsecEncryption(Output ipsecEncryption) {
$.ipsecEncryption = ipsecEncryption;
return this;
}
/**
* @param ipsecEncryption The IPSec encryption algorithm, used for IKE phase 1. Possible values are `AES128`, `AES192`, `AES256`, `DES`, `DES3`, `GCMAES128`, `GCMAES192`, `GCMAES256` and `None`.
*
* @return builder
*
*/
public Builder ipsecEncryption(String ipsecEncryption) {
return ipsecEncryption(Output.of(ipsecEncryption));
}
/**
* @param ipsecIntegrity The IPSec integrity algorithm, used for IKE phase 1. Possible values are `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1` and `SHA256`.
*
* @return builder
*
*/
public Builder ipsecIntegrity(Output ipsecIntegrity) {
$.ipsecIntegrity = ipsecIntegrity;
return this;
}
/**
* @param ipsecIntegrity The IPSec integrity algorithm, used for IKE phase 1. Possible values are `GCMAES128`, `GCMAES192`, `GCMAES256`, `MD5`, `SHA1` and `SHA256`.
*
* @return builder
*
*/
public Builder ipsecIntegrity(String ipsecIntegrity) {
return ipsecIntegrity(Output.of(ipsecIntegrity));
}
/**
* @param pfsGroup The Pfs Group, used in IKE Phase 2. Possible values are `ECP256`, `ECP384`, `PFS1`, `PFS2`, `PFS14`, `PFS24`, `PFS2048`, `PFSMM` and `None`.
*
* @return builder
*
*/
public Builder pfsGroup(Output pfsGroup) {
$.pfsGroup = pfsGroup;
return this;
}
/**
* @param pfsGroup The Pfs Group, used in IKE Phase 2. Possible values are `ECP256`, `ECP384`, `PFS1`, `PFS2`, `PFS14`, `PFS24`, `PFS2048`, `PFSMM` and `None`.
*
* @return builder
*
*/
public Builder pfsGroup(String pfsGroup) {
return pfsGroup(Output.of(pfsGroup));
}
/**
* @param saDataSizeInKilobytes The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. Possible values are between `1024` and `2147483647`.
*
* @return builder
*
*/
public Builder saDataSizeInKilobytes(Output saDataSizeInKilobytes) {
$.saDataSizeInKilobytes = saDataSizeInKilobytes;
return this;
}
/**
* @param saDataSizeInKilobytes The IPSec Security Association payload size in KB for a Site-to-Site VPN tunnel. Possible values are between `1024` and `2147483647`.
*
* @return builder
*
*/
public Builder saDataSizeInKilobytes(Integer saDataSizeInKilobytes) {
return saDataSizeInKilobytes(Output.of(saDataSizeInKilobytes));
}
/**
* @param saLifetimeInSeconds The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. Possible values are between `300` and `172799`.
*
* @return builder
*
*/
public Builder saLifetimeInSeconds(Output saLifetimeInSeconds) {
$.saLifetimeInSeconds = saLifetimeInSeconds;
return this;
}
/**
* @param saLifetimeInSeconds The IPSec Security Association lifetime in seconds for a Site-to-Site VPN tunnel. Possible values are between `300` and `172799`.
*
* @return builder
*
*/
public Builder saLifetimeInSeconds(Integer saLifetimeInSeconds) {
return saLifetimeInSeconds(Output.of(saLifetimeInSeconds));
}
public VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs build() {
if ($.dhGroup == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs", "dhGroup");
}
if ($.ikeEncryption == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs", "ikeEncryption");
}
if ($.ikeIntegrity == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs", "ikeIntegrity");
}
if ($.ipsecEncryption == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs", "ipsecEncryption");
}
if ($.ipsecIntegrity == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs", "ipsecIntegrity");
}
if ($.pfsGroup == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs", "pfsGroup");
}
if ($.saDataSizeInKilobytes == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs", "saDataSizeInKilobytes");
}
if ($.saLifetimeInSeconds == null) {
throw new MissingRequiredPropertyException("VirtualNetworkGatewayVpnClientConfigurationIpsecPolicyArgs", "saLifetimeInSeconds");
}
return $;
}
}
}