BastionHostArgs

data class BastionHostArgs(val bastionHostName: Output<String>? = null, val disableCopyPaste: Output<Boolean>? = null, val dnsName: Output<String>? = null, val enableFileCopy: Output<Boolean>? = null, val enableIpConnect: Output<Boolean>? = null, val enableKerberos: Output<Boolean>? = null, val enablePrivateOnlyBastion: Output<Boolean>? = null, val enableSessionRecording: Output<Boolean>? = null, val enableShareableLink: Output<Boolean>? = null, val enableTunneling: Output<Boolean>? = null, val id: Output<String>? = null, val ipConfigurations: Output<List<BastionHostIPConfigurationArgs>>? = null, val location: Output<String>? = null, val networkAcls: Output<BastionHostPropertiesFormatNetworkAclsArgs>? = null, val resourceGroupName: Output<String>? = null, val scaleUnits: Output<Int>? = null, val sku: Output<SkuArgs>? = null, val tags: Output<Map<String, String>>? = null, val virtualNetwork: Output<SubResourceArgs>? = null, val zones: Output<List<String>>? = null) : ConvertibleToJava<BastionHostArgs>

Bastion Host resource. Uses Azure REST API version 2024-05-01. In version 2.x of the Azure Native provider, it used API version 2023-02-01. Other available API versions: 2019-04-01, 2019-06-01, 2019-07-01, 2019-08-01, 2019-09-01, 2019-11-01, 2019-12-01, 2020-03-01, 2020-04-01, 2020-05-01, 2020-06-01, 2020-07-01, 2020-08-01, 2020-11-01, 2021-02-01, 2021-03-01, 2021-05-01, 2021-08-01, 2022-01-01, 2022-05-01, 2022-07-01, 2022-09-01, 2022-11-01, 2023-02-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01, 2023-11-01, 2024-01-01, 2024-03-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native network [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

Create Bastion Host

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var bastionHost = new AzureNative.Network.BastionHost("bastionHost", new()
{
BastionHostName = "bastionhosttenant",
IpConfigurations = new[]
{
new AzureNative.Network.Inputs.BastionHostIPConfigurationArgs
{
Name = "bastionHostIpConfiguration",
PublicIPAddress = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName",
},
Subnet = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet",
},
},
},
ResourceGroupName = "rg1",
});
});
package main
import (
network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewBastionHost(ctx, "bastionHost", &network.BastionHostArgs{
BastionHostName: pulumi.String("bastionhosttenant"),
IpConfigurations: network.BastionHostIPConfigurationArray{
&network.BastionHostIPConfigurationArgs{
Name: pulumi.String("bastionHostIpConfiguration"),
PublicIPAddress: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"),
},
Subnet: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
},
},
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.BastionHost;
import com.pulumi.azurenative.network.BastionHostArgs;
import com.pulumi.azurenative.network.inputs.BastionHostIPConfigurationArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var bastionHost = new BastionHost("bastionHost", BastionHostArgs.builder()
.bastionHostName("bastionhosttenant")
.ipConfigurations(BastionHostIPConfigurationArgs.builder()
.name("bastionHostIpConfiguration")
.publicIPAddress(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName")
.build())
.subnet(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet")
.build())
.build())
.resourceGroupName("rg1")
.build());
}
}

Create Bastion Host With Private Only

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var bastionHost = new AzureNative.Network.BastionHost("bastionHost", new()
{
BastionHostName = "bastionhosttenant",
EnablePrivateOnlyBastion = true,
IpConfigurations = new[]
{
new AzureNative.Network.Inputs.BastionHostIPConfigurationArgs
{
Name = "bastionHostIpConfiguration",
Subnet = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet",
},
},
},
ResourceGroupName = "rg1",
});
});
package main
import (
network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewBastionHost(ctx, "bastionHost", &network.BastionHostArgs{
BastionHostName: pulumi.String("bastionhosttenant"),
EnablePrivateOnlyBastion: pulumi.Bool(true),
IpConfigurations: network.BastionHostIPConfigurationArray{
&network.BastionHostIPConfigurationArgs{
Name: pulumi.String("bastionHostIpConfiguration"),
Subnet: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
},
},
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.BastionHost;
import com.pulumi.azurenative.network.BastionHostArgs;
import com.pulumi.azurenative.network.inputs.BastionHostIPConfigurationArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var bastionHost = new BastionHost("bastionHost", BastionHostArgs.builder()
.bastionHostName("bastionhosttenant")
.enablePrivateOnlyBastion(true)
.ipConfigurations(BastionHostIPConfigurationArgs.builder()
.name("bastionHostIpConfiguration")
.subnet(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet")
.build())
.build())
.resourceGroupName("rg1")
.build());
}
}

Create Bastion Host With Zones

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var bastionHost = new AzureNative.Network.BastionHost("bastionHost", new()
{
BastionHostName = "bastionhosttenant",
IpConfigurations = new[]
{
new AzureNative.Network.Inputs.BastionHostIPConfigurationArgs
{
Name = "bastionHostIpConfiguration",
PublicIPAddress = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName",
},
Subnet = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet",
},
},
},
ResourceGroupName = "rg1",
});
});
package main
import (
network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewBastionHost(ctx, "bastionHost", &network.BastionHostArgs{
BastionHostName: pulumi.String("bastionhosttenant"),
IpConfigurations: network.BastionHostIPConfigurationArray{
&network.BastionHostIPConfigurationArgs{
Name: pulumi.String("bastionHostIpConfiguration"),
PublicIPAddress: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"),
},
Subnet: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
},
},
},
ResourceGroupName: pulumi.String("rg1"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.BastionHost;
import com.pulumi.azurenative.network.BastionHostArgs;
import com.pulumi.azurenative.network.inputs.BastionHostIPConfigurationArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var bastionHost = new BastionHost("bastionHost", BastionHostArgs.builder()
.bastionHostName("bastionhosttenant")
.ipConfigurations(BastionHostIPConfigurationArgs.builder()
.name("bastionHostIpConfiguration")
.publicIPAddress(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName")
.build())
.subnet(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet")
.build())
.build())
.resourceGroupName("rg1")
.build());
}
}

Create Developer Bastion Host

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var bastionHost = new AzureNative.Network.BastionHost("bastionHost", new()
{
BastionHostName = "bastionhostdeveloper",
IpConfigurations = new[] {},
NetworkAcls = new AzureNative.Network.Inputs.BastionHostPropertiesFormatNetworkAclsArgs
{
IpRules = new[]
{
new AzureNative.Network.Inputs.IPRuleArgs
{
AddressPrefix = "1.1.1.1/16",
},
},
},
ResourceGroupName = "rg2",
VirtualNetwork = new AzureNative.Network.Inputs.SubResourceArgs
{
Id = "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2",
},
});
});
package main
import (
network "github.com/pulumi/pulumi-azure-native-sdk/network/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := network.NewBastionHost(ctx, "bastionHost", &network.BastionHostArgs{
BastionHostName: pulumi.String("bastionhostdeveloper"),
IpConfigurations: network.BastionHostIPConfigurationArray{},
NetworkAcls: &network.BastionHostPropertiesFormatNetworkAclsArgs{
IpRules: network.IPRuleArray{
&network.IPRuleArgs{
AddressPrefix: pulumi.String("1.1.1.1/16"),
},
},
},
ResourceGroupName: pulumi.String("rg2"),
VirtualNetwork: &network.SubResourceArgs{
Id: pulumi.String("/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.network.BastionHost;
import com.pulumi.azurenative.network.BastionHostArgs;
import com.pulumi.azurenative.network.inputs.BastionHostPropertiesFormatNetworkAclsArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var bastionHost = new BastionHost("bastionHost", BastionHostArgs.builder()
.bastionHostName("bastionhostdeveloper")
.ipConfigurations()
.networkAcls(BastionHostPropertiesFormatNetworkAclsArgs.builder()
.ipRules(IPRuleArgs.builder()
.addressPrefix("1.1.1.1/16")
.build())
.build())
.resourceGroupName("rg2")
.virtualNetwork(SubResourceArgs.builder()
.id("/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2")
.build())
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:network:BastionHost bastionhostdeveloper /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}

Constructors

Link copied to clipboard
constructor(bastionHostName: Output<String>? = null, disableCopyPaste: Output<Boolean>? = null, dnsName: Output<String>? = null, enableFileCopy: Output<Boolean>? = null, enableIpConnect: Output<Boolean>? = null, enableKerberos: Output<Boolean>? = null, enablePrivateOnlyBastion: Output<Boolean>? = null, enableSessionRecording: Output<Boolean>? = null, enableShareableLink: Output<Boolean>? = null, enableTunneling: Output<Boolean>? = null, id: Output<String>? = null, ipConfigurations: Output<List<BastionHostIPConfigurationArgs>>? = null, location: Output<String>? = null, networkAcls: Output<BastionHostPropertiesFormatNetworkAclsArgs>? = null, resourceGroupName: Output<String>? = null, scaleUnits: Output<Int>? = null, sku: Output<SkuArgs>? = null, tags: Output<Map<String, String>>? = null, virtualNetwork: Output<SubResourceArgs>? = null, zones: Output<List<String>>? = null)

Properties

Link copied to clipboard
val bastionHostName: Output<String>? = null

The name of the Bastion Host.

Link copied to clipboard
val disableCopyPaste: Output<Boolean>? = null

Enable/Disable Copy/Paste feature of the Bastion Host resource.

Link copied to clipboard
val dnsName: Output<String>? = null

FQDN for the endpoint on which bastion host is accessible.

Link copied to clipboard
val enableFileCopy: Output<Boolean>? = null

Enable/Disable File Copy feature of the Bastion Host resource.

Link copied to clipboard
val enableIpConnect: Output<Boolean>? = null

Enable/Disable IP Connect feature of the Bastion Host resource.

Link copied to clipboard
val enableKerberos: Output<Boolean>? = null

Enable/Disable Kerberos feature of the Bastion Host resource.

Link copied to clipboard
val enablePrivateOnlyBastion: Output<Boolean>? = null

Enable/Disable Private Only feature of the Bastion Host resource.

Link copied to clipboard
val enableSessionRecording: Output<Boolean>? = null

Enable/Disable Session Recording feature of the Bastion Host resource.

Link copied to clipboard
val enableShareableLink: Output<Boolean>? = null

Enable/Disable Shareable Link of the Bastion Host resource.

Link copied to clipboard
val enableTunneling: Output<Boolean>? = null

Enable/Disable Tunneling feature of the Bastion Host resource.

Link copied to clipboard
val id: Output<String>? = null

Resource ID.

Link copied to clipboard

IP configuration of the Bastion Host resource.

Link copied to clipboard
val location: Output<String>? = null

Resource location.

Link copied to clipboard
Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group.

Link copied to clipboard
val scaleUnits: Output<Int>? = null

The scale units for the Bastion Host resource.

Link copied to clipboard
val sku: Output<SkuArgs>? = null

The sku of this Bastion Host.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Resource tags.

Link copied to clipboard
val virtualNetwork: Output<SubResourceArgs>? = null

Reference to an existing virtual network required for Developer Bastion Host only.

Link copied to clipboard
val zones: Output<List<String>>? = null

A list of availability zones denoting where the resource needs to come from.

Functions

Link copied to clipboard
open override fun toJava(): BastionHostArgs