New-CmAzIaasBastionHost

Creates Bastion host

Completes following:

  • This script creates Bastion hosts in resource group.
  • Creates ‘AzureBastionSubnet’ if not already exists.
  • Azure Bastion provisions directly in your Azure Virtual Network, providing Bastion host or jump server as-a-service and integrated connectivity to all virtual machines in your virtual networking using RDP/SSH directly from and through your browser and the Azure portal experience.

This command forms part of the IaaS Building Block.

Parameters

-SettingsFile

Required. (String) File path for the settings file to be converted into a settings object.

-SettingsObject

Required. (Object) Object containing the configuration values required to run this cmdlet.

-TagSettingsFile

Required. (String) File path for the tag settings file to be converted into a tag settings object.

-WhatIf

(Switch) Run the command without executing any actions, so that no changes are made. The command will output a description of actions to be performed against the affected resources in the console window. Use this option if you are unsure of the overall impact of your command and wish to review it before committing to making changes.

-Confirm

(Switch) Run the command without executing any actions, so that no changes are made. The command will output a description of actions to be performed against the affected resources in the console window. Use this option if you are unsure of the overall impact of your command and wish to review it before committing to making changes.

Usage

Example 1

1
New-CmAzIaasBastionHost -settingsFile "BastionHostyml"

Example 2

1
New-CmAzIaasBastionHost -settingsObject $BastionHostSettings

Settings

Beta documentation
The following schema documentation is automatically generated as part of a recent roadmap task. There may be inaccuracies or incomplete information while we flush out bugs; please refer to the packed project settings examples where necessary.

Settings Root.

Component

component [string | null]

Value to determine what cmdlet should be dynamically loaded for these settings.

Location

location [string] Mandatory

Location for all resource deployments.

Service

service [object] Mandatory

Contains dependency and publish details for service location.

Dependencies

dependencies [object]

Contains dependency details for service location.

ResourceGroup

resourceGroup [string]

Dependency value to fetch existing resource type.

Workspace

workspace [string]

Dependency value to fetch existing resource type.

Vnet

vnet [string | null]

Global default dependency value to fetch existing resource type.

Publish

publish [object | null]

Contains publish details for service location.

Bastion

bastion [string | null]

Global default value to publish on deployed resource type.

BastionPublicIP

bastionPublicIP [string | null]

Global default value to publish on deployed resource type.

BastionHosts

bastionHosts [array] Mandatory

Container for Bastion Host details.

BastionHostName

bastionHostName [string]

Name for Bastion Host

BastionHostSubnetPrefix

bastionHostSubnetPrefix [string | null]

Subnet prefix for Bastion Host

Service

service [object | null] Mandatory

Contains dependency and publish details for service location.

Dependencies

dependencies [object | null]

Contains dependency details for service location.

Vnet

vnet [string | null]

Local overriding dependency value to fetch existing resource type.

Publish

publish [object | null]

Contains publish details for service location.

Bastion

bastion [string | null]

Local overriding value to publish on deployed existing resource type.

BastionPublicIP

bastionPublicIP [string | null]

Local overriding value to publish on deployed existing resource type.

Examples

The following example files are automatically generated from the settings file schema definition to show how the specification can be used in practise. Cloudmarque can accept both JSON and YAML parameter files.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
  "component": "string",
  "location": "string",
  "service": {
    "dependencies": {
      "resourceGroup": "string",
      "workspace": "string",
      "vnet": "string"
    },
    "publish": {
      "bastion": "string",
      "bastionPublicIP": "string"
    }
  },
  "bastionHosts": [
    {
      "bastionHostName": "string",
      "bastionHostSubnetPrefix": "string",
      "service": {
        "dependencies": {
          "vnet": "string"
        },
        "publish": {
          "bastion": "string",
          "bastionPublicIP": "string"
        }
      }
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
component: "string"    # Optional
location: "string"    # Mandatory
service:     # Mandatory
  dependencies:     # Mandatory
    resourceGroup: "string"    # Mandatory
    workspace: "string"    # Mandatory
    vnet: "string"    # Optional
  publish:     # Optional
    bastion: "string"    # Optional
    bastionPublicIP: "string"    # Optional
bastionHosts:     # Mandatory
  - bastionHostName: "string"    # Mandatory
    bastionHostSubnetPrefix: "string"    # Optional
    service:     # Optional
      dependencies:     # Optional
        vnet: "string"    # Optional
      publish:     # Optional
        bastion: "string"    # Optional
        bastionPublicIP: "string"    # Optional