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

com.pulumi.azurenative.databricks.VNetPeeringArgs 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.databricks;

import com.pulumi.azurenative.databricks.inputs.AddressSpaceArgs;
import com.pulumi.azurenative.databricks.inputs.VirtualNetworkPeeringPropertiesFormatDatabricksVirtualNetworkArgs;
import com.pulumi.azurenative.databricks.inputs.VirtualNetworkPeeringPropertiesFormatRemoteVirtualNetworkArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class VNetPeeringArgs extends com.pulumi.resources.ResourceArgs {

    public static final VNetPeeringArgs Empty = new VNetPeeringArgs();

    /**
     * Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network.
     * 
     */
    @Import(name="allowForwardedTraffic")
    private @Nullable Output allowForwardedTraffic;

    /**
     * @return Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network.
     * 
     */
    public Optional> allowForwardedTraffic() {
        return Optional.ofNullable(this.allowForwardedTraffic);
    }

    /**
     * If gateway links can be used in remote virtual networking to link to this virtual network.
     * 
     */
    @Import(name="allowGatewayTransit")
    private @Nullable Output allowGatewayTransit;

    /**
     * @return If gateway links can be used in remote virtual networking to link to this virtual network.
     * 
     */
    public Optional> allowGatewayTransit() {
        return Optional.ofNullable(this.allowGatewayTransit);
    }

    /**
     * Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space.
     * 
     */
    @Import(name="allowVirtualNetworkAccess")
    private @Nullable Output allowVirtualNetworkAccess;

    /**
     * @return Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space.
     * 
     */
    public Optional> allowVirtualNetworkAccess() {
        return Optional.ofNullable(this.allowVirtualNetworkAccess);
    }

    /**
     * The reference to the databricks virtual network address space.
     * 
     */
    @Import(name="databricksAddressSpace")
    private @Nullable Output databricksAddressSpace;

    /**
     * @return The reference to the databricks virtual network address space.
     * 
     */
    public Optional> databricksAddressSpace() {
        return Optional.ofNullable(this.databricksAddressSpace);
    }

    /**
     *  The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering).
     * 
     */
    @Import(name="databricksVirtualNetwork")
    private @Nullable Output databricksVirtualNetwork;

    /**
     * @return  The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering).
     * 
     */
    public Optional> databricksVirtualNetwork() {
        return Optional.ofNullable(this.databricksVirtualNetwork);
    }

    /**
     * The name of the workspace vNet peering.
     * 
     */
    @Import(name="peeringName")
    private @Nullable Output peeringName;

    /**
     * @return The name of the workspace vNet peering.
     * 
     */
    public Optional> peeringName() {
        return Optional.ofNullable(this.peeringName);
    }

    /**
     * The reference to the remote virtual network address space.
     * 
     */
    @Import(name="remoteAddressSpace")
    private @Nullable Output remoteAddressSpace;

    /**
     * @return The reference to the remote virtual network address space.
     * 
     */
    public Optional> remoteAddressSpace() {
        return Optional.ofNullable(this.remoteAddressSpace);
    }

    /**
     *  The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering).
     * 
     */
    @Import(name="remoteVirtualNetwork", required=true)
    private Output remoteVirtualNetwork;

    /**
     * @return  The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering).
     * 
     */
    public Output remoteVirtualNetwork() {
        return this.remoteVirtualNetwork;
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway.
     * 
     */
    @Import(name="useRemoteGateways")
    private @Nullable Output useRemoteGateways;

    /**
     * @return If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway.
     * 
     */
    public Optional> useRemoteGateways() {
        return Optional.ofNullable(this.useRemoteGateways);
    }

    /**
     * The name of the workspace.
     * 
     */
    @Import(name="workspaceName", required=true)
    private Output workspaceName;

    /**
     * @return The name of the workspace.
     * 
     */
    public Output workspaceName() {
        return this.workspaceName;
    }

    private VNetPeeringArgs() {}

    private VNetPeeringArgs(VNetPeeringArgs $) {
        this.allowForwardedTraffic = $.allowForwardedTraffic;
        this.allowGatewayTransit = $.allowGatewayTransit;
        this.allowVirtualNetworkAccess = $.allowVirtualNetworkAccess;
        this.databricksAddressSpace = $.databricksAddressSpace;
        this.databricksVirtualNetwork = $.databricksVirtualNetwork;
        this.peeringName = $.peeringName;
        this.remoteAddressSpace = $.remoteAddressSpace;
        this.remoteVirtualNetwork = $.remoteVirtualNetwork;
        this.resourceGroupName = $.resourceGroupName;
        this.useRemoteGateways = $.useRemoteGateways;
        this.workspaceName = $.workspaceName;
    }

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

    public static final class Builder {
        private VNetPeeringArgs $;

        public Builder() {
            $ = new VNetPeeringArgs();
        }

        public Builder(VNetPeeringArgs defaults) {
            $ = new VNetPeeringArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param allowForwardedTraffic Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network.
         * 
         * @return builder
         * 
         */
        public Builder allowForwardedTraffic(@Nullable Output allowForwardedTraffic) {
            $.allowForwardedTraffic = allowForwardedTraffic;
            return this;
        }

        /**
         * @param allowForwardedTraffic Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network.
         * 
         * @return builder
         * 
         */
        public Builder allowForwardedTraffic(Boolean allowForwardedTraffic) {
            return allowForwardedTraffic(Output.of(allowForwardedTraffic));
        }

        /**
         * @param allowGatewayTransit If gateway links can be used in remote virtual networking to link to this virtual network.
         * 
         * @return builder
         * 
         */
        public Builder allowGatewayTransit(@Nullable Output allowGatewayTransit) {
            $.allowGatewayTransit = allowGatewayTransit;
            return this;
        }

        /**
         * @param allowGatewayTransit If gateway links can be used in remote virtual networking to link to this virtual network.
         * 
         * @return builder
         * 
         */
        public Builder allowGatewayTransit(Boolean allowGatewayTransit) {
            return allowGatewayTransit(Output.of(allowGatewayTransit));
        }

        /**
         * @param allowVirtualNetworkAccess Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space.
         * 
         * @return builder
         * 
         */
        public Builder allowVirtualNetworkAccess(@Nullable Output allowVirtualNetworkAccess) {
            $.allowVirtualNetworkAccess = allowVirtualNetworkAccess;
            return this;
        }

        /**
         * @param allowVirtualNetworkAccess Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space.
         * 
         * @return builder
         * 
         */
        public Builder allowVirtualNetworkAccess(Boolean allowVirtualNetworkAccess) {
            return allowVirtualNetworkAccess(Output.of(allowVirtualNetworkAccess));
        }

        /**
         * @param databricksAddressSpace The reference to the databricks virtual network address space.
         * 
         * @return builder
         * 
         */
        public Builder databricksAddressSpace(@Nullable Output databricksAddressSpace) {
            $.databricksAddressSpace = databricksAddressSpace;
            return this;
        }

        /**
         * @param databricksAddressSpace The reference to the databricks virtual network address space.
         * 
         * @return builder
         * 
         */
        public Builder databricksAddressSpace(AddressSpaceArgs databricksAddressSpace) {
            return databricksAddressSpace(Output.of(databricksAddressSpace));
        }

        /**
         * @param databricksVirtualNetwork  The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering).
         * 
         * @return builder
         * 
         */
        public Builder databricksVirtualNetwork(@Nullable Output databricksVirtualNetwork) {
            $.databricksVirtualNetwork = databricksVirtualNetwork;
            return this;
        }

        /**
         * @param databricksVirtualNetwork  The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering).
         * 
         * @return builder
         * 
         */
        public Builder databricksVirtualNetwork(VirtualNetworkPeeringPropertiesFormatDatabricksVirtualNetworkArgs databricksVirtualNetwork) {
            return databricksVirtualNetwork(Output.of(databricksVirtualNetwork));
        }

        /**
         * @param peeringName The name of the workspace vNet peering.
         * 
         * @return builder
         * 
         */
        public Builder peeringName(@Nullable Output peeringName) {
            $.peeringName = peeringName;
            return this;
        }

        /**
         * @param peeringName The name of the workspace vNet peering.
         * 
         * @return builder
         * 
         */
        public Builder peeringName(String peeringName) {
            return peeringName(Output.of(peeringName));
        }

        /**
         * @param remoteAddressSpace The reference to the remote virtual network address space.
         * 
         * @return builder
         * 
         */
        public Builder remoteAddressSpace(@Nullable Output remoteAddressSpace) {
            $.remoteAddressSpace = remoteAddressSpace;
            return this;
        }

        /**
         * @param remoteAddressSpace The reference to the remote virtual network address space.
         * 
         * @return builder
         * 
         */
        public Builder remoteAddressSpace(AddressSpaceArgs remoteAddressSpace) {
            return remoteAddressSpace(Output.of(remoteAddressSpace));
        }

        /**
         * @param remoteVirtualNetwork  The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering).
         * 
         * @return builder
         * 
         */
        public Builder remoteVirtualNetwork(Output remoteVirtualNetwork) {
            $.remoteVirtualNetwork = remoteVirtualNetwork;
            return this;
        }

        /**
         * @param remoteVirtualNetwork  The remote virtual network should be in the same region. See here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering).
         * 
         * @return builder
         * 
         */
        public Builder remoteVirtualNetwork(VirtualNetworkPeeringPropertiesFormatRemoteVirtualNetworkArgs remoteVirtualNetwork) {
            return remoteVirtualNetwork(Output.of(remoteVirtualNetwork));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param useRemoteGateways If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway.
         * 
         * @return builder
         * 
         */
        public Builder useRemoteGateways(@Nullable Output useRemoteGateways) {
            $.useRemoteGateways = useRemoteGateways;
            return this;
        }

        /**
         * @param useRemoteGateways If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway.
         * 
         * @return builder
         * 
         */
        public Builder useRemoteGateways(Boolean useRemoteGateways) {
            return useRemoteGateways(Output.of(useRemoteGateways));
        }

        /**
         * @param workspaceName The name of the workspace.
         * 
         * @return builder
         * 
         */
        public Builder workspaceName(Output workspaceName) {
            $.workspaceName = workspaceName;
            return this;
        }

        /**
         * @param workspaceName The name of the workspace.
         * 
         * @return builder
         * 
         */
        public Builder workspaceName(String workspaceName) {
            return workspaceName(Output.of(workspaceName));
        }

        public VNetPeeringArgs build() {
            if ($.remoteVirtualNetwork == null) {
                throw new MissingRequiredPropertyException("VNetPeeringArgs", "remoteVirtualNetwork");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("VNetPeeringArgs", "resourceGroupName");
            }
            if ($.workspaceName == null) {
                throw new MissingRequiredPropertyException("VNetPeeringArgs", "workspaceName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy