建立或更新指定的 Bastion 主機。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}?api-version=2024-05-01
URI 參數
名稱 |
位於 |
必要 |
類型 |
Description |
bastionHostName
|
path |
True
|
string
|
Bastion 主機的名稱。
|
resourceGroupName
|
path |
True
|
string
|
資源群組的名稱。
|
subscriptionId
|
path |
True
|
string
|
可唯一識別Microsoft Azure 訂用帳戶的訂用帳戶認證。 訂用帳戶標識碼會形成每個服務呼叫 URI 的一部分。
|
api-version
|
query |
True
|
string
|
用戶端 API 版本。
|
要求本文
名稱 |
類型 |
Description |
id
|
string
|
資源標識碼。
|
location
|
string
|
資源位置。
|
properties.disableCopyPaste
|
boolean
|
啟用/停用 Bastion 主機資源的複製/貼上功能。
|
properties.dnsName
|
string
|
可存取防禦主機之端點的 FQDN。
|
properties.enableFileCopy
|
boolean
|
啟用/停用 Bastion 主機資源的檔案複製功能。
|
properties.enableIpConnect
|
boolean
|
啟用/停用 Bastion 主機資源的 IP Connect 功能。
|
properties.enableKerberos
|
boolean
|
啟用/停用 Bastion 主機資源的 Kerberos 功能。
|
properties.enablePrivateOnlyBastion
|
boolean
|
啟用/停用 Bastion 主機資源的僅限私人功能。
|
properties.enableSessionRecording
|
boolean
|
啟用/停用 Bastion 主機資源的會話錄製功能。
|
properties.enableShareableLink
|
boolean
|
啟用/停用 Bastion 主機資源的可共享連結。
|
properties.enableTunneling
|
boolean
|
啟用/停用 Bastion 主機資源的通道功能。
|
properties.ipConfigurations
|
BastionHostIPConfiguration[]
|
Bastion 主機資源的IP組態。
|
properties.networkAcls
|
NetworkAcls
|
|
properties.scaleUnits
|
integer
|
Bastion 主機資源的縮放單位。
|
properties.virtualNetwork
|
SubResource
|
僅限開發人員 Bastion 主機所需的現有虛擬網路參考。
|
sku
|
Sku
|
此 Bastion 主機的 SKU。
|
tags
|
object
|
資源標籤。
|
zones
|
string[]
|
可用性區域清單,表示資源需要來自何處。
|
回應
名稱 |
類型 |
Description |
200 OK
|
BastionHost
|
更新成功。 此作業會傳回產生的 Bastion 主機資源。
|
201 Created
|
BastionHost
|
建立成功。 此作業會傳回產生的 Bastion 主機資源。
|
Other Status Codes
|
CloudError
|
描述作業失敗原因的錯誤回應。
|
安全性
azure_auth
Azure Active Directory OAuth2 Flow。
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 |
Description |
user_impersonation
|
模擬您的用戶帳戶
|
範例
Create Bastion Host
範例要求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant?api-version=2024-05-01
{
"properties": {
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
},
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
}
}
}
]
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BastionHostInner;
import com.azure.resourcemanager.network.models.BastionHostIpConfiguration;
import java.util.Arrays;
/**
* Samples for BastionHosts CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPut.json
*/
/**
* Sample code: Create Bastion Host.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createBastionHost(com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getBastionHosts().createOrUpdate("rg1", "bastionhosttenant",
new BastionHostInner().withIpConfigurations(Arrays.asList(new BastionHostIpConfiguration()
.withName("bastionHostIpConfiguration")
.withSubnet(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"))
.withPublicIpAddress(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName")))),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python bastion_host_put.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.bastion_hosts.begin_create_or_update(
resource_group_name="rg1",
bastion_host_name="bastionhosttenant",
parameters={
"properties": {
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"properties": {
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
},
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
},
},
}
]
}
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPut.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPut.json
func ExampleBastionHostsClient_BeginCreateOrUpdate_createBastionHost() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewBastionHostsClient().BeginCreateOrUpdate(ctx, "rg1", "bastionhosttenant", armnetwork.BastionHost{
Properties: &armnetwork.BastionHostPropertiesFormat{
IPConfigurations: []*armnetwork.BastionHostIPConfiguration{
{
Name: to.Ptr("bastionHostIpConfiguration"),
Properties: &armnetwork.BastionHostIPConfigurationPropertiesFormat{
PublicIPAddress: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"),
},
Subnet: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
},
},
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BastionHost = armnetwork.BastionHost{
// Name: to.Ptr("bastionhost"),
// Type: to.Ptr("Microsoft.Network/bastionHosts"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'"),
// Location: to.Ptr("West US"),
// Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
// Properties: &armnetwork.BastionHostPropertiesFormat{
// DisableCopyPaste: to.Ptr(false),
// DNSName: to.Ptr("bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com"),
// EnableIPConnect: to.Ptr(false),
// EnableKerberos: to.Ptr(false),
// EnablePrivateOnlyBastion: to.Ptr(false),
// EnableSessionRecording: to.Ptr(false),
// EnableShareableLink: to.Ptr(false),
// EnableTunneling: to.Ptr(false),
// IPConfigurations: []*armnetwork.BastionHostIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration"),
// Name: to.Ptr("bastionHostIpConfiguration"),
// Type: to.Ptr("Microsoft.Network/bastionHosts/bastionHostIpConfigurations"),
// Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
// Properties: &armnetwork.BastionHostIPConfigurationPropertiesFormat{
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// PublicIPAddress: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"),
// },
// Subnet: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
// },
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ScaleUnits: to.Ptr[int32](2),
// },
// SKU: &armnetwork.SKU{
// Name: to.Ptr(armnetwork.BastionHostSKUNameStandard),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates the specified Bastion Host.
*
* @summary Creates or updates the specified Bastion Host.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPut.json
*/
async function createBastionHost() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const bastionHostName = "bastionhosttenant";
const parameters = {
ipConfigurations: [
{
name: "bastionHostIpConfiguration",
publicIPAddress: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName",
},
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet",
},
},
],
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.bastionHosts.beginCreateOrUpdateAndWait(
resourceGroupName,
bastionHostName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPut.json
// this example is just showing the usage of "BastionHosts_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this BastionHostResource
BastionHostCollection collection = resourceGroupResource.GetBastionHosts();
// invoke the operation
string bastionHostName = "bastionhosttenant";
BastionHostData data = new BastionHostData
{
IPConfigurations = {new BastionHostIPConfiguration
{
SubnetId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
PublicIPAddressId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"),
Name = "bastionHostIpConfiguration",
}},
};
ArmOperation<BastionHostResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, bastionHostName, data);
BastionHostResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BastionHostData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "bastionhost",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
"type": "Microsoft.Network/bastionHosts",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"location": "West US",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
"scaleUnits": 2,
"disableCopyPaste": false,
"enableTunneling": false,
"enableIpConnect": false,
"enableShareableLink": false,
"enableKerberos": false,
"enableSessionRecording": false,
"enablePrivateOnlyBastion": false,
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
"properties": {
"provisioningState": "Succeeded",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
},
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
}
}
}
]
}
}
{
"name": "bastionhosttenant'",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant",
"type": "Microsoft.Network/bastionHosts",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"location": "West US",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
"scaleUnits": 2,
"disableCopyPaste": false,
"enableTunneling": false,
"enableIpConnect": false,
"enableShareableLink": false,
"enableKerberos": false,
"enableSessionRecording": false,
"enablePrivateOnlyBastion": false,
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
"properties": {
"provisioningState": "Succeeded",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
},
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
}
}
}
]
}
}
Create Bastion Host With Private Only
範例要求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant?api-version=2024-05-01
{
"properties": {
"enablePrivateOnlyBastion": true,
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
}
}
}
]
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BastionHostInner;
import com.azure.resourcemanager.network.models.BastionHostIpConfiguration;
import java.util.Arrays;
/**
* Samples for BastionHosts CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPutWithPrivateOnly
* .json
*/
/**
* Sample code: Create Bastion Host With Private Only.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createBastionHostWithPrivateOnly(com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getBastionHosts().createOrUpdate("rg1", "bastionhosttenant",
new BastionHostInner().withIpConfigurations(Arrays.asList(new BastionHostIpConfiguration()
.withName("bastionHostIpConfiguration")
.withSubnet(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"))))
.withEnablePrivateOnlyBastion(true),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python bastion_host_put_with_private_only.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.bastion_hosts.begin_create_or_update(
resource_group_name="rg1",
bastion_host_name="bastionhosttenant",
parameters={
"properties": {
"enablePrivateOnlyBastion": True,
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
}
},
}
],
}
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPutWithPrivateOnly.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPutWithPrivateOnly.json
func ExampleBastionHostsClient_BeginCreateOrUpdate_createBastionHostWithPrivateOnly() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewBastionHostsClient().BeginCreateOrUpdate(ctx, "rg1", "bastionhosttenant", armnetwork.BastionHost{
Properties: &armnetwork.BastionHostPropertiesFormat{
EnablePrivateOnlyBastion: to.Ptr(true),
IPConfigurations: []*armnetwork.BastionHostIPConfiguration{
{
Name: to.Ptr("bastionHostIpConfiguration"),
Properties: &armnetwork.BastionHostIPConfigurationPropertiesFormat{
Subnet: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
},
},
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BastionHost = armnetwork.BastionHost{
// Name: to.Ptr("bastionhosttenant"),
// Type: to.Ptr("Microsoft.Network/bastionHosts"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant"),
// Location: to.Ptr("West US"),
// Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
// Properties: &armnetwork.BastionHostPropertiesFormat{
// DisableCopyPaste: to.Ptr(false),
// DNSName: to.Ptr("bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com"),
// EnableIPConnect: to.Ptr(false),
// EnableKerberos: to.Ptr(false),
// EnablePrivateOnlyBastion: to.Ptr(true),
// EnableSessionRecording: to.Ptr(false),
// EnableShareableLink: to.Ptr(false),
// EnableTunneling: to.Ptr(false),
// IPConfigurations: []*armnetwork.BastionHostIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration"),
// Name: to.Ptr("bastionHostIpConfiguration"),
// Type: to.Ptr("Microsoft.Network/bastionHosts/bastionHostIpConfigurations"),
// Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
// Properties: &armnetwork.BastionHostIPConfigurationPropertiesFormat{
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// Subnet: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
// },
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ScaleUnits: to.Ptr[int32](2),
// },
// SKU: &armnetwork.SKU{
// Name: to.Ptr(armnetwork.BastionHostSKUNamePremium),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates the specified Bastion Host.
*
* @summary Creates or updates the specified Bastion Host.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPutWithPrivateOnly.json
*/
async function createBastionHostWithPrivateOnly() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const bastionHostName = "bastionhosttenant";
const parameters = {
enablePrivateOnlyBastion: true,
ipConfigurations: [
{
name: "bastionHostIpConfiguration",
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet",
},
},
],
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.bastionHosts.beginCreateOrUpdateAndWait(
resourceGroupName,
bastionHostName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPutWithPrivateOnly.json
// this example is just showing the usage of "BastionHosts_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this BastionHostResource
BastionHostCollection collection = resourceGroupResource.GetBastionHosts();
// invoke the operation
string bastionHostName = "bastionhosttenant";
BastionHostData data = new BastionHostData
{
IPConfigurations = {new BastionHostIPConfiguration
{
SubnetId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
Name = "bastionHostIpConfiguration",
}},
EnablePrivateOnlyBastion = true,
};
ArmOperation<BastionHostResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, bastionHostName, data);
BastionHostResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BastionHostData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "bastionhosttenant",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant",
"type": "Microsoft.Network/bastionHosts",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"location": "West US",
"sku": {
"name": "Premium"
},
"properties": {
"provisioningState": "Succeeded",
"dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
"scaleUnits": 2,
"disableCopyPaste": false,
"enableTunneling": false,
"enableIpConnect": false,
"enableShareableLink": false,
"enableKerberos": false,
"enableSessionRecording": false,
"enablePrivateOnlyBastion": true,
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
"properties": {
"provisioningState": "Succeeded",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
}
}
}
]
}
}
{
"name": "bastionhosttenant",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant",
"type": "Microsoft.Network/bastionHosts",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"location": "West US",
"sku": {
"name": "Premium"
},
"properties": {
"provisioningState": "Succeeded",
"dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
"scaleUnits": 2,
"disableCopyPaste": false,
"enableTunneling": false,
"enableIpConnect": false,
"enableShareableLink": false,
"enableKerberos": false,
"enableSessionRecording": false,
"enablePrivateOnlyBastion": true,
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
"properties": {
"provisioningState": "Succeeded",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
}
}
}
]
}
}
Create Bastion Host With Zones
範例要求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant?api-version=2024-05-01
{
"properties": {
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"properties": {
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
},
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
}
}
}
]
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BastionHostInner;
import com.azure.resourcemanager.network.models.BastionHostIpConfiguration;
import java.util.Arrays;
/**
* Samples for BastionHosts CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPutWithZones.json
*/
/**
* Sample code: Create Bastion Host With Zones.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createBastionHostWithZones(com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getBastionHosts().createOrUpdate("rg1", "bastionhosttenant",
new BastionHostInner().withIpConfigurations(Arrays.asList(new BastionHostIpConfiguration()
.withName("bastionHostIpConfiguration")
.withSubnet(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"))
.withPublicIpAddress(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName")))),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python bastion_host_put_with_zones.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.bastion_hosts.begin_create_or_update(
resource_group_name="rg1",
bastion_host_name="bastionhosttenant",
parameters={
"properties": {
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"properties": {
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
},
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
},
},
}
]
}
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPutWithZones.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPutWithZones.json
func ExampleBastionHostsClient_BeginCreateOrUpdate_createBastionHostWithZones() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewBastionHostsClient().BeginCreateOrUpdate(ctx, "rg1", "bastionhosttenant", armnetwork.BastionHost{
Properties: &armnetwork.BastionHostPropertiesFormat{
IPConfigurations: []*armnetwork.BastionHostIPConfiguration{
{
Name: to.Ptr("bastionHostIpConfiguration"),
Properties: &armnetwork.BastionHostIPConfigurationPropertiesFormat{
PublicIPAddress: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"),
},
Subnet: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
},
},
}},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BastionHost = armnetwork.BastionHost{
// Name: to.Ptr("bastionhost"),
// Type: to.Ptr("Microsoft.Network/bastionHosts"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'"),
// Location: to.Ptr("West US"),
// Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
// Properties: &armnetwork.BastionHostPropertiesFormat{
// DisableCopyPaste: to.Ptr(false),
// DNSName: to.Ptr("bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com"),
// EnableIPConnect: to.Ptr(false),
// EnableKerberos: to.Ptr(false),
// EnablePrivateOnlyBastion: to.Ptr(false),
// EnableSessionRecording: to.Ptr(false),
// EnableShareableLink: to.Ptr(false),
// EnableTunneling: to.Ptr(false),
// IPConfigurations: []*armnetwork.BastionHostIPConfiguration{
// {
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration"),
// Name: to.Ptr("bastionHostIpConfiguration"),
// Type: to.Ptr("Microsoft.Network/bastionHosts/bastionHostIpConfigurations"),
// Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
// Properties: &armnetwork.BastionHostIPConfigurationPropertiesFormat{
// PrivateIPAllocationMethod: to.Ptr(armnetwork.IPAllocationMethodDynamic),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// PublicIPAddress: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"),
// },
// Subnet: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
// },
// },
// }},
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// ScaleUnits: to.Ptr[int32](2),
// },
// SKU: &armnetwork.SKU{
// Name: to.Ptr(armnetwork.BastionHostSKUNameStandard),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates the specified Bastion Host.
*
* @summary Creates or updates the specified Bastion Host.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPutWithZones.json
*/
async function createBastionHostWithZones() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg1";
const bastionHostName = "bastionhosttenant";
const parameters = {
ipConfigurations: [
{
name: "bastionHostIpConfiguration",
publicIPAddress: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName",
},
subnet: {
id: "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet",
},
},
],
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.bastionHosts.beginCreateOrUpdateAndWait(
resourceGroupName,
bastionHostName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostPutWithZones.json
// this example is just showing the usage of "BastionHosts_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg1";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this BastionHostResource
BastionHostCollection collection = resourceGroupResource.GetBastionHosts();
// invoke the operation
string bastionHostName = "bastionhosttenant";
BastionHostData data = new BastionHostData
{
IPConfigurations = {new BastionHostIPConfiguration
{
SubnetId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"),
PublicIPAddressId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"),
Name = "bastionHostIpConfiguration",
}},
};
ArmOperation<BastionHostResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, bastionHostName, data);
BastionHostResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BastionHostData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "bastionhost",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
"type": "Microsoft.Network/bastionHosts",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"location": "West US",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
"scaleUnits": 2,
"disableCopyPaste": false,
"enableTunneling": false,
"enableIpConnect": false,
"enableShareableLink": false,
"enableKerberos": false,
"enableSessionRecording": false,
"enablePrivateOnlyBastion": false,
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
"properties": {
"provisioningState": "Succeeded",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
},
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
}
}
}
]
}
}
{
"name": "bastionhost'",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'",
"type": "Microsoft.Network/bastionHosts",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"location": "West US",
"sku": {
"name": "Standard"
},
"properties": {
"provisioningState": "Succeeded",
"dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com",
"scaleUnits": 2,
"disableCopyPaste": false,
"enableTunneling": false,
"enableIpConnect": false,
"enableShareableLink": false,
"enableKerberos": false,
"enableSessionRecording": false,
"enablePrivateOnlyBastion": false,
"ipConfigurations": [
{
"name": "bastionHostIpConfiguration",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"type": "Microsoft.Network/bastionHosts/bastionHostIpConfigurations",
"properties": {
"provisioningState": "Succeeded",
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet"
},
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
}
}
}
]
}
}
Create Developer Bastion Host
範例要求
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper?api-version=2024-05-01
{
"properties": {
"virtualNetwork": {
"id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2"
},
"networkAcls": {
"ipRules": [
{
"addressPrefix": "1.1.1.1/16"
}
]
},
"ipConfigurations": []
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.BastionHostInner;
import com.azure.resourcemanager.network.models.BastionHostPropertiesFormatNetworkAcls;
import com.azure.resourcemanager.network.models.IpRule;
import java.util.Arrays;
/**
* Samples for BastionHosts CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostDeveloperPut.json
*/
/**
* Sample code: Create Developer Bastion Host.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createDeveloperBastionHost(com.azure.resourcemanager.AzureResourceManager azure) {
azure.networks().manager().serviceClient().getBastionHosts().createOrUpdate("rg2", "bastionhostdeveloper",
new BastionHostInner().withIpConfigurations(Arrays.asList())
.withVirtualNetwork(new SubResource().withId(
"/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2"))
.withNetworkAcls(new BastionHostPropertiesFormatNetworkAcls()
.withIpRules(Arrays.asList(new IpRule().withAddressPrefix("1.1.1.1/16")))),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python bastion_host_developer_put.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.bastion_hosts.begin_create_or_update(
resource_group_name="rg2",
bastion_host_name="bastionhostdeveloper",
parameters={
"properties": {
"ipConfigurations": [],
"networkAcls": {"ipRules": [{"addressPrefix": "1.1.1.1/16"}]},
"virtualNetwork": {
"id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2"
},
}
},
).result()
print(response)
# x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostDeveloperPut.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/ab04533261eff228f28e08900445d0edef3eb70c/specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostDeveloperPut.json
func ExampleBastionHostsClient_BeginCreateOrUpdate_createDeveloperBastionHost() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewBastionHostsClient().BeginCreateOrUpdate(ctx, "rg2", "bastionhostdeveloper", armnetwork.BastionHost{
Properties: &armnetwork.BastionHostPropertiesFormat{
IPConfigurations: []*armnetwork.BastionHostIPConfiguration{},
NetworkACLs: &armnetwork.BastionHostPropertiesFormatNetworkACLs{
IPRules: []*armnetwork.IPRule{
{
AddressPrefix: to.Ptr("1.1.1.1/16"),
}},
},
VirtualNetwork: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2"),
},
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.BastionHost = armnetwork.BastionHost{
// Name: to.Ptr("bastionhostdeveloper"),
// Type: to.Ptr("Microsoft.Network/bastionHosts"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper'"),
// Location: to.Ptr("West US"),
// Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
// Properties: &armnetwork.BastionHostPropertiesFormat{
// DNSName: to.Ptr("omnibrain.uswest.bastionglobal.azure.com"),
// IPConfigurations: []*armnetwork.BastionHostIPConfiguration{
// },
// NetworkACLs: &armnetwork.BastionHostPropertiesFormatNetworkACLs{
// IPRules: []*armnetwork.IPRule{
// {
// AddressPrefix: to.Ptr("1.1.1.1/16"),
// }},
// },
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// VirtualNetwork: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2"),
// },
// },
// SKU: &armnetwork.SKU{
// Name: to.Ptr(armnetwork.BastionHostSKUNameDeveloper),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates the specified Bastion Host.
*
* @summary Creates or updates the specified Bastion Host.
* x-ms-original-file: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostDeveloperPut.json
*/
async function createDeveloperBastionHost() {
const subscriptionId = process.env["NETWORK_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["NETWORK_RESOURCE_GROUP"] || "rg2";
const bastionHostName = "bastionhostdeveloper";
const parameters = {
ipConfigurations: [],
networkAcls: { ipRules: [{ addressPrefix: "1.1.1.1/16" }] },
virtualNetwork: {
id: "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2",
},
};
const credential = new DefaultAzureCredential();
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.bastionHosts.beginCreateOrUpdateAndWait(
resourceGroupName,
bastionHostName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Network.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Network;
// Generated from example definition: specification/network/resource-manager/Microsoft.Network/stable/2024-05-01/examples/BastionHostDeveloperPut.json
// this example is just showing the usage of "BastionHosts_CreateOrUpdate" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this ResourceGroupResource created on azure
// for more information of creating ResourceGroupResource, please refer to the document of ResourceGroupResource
string subscriptionId = "subid";
string resourceGroupName = "rg2";
ResourceIdentifier resourceGroupResourceId = ResourceGroupResource.CreateResourceIdentifier(subscriptionId, resourceGroupName);
ResourceGroupResource resourceGroupResource = client.GetResourceGroupResource(resourceGroupResourceId);
// get the collection of this BastionHostResource
BastionHostCollection collection = resourceGroupResource.GetBastionHosts();
// invoke the operation
string bastionHostName = "bastionhostdeveloper";
BastionHostData data = new BastionHostData
{
IPConfigurations = { },
VirtualNetworkId = new ResourceIdentifier("/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2"),
NetworkAclsIPRules = {new BastionHostIPRule
{
AddressPrefix = "1.1.1.1/16",
}},
};
ArmOperation<BastionHostResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, bastionHostName, data);
BastionHostResource result = lro.Value;
// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
BastionHostData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
範例回覆
{
"name": "bastionhostdeveloper",
"id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper'",
"type": "Microsoft.Network/bastionHosts",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"location": "West US",
"sku": {
"name": "Developer"
},
"properties": {
"provisioningState": "Succeeded",
"dnsName": "omnibrain.uswest.bastionglobal.azure.com",
"virtualNetwork": {
"id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2"
},
"networkAcls": {
"ipRules": [
{
"addressPrefix": "1.1.1.1/16"
}
]
},
"ipConfigurations": []
}
}
{
"name": "bastionhostdeveloper'",
"id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper'",
"type": "Microsoft.Network/bastionHosts",
"etag": "w/\\00000000-0000-0000-0000-000000000000\\",
"location": "West US",
"sku": {
"name": "Developer"
},
"properties": {
"provisioningState": "Succeeded",
"dnsName": "omnibrain.uswest.bastionglobal.azure.com",
"virtualNetwork": {
"id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2"
},
"networkAcls": {
"ipRules": [
{
"addressPrefix": "1.1.1.1/16"
}
]
},
"ipConfigurations": []
}
}
定義
BastionHost
Bastion 主機資源。
名稱 |
類型 |
預設值 |
Description |
etag
|
string
|
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
|
資源標識碼。
|
location
|
string
|
|
資源位置。
|
name
|
string
|
|
資源名稱。
|
properties.disableCopyPaste
|
boolean
|
False
|
啟用/停用 Bastion 主機資源的複製/貼上功能。
|
properties.dnsName
|
string
|
|
可存取防禦主機之端點的 FQDN。
|
properties.enableFileCopy
|
boolean
|
False
|
啟用/停用 Bastion 主機資源的檔案複製功能。
|
properties.enableIpConnect
|
boolean
|
False
|
啟用/停用 Bastion 主機資源的 IP Connect 功能。
|
properties.enableKerberos
|
boolean
|
False
|
啟用/停用 Bastion 主機資源的 Kerberos 功能。
|
properties.enablePrivateOnlyBastion
|
boolean
|
False
|
啟用/停用 Bastion 主機資源的僅限私人功能。
|
properties.enableSessionRecording
|
boolean
|
False
|
啟用/停用 Bastion 主機資源的會話錄製功能。
|
properties.enableShareableLink
|
boolean
|
False
|
啟用/停用 Bastion 主機資源的可共享連結。
|
properties.enableTunneling
|
boolean
|
False
|
啟用/停用 Bastion 主機資源的通道功能。
|
properties.ipConfigurations
|
BastionHostIPConfiguration[]
|
|
Bastion 主機資源的IP組態。
|
properties.networkAcls
|
NetworkAcls
|
|
|
properties.provisioningState
|
ProvisioningState
|
|
防禦主機資源的布建狀態。
|
properties.scaleUnits
|
integer
|
|
Bastion 主機資源的縮放單位。
|
properties.virtualNetwork
|
SubResource
|
|
僅限開發人員 Bastion 主機所需的現有虛擬網路參考。
|
sku
|
Sku
|
|
此 Bastion 主機的 SKU。
|
tags
|
object
|
|
資源標籤。
|
type
|
string
|
|
資源類型。
|
zones
|
string[]
|
|
可用性區域清單,表示資源需要來自何處。
|
BastionHostIPConfiguration
Bastion 主機的IP組態。
名稱 |
類型 |
Description |
etag
|
string
|
每當更新資源時變更的唯一隻讀字串。
|
id
|
string
|
資源標識碼。
|
name
|
string
|
資源群組內唯一的資源名稱。 此名稱可用來存取資源。
|
properties.privateIPAllocationMethod
|
IPAllocationMethod
|
私人IP配置方法。
|
properties.provisioningState
|
ProvisioningState
|
防禦主機 IP 組態資源的布建狀態。
|
properties.publicIPAddress
|
SubResource
|
PublicIP 資源的參考。 僅限私人防禦的 Null
|
properties.subnet
|
SubResource
|
子網資源的參考。
|
type
|
string
|
Ip 組態類型。
|
BastionHostSkuName
這個 Bastion 主機的 SKU 名稱。
名稱 |
類型 |
Description |
Basic
|
string
|
|
Developer
|
string
|
|
Premium
|
string
|
|
Standard
|
string
|
|
CloudError
來自服務的錯誤回應。
CloudErrorBody
來自服務的錯誤回應。
名稱 |
類型 |
Description |
code
|
string
|
錯誤的識別碼。 程序代碼是不變的,而且是要以程序設計方式取用。
|
details
|
CloudErrorBody[]
|
錯誤的其他詳細數據清單。
|
message
|
string
|
描述錯誤的訊息,適用於在使用者介面中顯示。
|
target
|
string
|
特定錯誤的目標。 例如,錯誤中的屬性名稱。
|
IPAllocationMethod
IP 位址配置方法。
名稱 |
類型 |
Description |
Dynamic
|
string
|
|
Static
|
string
|
|
IPRule
名稱 |
類型 |
Description |
addressPrefix
|
string
|
以 CIDR 格式指定 IP 或 IP 範圍。 只允許 IPV4 位址。
|
NetworkAcls
名稱 |
類型 |
Description |
ipRules
|
IPRule[]
|
設定開發人員 Bastion 主機的 IP ACL 規則。
|
ProvisioningState
目前的布建狀態。
名稱 |
類型 |
Description |
Deleting
|
string
|
|
Failed
|
string
|
|
Succeeded
|
string
|
|
Updating
|
string
|
|
Sku
此 Bastion 主機的 SKU。
SubResource
另一個子資源的參考。
名稱 |
類型 |
Description |
id
|
string
|
資源標識碼。
|