All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.network.outputs.VpnSiteLinkConnectionResponse Maven / Gradle / Ivy

There is a newer version: 2.82.0
Show newest version
// *** 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.azurenative.network.outputs;

import com.pulumi.azurenative.network.outputs.GatewayCustomBgpIpAddressIpConfigurationResponse;
import com.pulumi.azurenative.network.outputs.IpsecPolicyResponse;
import com.pulumi.azurenative.network.outputs.SubResourceResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Double;
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 VpnSiteLinkConnectionResponse {
    /**
     * @return Expected bandwidth in MBPS.
     * 
     */
    private @Nullable Integer connectionBandwidth;
    /**
     * @return The connection status.
     * 
     */
    private String connectionStatus;
    /**
     * @return Egress bytes transferred.
     * 
     */
    private Double egressBytesTransferred;
    /**
     * @return List of egress NatRules.
     * 
     */
    private @Nullable List egressNatRules;
    /**
     * @return EnableBgp flag.
     * 
     */
    private @Nullable Boolean enableBgp;
    /**
     * @return EnableBgp flag.
     * 
     */
    private @Nullable Boolean enableRateLimiting;
    /**
     * @return A unique read-only string that changes whenever the resource is updated.
     * 
     */
    private String etag;
    /**
     * @return Resource ID.
     * 
     */
    private @Nullable String id;
    /**
     * @return Ingress bytes transferred.
     * 
     */
    private Double ingressBytesTransferred;
    /**
     * @return List of ingress NatRules.
     * 
     */
    private @Nullable List ingressNatRules;
    /**
     * @return The IPSec Policies to be considered by this connection.
     * 
     */
    private @Nullable List ipsecPolicies;
    /**
     * @return The name of the resource that is unique within a resource group. This name can be used to access the resource.
     * 
     */
    private @Nullable String name;
    /**
     * @return The provisioning state of the VPN site link connection resource.
     * 
     */
    private String provisioningState;
    /**
     * @return Routing weight for vpn connection.
     * 
     */
    private @Nullable Integer routingWeight;
    /**
     * @return SharedKey for the vpn connection.
     * 
     */
    private @Nullable String sharedKey;
    /**
     * @return Resource type.
     * 
     */
    private String type;
    /**
     * @return Use local azure ip to initiate connection.
     * 
     */
    private @Nullable Boolean useLocalAzureIpAddress;
    /**
     * @return Enable policy-based traffic selectors.
     * 
     */
    private @Nullable Boolean usePolicyBasedTrafficSelectors;
    /**
     * @return Connection protocol used for this connection.
     * 
     */
    private @Nullable String vpnConnectionProtocolType;
    /**
     * @return vpnGatewayCustomBgpAddresses used by this connection.
     * 
     */
    private @Nullable List vpnGatewayCustomBgpAddresses;
    /**
     * @return Vpn link connection mode.
     * 
     */
    private @Nullable String vpnLinkConnectionMode;
    /**
     * @return Id of the connected vpn site link.
     * 
     */
    private @Nullable SubResourceResponse vpnSiteLink;

    private VpnSiteLinkConnectionResponse() {}
    /**
     * @return Expected bandwidth in MBPS.
     * 
     */
    public Optional connectionBandwidth() {
        return Optional.ofNullable(this.connectionBandwidth);
    }
    /**
     * @return The connection status.
     * 
     */
    public String connectionStatus() {
        return this.connectionStatus;
    }
    /**
     * @return Egress bytes transferred.
     * 
     */
    public Double egressBytesTransferred() {
        return this.egressBytesTransferred;
    }
    /**
     * @return List of egress NatRules.
     * 
     */
    public List egressNatRules() {
        return this.egressNatRules == null ? List.of() : this.egressNatRules;
    }
    /**
     * @return EnableBgp flag.
     * 
     */
    public Optional enableBgp() {
        return Optional.ofNullable(this.enableBgp);
    }
    /**
     * @return EnableBgp flag.
     * 
     */
    public Optional enableRateLimiting() {
        return Optional.ofNullable(this.enableRateLimiting);
    }
    /**
     * @return A unique read-only string that changes whenever the resource is updated.
     * 
     */
    public String etag() {
        return this.etag;
    }
    /**
     * @return Resource ID.
     * 
     */
    public Optional id() {
        return Optional.ofNullable(this.id);
    }
    /**
     * @return Ingress bytes transferred.
     * 
     */
    public Double ingressBytesTransferred() {
        return this.ingressBytesTransferred;
    }
    /**
     * @return List of ingress NatRules.
     * 
     */
    public List ingressNatRules() {
        return this.ingressNatRules == null ? List.of() : this.ingressNatRules;
    }
    /**
     * @return The IPSec Policies to be considered by this connection.
     * 
     */
    public List ipsecPolicies() {
        return this.ipsecPolicies == null ? List.of() : this.ipsecPolicies;
    }
    /**
     * @return The name of the resource that is unique within a resource group. This name can be used to access the resource.
     * 
     */
    public Optional name() {
        return Optional.ofNullable(this.name);
    }
    /**
     * @return The provisioning state of the VPN site link connection resource.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return Routing weight for vpn connection.
     * 
     */
    public Optional routingWeight() {
        return Optional.ofNullable(this.routingWeight);
    }
    /**
     * @return SharedKey for the vpn connection.
     * 
     */
    public Optional sharedKey() {
        return Optional.ofNullable(this.sharedKey);
    }
    /**
     * @return Resource type.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return Use local azure ip to initiate connection.
     * 
     */
    public Optional useLocalAzureIpAddress() {
        return Optional.ofNullable(this.useLocalAzureIpAddress);
    }
    /**
     * @return Enable policy-based traffic selectors.
     * 
     */
    public Optional usePolicyBasedTrafficSelectors() {
        return Optional.ofNullable(this.usePolicyBasedTrafficSelectors);
    }
    /**
     * @return Connection protocol used for this connection.
     * 
     */
    public Optional vpnConnectionProtocolType() {
        return Optional.ofNullable(this.vpnConnectionProtocolType);
    }
    /**
     * @return vpnGatewayCustomBgpAddresses used by this connection.
     * 
     */
    public List vpnGatewayCustomBgpAddresses() {
        return this.vpnGatewayCustomBgpAddresses == null ? List.of() : this.vpnGatewayCustomBgpAddresses;
    }
    /**
     * @return Vpn link connection mode.
     * 
     */
    public Optional vpnLinkConnectionMode() {
        return Optional.ofNullable(this.vpnLinkConnectionMode);
    }
    /**
     * @return Id of the connected vpn site link.
     * 
     */
    public Optional vpnSiteLink() {
        return Optional.ofNullable(this.vpnSiteLink);
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(VpnSiteLinkConnectionResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Integer connectionBandwidth;
        private String connectionStatus;
        private Double egressBytesTransferred;
        private @Nullable List egressNatRules;
        private @Nullable Boolean enableBgp;
        private @Nullable Boolean enableRateLimiting;
        private String etag;
        private @Nullable String id;
        private Double ingressBytesTransferred;
        private @Nullable List ingressNatRules;
        private @Nullable List ipsecPolicies;
        private @Nullable String name;
        private String provisioningState;
        private @Nullable Integer routingWeight;
        private @Nullable String sharedKey;
        private String type;
        private @Nullable Boolean useLocalAzureIpAddress;
        private @Nullable Boolean usePolicyBasedTrafficSelectors;
        private @Nullable String vpnConnectionProtocolType;
        private @Nullable List vpnGatewayCustomBgpAddresses;
        private @Nullable String vpnLinkConnectionMode;
        private @Nullable SubResourceResponse vpnSiteLink;
        public Builder() {}
        public Builder(VpnSiteLinkConnectionResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.connectionBandwidth = defaults.connectionBandwidth;
    	      this.connectionStatus = defaults.connectionStatus;
    	      this.egressBytesTransferred = defaults.egressBytesTransferred;
    	      this.egressNatRules = defaults.egressNatRules;
    	      this.enableBgp = defaults.enableBgp;
    	      this.enableRateLimiting = defaults.enableRateLimiting;
    	      this.etag = defaults.etag;
    	      this.id = defaults.id;
    	      this.ingressBytesTransferred = defaults.ingressBytesTransferred;
    	      this.ingressNatRules = defaults.ingressNatRules;
    	      this.ipsecPolicies = defaults.ipsecPolicies;
    	      this.name = defaults.name;
    	      this.provisioningState = defaults.provisioningState;
    	      this.routingWeight = defaults.routingWeight;
    	      this.sharedKey = defaults.sharedKey;
    	      this.type = defaults.type;
    	      this.useLocalAzureIpAddress = defaults.useLocalAzureIpAddress;
    	      this.usePolicyBasedTrafficSelectors = defaults.usePolicyBasedTrafficSelectors;
    	      this.vpnConnectionProtocolType = defaults.vpnConnectionProtocolType;
    	      this.vpnGatewayCustomBgpAddresses = defaults.vpnGatewayCustomBgpAddresses;
    	      this.vpnLinkConnectionMode = defaults.vpnLinkConnectionMode;
    	      this.vpnSiteLink = defaults.vpnSiteLink;
        }

        @CustomType.Setter
        public Builder connectionBandwidth(@Nullable Integer connectionBandwidth) {

            this.connectionBandwidth = connectionBandwidth;
            return this;
        }
        @CustomType.Setter
        public Builder connectionStatus(String connectionStatus) {
            if (connectionStatus == null) {
              throw new MissingRequiredPropertyException("VpnSiteLinkConnectionResponse", "connectionStatus");
            }
            this.connectionStatus = connectionStatus;
            return this;
        }
        @CustomType.Setter
        public Builder egressBytesTransferred(Double egressBytesTransferred) {
            if (egressBytesTransferred == null) {
              throw new MissingRequiredPropertyException("VpnSiteLinkConnectionResponse", "egressBytesTransferred");
            }
            this.egressBytesTransferred = egressBytesTransferred;
            return this;
        }
        @CustomType.Setter
        public Builder egressNatRules(@Nullable List egressNatRules) {

            this.egressNatRules = egressNatRules;
            return this;
        }
        public Builder egressNatRules(SubResourceResponse... egressNatRules) {
            return egressNatRules(List.of(egressNatRules));
        }
        @CustomType.Setter
        public Builder enableBgp(@Nullable Boolean enableBgp) {

            this.enableBgp = enableBgp;
            return this;
        }
        @CustomType.Setter
        public Builder enableRateLimiting(@Nullable Boolean enableRateLimiting) {

            this.enableRateLimiting = enableRateLimiting;
            return this;
        }
        @CustomType.Setter
        public Builder etag(String etag) {
            if (etag == null) {
              throw new MissingRequiredPropertyException("VpnSiteLinkConnectionResponse", "etag");
            }
            this.etag = etag;
            return this;
        }
        @CustomType.Setter
        public Builder id(@Nullable String id) {

            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder ingressBytesTransferred(Double ingressBytesTransferred) {
            if (ingressBytesTransferred == null) {
              throw new MissingRequiredPropertyException("VpnSiteLinkConnectionResponse", "ingressBytesTransferred");
            }
            this.ingressBytesTransferred = ingressBytesTransferred;
            return this;
        }
        @CustomType.Setter
        public Builder ingressNatRules(@Nullable List ingressNatRules) {

            this.ingressNatRules = ingressNatRules;
            return this;
        }
        public Builder ingressNatRules(SubResourceResponse... ingressNatRules) {
            return ingressNatRules(List.of(ingressNatRules));
        }
        @CustomType.Setter
        public Builder ipsecPolicies(@Nullable List ipsecPolicies) {

            this.ipsecPolicies = ipsecPolicies;
            return this;
        }
        public Builder ipsecPolicies(IpsecPolicyResponse... ipsecPolicies) {
            return ipsecPolicies(List.of(ipsecPolicies));
        }
        @CustomType.Setter
        public Builder name(@Nullable String name) {

            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("VpnSiteLinkConnectionResponse", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder routingWeight(@Nullable Integer routingWeight) {

            this.routingWeight = routingWeight;
            return this;
        }
        @CustomType.Setter
        public Builder sharedKey(@Nullable String sharedKey) {

            this.sharedKey = sharedKey;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("VpnSiteLinkConnectionResponse", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder useLocalAzureIpAddress(@Nullable Boolean useLocalAzureIpAddress) {

            this.useLocalAzureIpAddress = useLocalAzureIpAddress;
            return this;
        }
        @CustomType.Setter
        public Builder usePolicyBasedTrafficSelectors(@Nullable Boolean usePolicyBasedTrafficSelectors) {

            this.usePolicyBasedTrafficSelectors = usePolicyBasedTrafficSelectors;
            return this;
        }
        @CustomType.Setter
        public Builder vpnConnectionProtocolType(@Nullable String vpnConnectionProtocolType) {

            this.vpnConnectionProtocolType = vpnConnectionProtocolType;
            return this;
        }
        @CustomType.Setter
        public Builder vpnGatewayCustomBgpAddresses(@Nullable List vpnGatewayCustomBgpAddresses) {

            this.vpnGatewayCustomBgpAddresses = vpnGatewayCustomBgpAddresses;
            return this;
        }
        public Builder vpnGatewayCustomBgpAddresses(GatewayCustomBgpIpAddressIpConfigurationResponse... vpnGatewayCustomBgpAddresses) {
            return vpnGatewayCustomBgpAddresses(List.of(vpnGatewayCustomBgpAddresses));
        }
        @CustomType.Setter
        public Builder vpnLinkConnectionMode(@Nullable String vpnLinkConnectionMode) {

            this.vpnLinkConnectionMode = vpnLinkConnectionMode;
            return this;
        }
        @CustomType.Setter
        public Builder vpnSiteLink(@Nullable SubResourceResponse vpnSiteLink) {

            this.vpnSiteLink = vpnSiteLink;
            return this;
        }
        public VpnSiteLinkConnectionResponse build() {
            final var _resultValue = new VpnSiteLinkConnectionResponse();
            _resultValue.connectionBandwidth = connectionBandwidth;
            _resultValue.connectionStatus = connectionStatus;
            _resultValue.egressBytesTransferred = egressBytesTransferred;
            _resultValue.egressNatRules = egressNatRules;
            _resultValue.enableBgp = enableBgp;
            _resultValue.enableRateLimiting = enableRateLimiting;
            _resultValue.etag = etag;
            _resultValue.id = id;
            _resultValue.ingressBytesTransferred = ingressBytesTransferred;
            _resultValue.ingressNatRules = ingressNatRules;
            _resultValue.ipsecPolicies = ipsecPolicies;
            _resultValue.name = name;
            _resultValue.provisioningState = provisioningState;
            _resultValue.routingWeight = routingWeight;
            _resultValue.sharedKey = sharedKey;
            _resultValue.type = type;
            _resultValue.useLocalAzureIpAddress = useLocalAzureIpAddress;
            _resultValue.usePolicyBasedTrafficSelectors = usePolicyBasedTrafficSelectors;
            _resultValue.vpnConnectionProtocolType = vpnConnectionProtocolType;
            _resultValue.vpnGatewayCustomBgpAddresses = vpnGatewayCustomBgpAddresses;
            _resultValue.vpnLinkConnectionMode = vpnLinkConnectionMode;
            _resultValue.vpnSiteLink = vpnSiteLink;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy