RunCommandArgs

data class RunCommandArgs(val errorBlobManagedIdentity: Output<RunCommandErrorBlobManagedIdentityArgs>? = null, val errorBlobUri: Output<String>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val outputBlobManagedIdentity: Output<RunCommandOutputBlobManagedIdentityArgs>? = null, val outputBlobUri: Output<String>? = null, val parameters: Output<List<RunCommandParameterArgs>>? = null, val protectedParameters: Output<List<RunCommandProtectedParameterArgs>>? = null, val runAsPassword: Output<String>? = null, val runAsUser: Output<String>? = null, val source: Output<RunCommandSourceArgs>? = null, val tags: Output<Map<String, String>>? = null, val virtualMachineId: Output<String>? = null) : ConvertibleToJava<RunCommandArgs>

Manages a Virtual Machine Run Command.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const exampleResourceGroup = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
name: "example-vnet",
addressSpaces: ["10&#46;0&#46;0&#46;0/16"],
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
});
const exampleSubnet = new azure.network.Subnet("example", {
name: "internal",
resourceGroupName: exampleResourceGroup.name,
virtualNetworkName: exampleVirtualNetwork.name,
addressPrefixes: ["10&#46;0&#46;2&#46;0/24"],
});
const exampleNetworkInterface = new azure.network.NetworkInterface("example", {
name: "example-nic",
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
ipConfigurations: [{
name: "internal",
subnetId: exampleSubnet.id,
privateIpAddressAllocation: "Dynamic",
}],
});
const exampleUserAssignedIdentity = new azure.authorization.UserAssignedIdentity("example", {
name: "example-uai",
resourceGroupName: exampleResourceGroup.name,
location: exampleResourceGroup.location,
});
const exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine("example", {
name: "example-VM",
resourceGroupName: exampleResourceGroup.name,
location: exampleResourceGroup.location,
size: "Standard_B2s",
adminUsername: "adminuser",
adminPassword: "P@$$w0rd1234!",
disablePasswordAuthentication: false,
networkInterfaceIds: [exampleNetworkInterface&#46;id],
osDisk: {
caching: "ReadWrite",
storageAccountType: "Premium_LRS",
},
sourceImageReference: {
publisher: "Canonical",
offer: "0001-com-ubuntu-server-jammy",
sku: "22_04-lts",
version: "latest",
},
identity: {
type: "SystemAssigned, UserAssigned",
identityIds: [exampleUserAssignedIdentity&#46;id],
},
});
const exampleAccount = new azure.storage.Account("example", {
name: "exampleaccount",
resourceGroupName: exampleResourceGroup.name,
location: exampleResourceGroup.location,
accountTier: "Standard",
accountReplicationType: "LRS",
});
const exampleAssignment = new azure.authorization.Assignment("example", {
scope: exampleAccount.id,
roleDefinitionName: "Storage Blob Data Contributor",
principalId: exampleUserAssignedIdentity.principalId,
});
const exampleContainer = new azure.storage.Container("example", {
name: "example-sc",
storageAccountName: exampleAccount.name,
containerAccessType: "blob",
});
const example1 = new azure.storage.Blob("example1", {
name: "script1",
storageAccountName: exampleAccount.name,
storageContainerName: exampleContainer.name,
type: "Block",
sourceContent: "echo 'hello world'",
});
const example2 = new azure.storage.Blob("example2", {
name: "output",
storageAccountName: exampleAccount.name,
storageContainerName: exampleContainer.name,
type: "Append",
});
const example3 = new azure.storage.Blob("example3", {
name: "error",
storageAccountName: exampleAccount.name,
storageContainerName: exampleContainer.name,
type: "Append",
});
const example = azure.storage.getAccountSASOutput({
connectionString: exampleAccount.primaryConnectionString,
httpsOnly: true,
signedVersion: "2019-10-10",
start: "2023-04-01T00:00:00Z",
expiry: "2024-04-01T00:00:00Z",
resourceTypes: {
service: false,
container: false,
object: true,
},
services: {
blob: true,
queue: false,
table: false,
file: false,
},
permissions: {
read: true,
write: true,
"delete": false,
list: false,
add: true,
create: true,
update: false,
process: false,
tag: false,
filter: false,
},
});
// basic example
const exampleRunCommand = new azure.compute.RunCommand("example", {
name: "example-vmrc",
location: exampleResourceGroup.location,
virtualMachineId: exampleLinuxVirtualMachine.id,
source: {
script: "echo 'hello world'",
},
});
// authorize to storage blob using user assigned identity
const example2RunCommand = new azure.compute.RunCommand("example2", {
location: exampleResourceGroup.location,
name: "example2-vmrc",
virtualMachineId: exampleLinuxVirtualMachine.id,
outputBlobUri: example2.id,
errorBlobUri: example3.id,
runAsPassword: "P@$$w0rd1234!",
runAsUser: "adminuser",
source: {
scriptUri: example1.id,
scriptUriManagedIdentity: {
clientId: exampleUserAssignedIdentity.clientId,
},
},
errorBlobManagedIdentity: {
clientId: exampleUserAssignedIdentity.clientId,
},
outputBlobManagedIdentity: {
clientId: exampleUserAssignedIdentity.clientId,
},
parameters: [{
name: "examplev1",
value: "val1",
}],
protectedParameters: [{
name: "examplev2",
value: "val2",
}],
tags: {
environment: "terraform-examples",
some_key: "some-value",
},
}, {
dependsOn: [exampleAssignment],
});
// authorize to storage blob using SAS token
const example3RunCommand = new azure.compute.RunCommand("example3", {
location: exampleResourceGroup.location,
name: "example3-vmrc",
virtualMachineId: exampleLinuxVirtualMachine.id,
runAsPassword: "P@$$w0rd1234!",
runAsUser: "adminuser",
errorBlobUri: pulumi.all([example3&#46;id, example])&#46;apply(([id, example]) => `${id}${example.sas}`),
outputBlobUri: pulumi.all([example2&#46;id, example])&#46;apply(([id, example]) => `${id}${example.sas}`),
source: {
scriptUri: pulumi.all([example1&#46;id, example])&#46;apply(([id, example]) => `${id}${example.sas}`),
},
parameters: [{
name: "example-vm1",
value: "val1",
}],
tags: {
environment: "terraform-example-s",
some_key: "some-value",
},
});
import pulumi
import pulumi_azure as azure
example_resource_group = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_virtual_network = azure.network.VirtualNetwork("example",
name="example-vnet",
address_spaces=["10&#46;0&#46;0&#46;0/16"],
location=example_resource_group.location,
resource_group_name=example_resource_group.name)
example_subnet = azure.network.Subnet("example",
name="internal",
resource_group_name=example_resource_group.name,
virtual_network_name=example_virtual_network.name,
address_prefixes=["10&#46;0&#46;2&#46;0/24"])
example_network_interface = azure.network.NetworkInterface("example",
name="example-nic",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
ip_configurations=[{
"name": "internal",
"subnet_id": example_subnet.id,
"private_ip_address_allocation": "Dynamic",
}])
example_user_assigned_identity = azure.authorization.UserAssignedIdentity("example",
name="example-uai",
resource_group_name=example_resource_group.name,
location=example_resource_group.location)
example_linux_virtual_machine = azure.compute.LinuxVirtualMachine("example",
name="example-VM",
resource_group_name=example_resource_group.name,
location=example_resource_group.location,
size="Standard_B2s",
admin_username="adminuser",
admin_password="P@$$w0rd1234!",
disable_password_authentication=False,
network_interface_ids=[example_network_interface&#46;id],
os_disk={
"caching": "ReadWrite",
"storage_account_type": "Premium_LRS",
},
source_image_reference={
"publisher": "Canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "22_04-lts",
"version": "latest",
},
identity={
"type": "SystemAssigned, UserAssigned",
"identity_ids": [example_user_assigned_identity&#46;id],
})
example_account = azure.storage.Account("example",
name="exampleaccount",
resource_group_name=example_resource_group.name,
location=example_resource_group.location,
account_tier="Standard",
account_replication_type="LRS")
example_assignment = azure.authorization.Assignment("example",
scope=example_account.id,
role_definition_name="Storage Blob Data Contributor",
principal_id=example_user_assigned_identity.principal_id)
example_container = azure.storage.Container("example",
name="example-sc",
storage_account_name=example_account.name,
container_access_type="blob")
example1 = azure.storage.Blob("example1",
name="script1",
storage_account_name=example_account.name,
storage_container_name=example_container.name,
type="Block",
source_content="echo 'hello world'")
example2 = azure.storage.Blob("example2",
name="output",
storage_account_name=example_account.name,
storage_container_name=example_container.name,
type="Append")
example3 = azure.storage.Blob("example3",
name="error",
storage_account_name=example_account.name,
storage_container_name=example_container.name,
type="Append")
example = azure.storage.get_account_sas_output(connection_string=example_account.primary_connection_string,
https_only=True,
signed_version="2019-10-10",
start="2023-04-01T00:00:00Z",
expiry="2024-04-01T00:00:00Z",
resource_types={
"service": False,
"container": False,
"object": True,
},
services={
"blob": True,
"queue": False,
"table": False,
"file": False,
},
permissions={
"read": True,
"write": True,
"delete": False,
"list": False,
"add": True,
"create": True,
"update": False,
"process": False,
"tag": False,
"filter": False,
})
# basic example
example_run_command = azure.compute.RunCommand("example",
name="example-vmrc",
location=example_resource_group.location,
virtual_machine_id=example_linux_virtual_machine.id,
source={
"script": "echo 'hello world'",
})
# authorize to storage blob using user assigned identity
example2_run_command = azure.compute.RunCommand("example2",
location=example_resource_group.location,
name="example2-vmrc",
virtual_machine_id=example_linux_virtual_machine.id,
output_blob_uri=example2.id,
error_blob_uri=example3.id,
run_as_password="P@$$w0rd1234!",
run_as_user="adminuser",
source={
"script_uri": example1.id,
"script_uri_managed_identity": {
"client_id": example_user_assigned_identity.client_id,
},
},
error_blob_managed_identity={
"client_id": example_user_assigned_identity.client_id,
},
output_blob_managed_identity={
"client_id": example_user_assigned_identity.client_id,
},
parameters=[{
"name": "examplev1",
"value": "val1",
}],
protected_parameters=[{
"name": "examplev2",
"value": "val2",
}],
tags={
"environment": "terraform-examples",
"some_key": "some-value",
},
opts = pulumi.ResourceOptions(depends_on=[example_assignment]))
# authorize to storage blob using SAS token
example3_run_command = azure.compute.RunCommand("example3",
location=example_resource_group.location,
name="example3-vmrc",
virtual_machine_id=example_linux_virtual_machine.id,
run_as_password="P@$$w0rd1234!",
run_as_user="adminuser",
error_blob_uri=pulumi.Output.all(
id=example3.id,
example=example
).apply(lambda resolved_outputs: f"{resolved_outputs['id']}{resolved_outputs['example']}")
,
output_blob_uri=pulumi.Output.all(
id=example2.id,
example=example
).apply(lambda resolved_outputs: f"{resolved_outputs['id']}{resolved_outputs['example']}")
,
source={
"script_uri": pulumi.Output.all(
id=example1.id,
example=example
).apply(lambda resolved_outputs: f"{resolved_outputs['id']}{resolved_outputs['example']}")
,
},
parameters=[{
"name": "example-vm1",
"value": "val1",
}],
tags={
"environment": "terraform-example-s",
"some_key": "some-value",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
{
Name = "example-vnet",
AddressSpaces = new[]
{
"10.0.0.0/16",
},
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
});
var exampleSubnet = new Azure.Network.Subnet("example", new()
{
Name = "internal",
ResourceGroupName = exampleResourceGroup.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes = new[]
{
"10.0.2.0/24",
},
});
var exampleNetworkInterface = new Azure.Network.NetworkInterface("example", new()
{
Name = "example-nic",
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
IpConfigurations = new[]
{
new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs
{
Name = "internal",
SubnetId = exampleSubnet.Id,
PrivateIpAddressAllocation = "Dynamic",
},
},
});
var exampleUserAssignedIdentity = new Azure.Authorization.UserAssignedIdentity("example", new()
{
Name = "example-uai",
ResourceGroupName = exampleResourceGroup.Name,
Location = exampleResourceGroup.Location,
});
var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine("example", new()
{
Name = "example-VM",
ResourceGroupName = exampleResourceGroup.Name,
Location = exampleResourceGroup.Location,
Size = "Standard_B2s",
AdminUsername = "adminuser",
AdminPassword = "P@$$w0rd1234!",
DisablePasswordAuthentication = false,
NetworkInterfaceIds = new[]
{
exampleNetworkInterface.Id,
},
OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs
{
Caching = "ReadWrite",
StorageAccountType = "Premium_LRS",
},
SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs
{
Publisher = "Canonical",
Offer = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest",
},
Identity = new Azure.Compute.Inputs.LinuxVirtualMachineIdentityArgs
{
Type = "SystemAssigned, UserAssigned",
IdentityIds = new[]
{
exampleUserAssignedIdentity.Id,
},
},
});
var exampleAccount = new Azure.Storage.Account("example", new()
{
Name = "exampleaccount",
ResourceGroupName = exampleResourceGroup.Name,
Location = exampleResourceGroup.Location,
AccountTier = "Standard",
AccountReplicationType = "LRS",
});
var exampleAssignment = new Azure.Authorization.Assignment("example", new()
{
Scope = exampleAccount.Id,
RoleDefinitionName = "Storage Blob Data Contributor",
PrincipalId = exampleUserAssignedIdentity.PrincipalId,
});
var exampleContainer = new Azure.Storage.Container("example", new()
{
Name = "example-sc",
StorageAccountName = exampleAccount.Name,
ContainerAccessType = "blob",
});
var example1 = new Azure.Storage.Blob("example1", new()
{
Name = "script1",
StorageAccountName = exampleAccount.Name,
StorageContainerName = exampleContainer.Name,
Type = "Block",
SourceContent = "echo 'hello world'",
});
var example2 = new Azure.Storage.Blob("example2", new()
{
Name = "output",
StorageAccountName = exampleAccount.Name,
StorageContainerName = exampleContainer.Name,
Type = "Append",
});
var example3 = new Azure.Storage.Blob("example3", new()
{
Name = "error",
StorageAccountName = exampleAccount.Name,
StorageContainerName = exampleContainer.Name,
Type = "Append",
});
var example = Azure.Storage.GetAccountSAS.Invoke(new()
{
ConnectionString = exampleAccount.PrimaryConnectionString,
HttpsOnly = true,
SignedVersion = "2019-10-10",
Start = "2023-04-01T00:00:00Z",
Expiry = "2024-04-01T00:00:00Z",
ResourceTypes = new Azure.Storage.Inputs.GetAccountSASResourceTypesInputArgs
{
Service = false,
Container = false,
Object = true,
},
Services = new Azure.Storage.Inputs.GetAccountSASServicesInputArgs
{
Blob = true,
Queue = false,
Table = false,
File = false,
},
Permissions = new Azure.Storage.Inputs.GetAccountSASPermissionsInputArgs
{
Read = true,
Write = true,
Delete = false,
List = false,
Add = true,
Create = true,
Update = false,
Process = false,
Tag = false,
Filter = false,
},
});
// basic example
var exampleRunCommand = new Azure.Compute.RunCommand("example", new()
{
Name = "example-vmrc",
Location = exampleResourceGroup.Location,
VirtualMachineId = exampleLinuxVirtualMachine.Id,
Source = new Azure.Compute.Inputs.RunCommandSourceArgs
{
Script = "echo 'hello world'",
},
});
// authorize to storage blob using user assigned identity
var example2RunCommand = new Azure.Compute.RunCommand("example2", new()
{
Location = exampleResourceGroup.Location,
Name = "example2-vmrc",
VirtualMachineId = exampleLinuxVirtualMachine.Id,
OutputBlobUri = example2.Id,
ErrorBlobUri = example3.Id,
RunAsPassword = "P@$$w0rd1234!",
RunAsUser = "adminuser",
Source = new Azure.Compute.Inputs.RunCommandSourceArgs
{
ScriptUri = example1.Id,
ScriptUriManagedIdentity = new Azure.Compute.Inputs.RunCommandSourceScriptUriManagedIdentityArgs
{
ClientId = exampleUserAssignedIdentity.ClientId,
},
},
ErrorBlobManagedIdentity = new Azure.Compute.Inputs.RunCommandErrorBlobManagedIdentityArgs
{
ClientId = exampleUserAssignedIdentity.ClientId,
},
OutputBlobManagedIdentity = new Azure.Compute.Inputs.RunCommandOutputBlobManagedIdentityArgs
{
ClientId = exampleUserAssignedIdentity.ClientId,
},
Parameters = new[]
{
new Azure.Compute.Inputs.RunCommandParameterArgs
{
Name = "examplev1",
Value = "val1",
},
},
ProtectedParameters = new[]
{
new Azure.Compute.Inputs.RunCommandProtectedParameterArgs
{
Name = "examplev2",
Value = "val2",
},
},
Tags =
{
{ "environment", "terraform-examples" },
{ "some_key", "some-value" },
},
}, new CustomResourceOptions
{
DependsOn =
{
exampleAssignment,
},
});
// authorize to storage blob using SAS token
var example3RunCommand = new Azure.Compute.RunCommand("example3", new()
{
Location = exampleResourceGroup.Location,
Name = "example3-vmrc",
VirtualMachineId = exampleLinuxVirtualMachine.Id,
RunAsPassword = "P@$$w0rd1234!",
RunAsUser = "adminuser",
ErrorBlobUri = Output.Tuple(example3.Id, example).Apply(values =>
{
var id = values.Item1;
var example = values.Item2;
return $"{id}{example.Apply(getAccountSASResult => getAccountSASResult.Sas)}";
}),
OutputBlobUri = Output.Tuple(example2.Id, example).Apply(values =>
{
var id = values.Item1;
var example = values.Item2;
return $"{id}{example.Apply(getAccountSASResult => getAccountSASResult.Sas)}";
}),
Source = new Azure.Compute.Inputs.RunCommandSourceArgs
{
ScriptUri = Output.Tuple(example1.Id, example).Apply(values =>
{
var id = values.Item1;
var example = values.Item2;
return $"{id}{example.Apply(getAccountSASResult => getAccountSASResult.Sas)}";
}),
},
Parameters = new[]
{
new Azure.Compute.Inputs.RunCommandParameterArgs
{
Name = "example-vm1",
Value = "val1",
},
},
Tags =
{
{ "environment", "terraform-example-s" },
{ "some_key", "some-value" },
},
});
});
package main
import (
"fmt"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
Name: pulumi.String("example-vnet"),
AddressSpaces: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
})
if err != nil {
return err
}
exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
Name: pulumi.String("internal"),
ResourceGroupName: exampleResourceGroup.Name,
VirtualNetworkName: exampleVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.2.0/24"),
},
})
if err != nil {
return err
}
exampleNetworkInterface, err := network.NewNetworkInterface(ctx, "example", &network.NetworkInterfaceArgs{
Name: pulumi.String("example-nic"),
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
&network.NetworkInterfaceIpConfigurationArgs{
Name: pulumi.String("internal"),
SubnetId: exampleSubnet.ID(),
PrivateIpAddressAllocation: pulumi.String("Dynamic"),
},
},
})
if err != nil {
return err
}
exampleUserAssignedIdentity, err := authorization.NewUserAssignedIdentity(ctx, "example", &authorization.UserAssignedIdentityArgs{
Name: pulumi.String("example-uai"),
ResourceGroupName: exampleResourceGroup.Name,
Location: exampleResourceGroup.Location,
})
if err != nil {
return err
}
exampleLinuxVirtualMachine, err := compute.NewLinuxVirtualMachine(ctx, "example", &compute.LinuxVirtualMachineArgs{
Name: pulumi.String("example-VM"),
ResourceGroupName: exampleResourceGroup.Name,
Location: exampleResourceGroup.Location,
Size: pulumi.String("Standard_B2s"),
AdminUsername: pulumi.String("adminuser"),
AdminPassword: pulumi.String("P@$$w0rd1234!"),
DisablePasswordAuthentication: pulumi.Bool(false),
NetworkInterfaceIds: pulumi.StringArray{
exampleNetworkInterface.ID(),
},
OsDisk: &compute.LinuxVirtualMachineOsDiskArgs{
Caching: pulumi.String("ReadWrite"),
StorageAccountType: pulumi.String("Premium_LRS"),
},
SourceImageReference: &compute.LinuxVirtualMachineSourceImageReferenceArgs{
Publisher: pulumi.String("Canonical"),
Offer: pulumi.String("0001-com-ubuntu-server-jammy"),
Sku: pulumi.String("22_04-lts"),
Version: pulumi.String("latest"),
},
Identity: &compute.LinuxVirtualMachineIdentityArgs{
Type: pulumi.String("SystemAssigned, UserAssigned"),
IdentityIds: pulumi.StringArray{
exampleUserAssignedIdentity.ID(),
},
},
})
if err != nil {
return err
}
exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
Name: pulumi.String("exampleaccount"),
ResourceGroupName: exampleResourceGroup.Name,
Location: exampleResourceGroup.Location,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("LRS"),
})
if err != nil {
return err
}
exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{
Scope: exampleAccount.ID(),
RoleDefinitionName: pulumi.String("Storage Blob Data Contributor"),
PrincipalId: exampleUserAssignedIdentity.PrincipalId,
})
if err != nil {
return err
}
exampleContainer, err := storage.NewContainer(ctx, "example", &storage.ContainerArgs{
Name: pulumi.String("example-sc"),
StorageAccountName: exampleAccount.Name,
ContainerAccessType: pulumi.String("blob"),
})
if err != nil {
return err
}
example1, err := storage.NewBlob(ctx, "example1", &storage.BlobArgs{
Name: pulumi.String("script1"),
StorageAccountName: exampleAccount.Name,
StorageContainerName: exampleContainer.Name,
Type: pulumi.String("Block"),
SourceContent: pulumi.String("echo 'hello world'"),
})
if err != nil {
return err
}
example2, err := storage.NewBlob(ctx, "example2", &storage.BlobArgs{
Name: pulumi.String("output"),
StorageAccountName: exampleAccount.Name,
StorageContainerName: exampleContainer.Name,
Type: pulumi.String("Append"),
})
if err != nil {
return err
}
example3, err := storage.NewBlob(ctx, "example3", &storage.BlobArgs{
Name: pulumi.String("error"),
StorageAccountName: exampleAccount.Name,
StorageContainerName: exampleContainer.Name,
Type: pulumi.String("Append"),
})
if err != nil {
return err
}
example := storage.GetAccountSASOutput(ctx, storage.GetAccountSASOutputArgs{
ConnectionString: exampleAccount.PrimaryConnectionString,
HttpsOnly: pulumi.Bool(true),
SignedVersion: pulumi.String("2019-10-10"),
Start: pulumi.String("2023-04-01T00:00:00Z"),
Expiry: pulumi.String("2024-04-01T00:00:00Z"),
ResourceTypes: &storage.GetAccountSASResourceTypesArgs{
Service: pulumi.Bool(false),
Container: pulumi.Bool(false),
Object: pulumi.Bool(true),
},
Services: &storage.GetAccountSASServicesArgs{
Blob: pulumi.Bool(true),
Queue: pulumi.Bool(false),
Table: pulumi.Bool(false),
File: pulumi.Bool(false),
},
Permissions: &storage.GetAccountSASPermissionsArgs{
Read: pulumi.Bool(true),
Write: pulumi.Bool(true),
Delete: pulumi.Bool(false),
List: pulumi.Bool(false),
Add: pulumi.Bool(true),
Create: pulumi.Bool(true),
Update: pulumi.Bool(false),
Process: pulumi.Bool(false),
Tag: pulumi.Bool(false),
Filter: pulumi.Bool(false),
},
}, nil)
// basic example
_, err = compute.NewRunCommand(ctx, "example", &compute.RunCommandArgs{
Name: pulumi.String("example-vmrc"),
Location: exampleResourceGroup.Location,
VirtualMachineId: exampleLinuxVirtualMachine.ID(),
Source: &compute.RunCommandSourceArgs{
Script: pulumi.String("echo 'hello world'"),
},
})
if err != nil {
return err
}
// authorize to storage blob using user assigned identity
_, err = compute.NewRunCommand(ctx, "example2", &compute.RunCommandArgs{
Location: exampleResourceGroup.Location,
Name: pulumi.String("example2-vmrc"),
VirtualMachineId: exampleLinuxVirtualMachine.ID(),
OutputBlobUri: example2.ID(),
ErrorBlobUri: example3.ID(),
RunAsPassword: pulumi.String("P@$$w0rd1234!"),
RunAsUser: pulumi.String("adminuser"),
Source: &compute.RunCommandSourceArgs{
ScriptUri: example1.ID(),
ScriptUriManagedIdentity: &compute.RunCommandSourceScriptUriManagedIdentityArgs{
ClientId: exampleUserAssignedIdentity.ClientId,
},
},
ErrorBlobManagedIdentity: &compute.RunCommandErrorBlobManagedIdentityArgs{
ClientId: exampleUserAssignedIdentity.ClientId,
},
OutputBlobManagedIdentity: &compute.RunCommandOutputBlobManagedIdentityArgs{
ClientId: exampleUserAssignedIdentity.ClientId,
},
Parameters: compute.RunCommandParameterArray{
&compute.RunCommandParameterArgs{
Name: pulumi.String("examplev1"),
Value: pulumi.String("val1"),
},
},
ProtectedParameters: compute.RunCommandProtectedParameterArray{
&compute.RunCommandProtectedParameterArgs{
Name: pulumi.String("examplev2"),
Value: pulumi.String("val2"),
},
},
Tags: pulumi.StringMap{
"environment": pulumi.String("terraform-examples"),
"some_key": pulumi.String("some-value"),
},
}, pulumi.DependsOn([]pulumi.Resource{
exampleAssignment,
}))
if err != nil {
return err
}
// authorize to storage blob using SAS token
_, err = compute.NewRunCommand(ctx, "example3", &compute.RunCommandArgs{
Location: exampleResourceGroup.Location,
Name: pulumi.String("example3-vmrc"),
VirtualMachineId: exampleLinuxVirtualMachine.ID(),
RunAsPassword: pulumi.String("P@$$w0rd1234!"),
RunAsUser: pulumi.String("adminuser"),
ErrorBlobUri: pulumi.All(example3.ID(), example).ApplyT(func(_args []interface{}) (string, error) {
id := _args[0].(string)
example := _args[1].(storage.GetAccountSASResult)
return fmt.Sprintf("%v%v", id, example.Sas), nil
}).(pulumi.StringOutput),
OutputBlobUri: pulumi.All(example2.ID(), example).ApplyT(func(_args []interface{}) (string, error) {
id := _args[0].(string)
example := _args[1].(storage.GetAccountSASResult)
return fmt.Sprintf("%v%v", id, example.Sas), nil
}).(pulumi.StringOutput),
Source: &compute.RunCommandSourceArgs{
ScriptUri: pulumi.All(example1.ID(), example).ApplyT(func(_args []interface{}) (string, error) {
id := _args[0].(string)
example := _args[1].(storage.GetAccountSASResult)
return fmt.Sprintf("%v%v", id, example.Sas), nil
}).(pulumi.StringOutput),
},
Parameters: compute.RunCommandParameterArray{
&compute.RunCommandParameterArgs{
Name: pulumi.String("example-vm1"),
Value: pulumi.String("val1"),
},
},
Tags: pulumi.StringMap{
"environment": pulumi.String("terraform-example-s"),
"some_key": pulumi.String("some-value"),
},
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.NetworkInterface;
import com.pulumi.azure.network.NetworkInterfaceArgs;
import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
import com.pulumi.azure.authorization.UserAssignedIdentity;
import com.pulumi.azure.authorization.UserAssignedIdentityArgs;
import com.pulumi.azure.compute.LinuxVirtualMachine;
import com.pulumi.azure.compute.LinuxVirtualMachineArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineIdentityArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.authorization.Assignment;
import com.pulumi.azure.authorization.AssignmentArgs;
import com.pulumi.azure.storage.Container;
import com.pulumi.azure.storage.ContainerArgs;
import com.pulumi.azure.storage.Blob;
import com.pulumi.azure.storage.BlobArgs;
import com.pulumi.azure.storage.StorageFunctions;
import com.pulumi.azure.storage.inputs.GetAccountSASArgs;
import com.pulumi.azure.storage.inputs.GetAccountSASResourceTypesArgs;
import com.pulumi.azure.storage.inputs.GetAccountSASServicesArgs;
import com.pulumi.azure.storage.inputs.GetAccountSASPermissionsArgs;
import com.pulumi.azure.compute.RunCommand;
import com.pulumi.azure.compute.RunCommandArgs;
import com.pulumi.azure.compute.inputs.RunCommandSourceArgs;
import com.pulumi.azure.compute.inputs.RunCommandSourceScriptUriManagedIdentityArgs;
import com.pulumi.azure.compute.inputs.RunCommandErrorBlobManagedIdentityArgs;
import com.pulumi.azure.compute.inputs.RunCommandOutputBlobManagedIdentityArgs;
import com.pulumi.azure.compute.inputs.RunCommandParameterArgs;
import com.pulumi.azure.compute.inputs.RunCommandProtectedParameterArgs;
import com.pulumi.resources.CustomResourceOptions;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.name("example-vnet")
.addressSpaces("10.0.0.0/16")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.name("internal")
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.2.0/24")
.build());
var exampleNetworkInterface = new NetworkInterface("exampleNetworkInterface", NetworkInterfaceArgs.builder()
.name("example-nic")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()
.name("internal")
.subnetId(exampleSubnet.id())
.privateIpAddressAllocation("Dynamic")
.build())
.build());
var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder()
.name("example-uai")
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.build());
var exampleLinuxVirtualMachine = new LinuxVirtualMachine("exampleLinuxVirtualMachine", LinuxVirtualMachineArgs.builder()
.name("example-VM")
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.size("Standard_B2s")
.adminUsername("adminuser")
.adminPassword("P@$$w0rd1234!")
.disablePasswordAuthentication(false)
.networkInterfaceIds(exampleNetworkInterface.id())
.osDisk(LinuxVirtualMachineOsDiskArgs.builder()
.caching("ReadWrite")
.storageAccountType("Premium_LRS")
.build())
.sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()
.publisher("Canonical")
.offer("0001-com-ubuntu-server-jammy")
.sku("22_04-lts")
.version("latest")
.build())
.identity(LinuxVirtualMachineIdentityArgs.builder()
.type("SystemAssigned, UserAssigned")
.identityIds(exampleUserAssignedIdentity.id())
.build())
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.name("exampleaccount")
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.accountTier("Standard")
.accountReplicationType("LRS")
.build());
var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder()
.scope(exampleAccount.id())
.roleDefinitionName("Storage Blob Data Contributor")
.principalId(exampleUserAssignedIdentity.principalId())
.build());
var exampleContainer = new Container("exampleContainer", ContainerArgs.builder()
.name("example-sc")
.storageAccountName(exampleAccount.name())
.containerAccessType("blob")
.build());
var example1 = new Blob("example1", BlobArgs.builder()
.name("script1")
.storageAccountName(exampleAccount.name())
.storageContainerName(exampleContainer.name())
.type("Block")
.sourceContent("echo 'hello world'")
.build());
var example2 = new Blob("example2", BlobArgs.builder()
.name("output")
.storageAccountName(exampleAccount.name())
.storageContainerName(exampleContainer.name())
.type("Append")
.build());
var example3 = new Blob("example3", BlobArgs.builder()
.name("error")
.storageAccountName(exampleAccount.name())
.storageContainerName(exampleContainer.name())
.type("Append")
.build());
final var example = StorageFunctions.getAccountSAS(GetAccountSASArgs.builder()
.connectionString(exampleAccount.primaryConnectionString())
.httpsOnly(true)
.signedVersion("2019-10-10")
.start("2023-04-01T00:00:00Z")
.expiry("2024-04-01T00:00:00Z")
.resourceTypes(GetAccountSASResourceTypesArgs.builder()
.service(false)
.container(false)
.object(true)
.build())
.services(GetAccountSASServicesArgs.builder()
.blob(true)
.queue(false)
.table(false)
.file(false)
.build())
.permissions(GetAccountSASPermissionsArgs.builder()
.read(true)
.write(true)
.delete(false)
.list(false)
.add(true)
.create(true)
.update(false)
.process(false)
.tag(false)
.filter(false)
.build())
.build());
// basic example
var exampleRunCommand = new RunCommand("exampleRunCommand", RunCommandArgs.builder()
.name("example-vmrc")
.location(exampleResourceGroup.location())
.virtualMachineId(exampleLinuxVirtualMachine.id())
.source(RunCommandSourceArgs.builder()
.script("echo 'hello world'")
.build())
.build());
// authorize to storage blob using user assigned identity
var example2RunCommand = new RunCommand("example2RunCommand", RunCommandArgs.builder()
.location(exampleResourceGroup.location())
.name("example2-vmrc")
.virtualMachineId(exampleLinuxVirtualMachine.id())
.outputBlobUri(example2.id())
.errorBlobUri(example3.id())
.runAsPassword("P@$$w0rd1234!")
.runAsUser("adminuser")
.source(RunCommandSourceArgs.builder()
.scriptUri(example1.id())
.scriptUriManagedIdentity(RunCommandSourceScriptUriManagedIdentityArgs.builder()
.clientId(exampleUserAssignedIdentity.clientId())
.build())
.build())
.errorBlobManagedIdentity(RunCommandErrorBlobManagedIdentityArgs.builder()
.clientId(exampleUserAssignedIdentity.clientId())
.build())
.outputBlobManagedIdentity(RunCommandOutputBlobManagedIdentityArgs.builder()
.clientId(exampleUserAssignedIdentity.clientId())
.build())
.parameters(RunCommandParameterArgs.builder()
.name("examplev1")
.value("val1")
.build())
.protectedParameters(RunCommandProtectedParameterArgs.builder()
.name("examplev2")
.value("val2")
.build())
.tags(Map.ofEntries(
Map.entry("environment", "terraform-examples"),
Map.entry("some_key", "some-value")
))
.build(), CustomResourceOptions.builder()
.dependsOn(exampleAssignment)
.build());
// authorize to storage blob using SAS token
var example3RunCommand = new RunCommand("example3RunCommand", RunCommandArgs.builder()
.location(exampleResourceGroup.location())
.name("example3-vmrc")
.virtualMachineId(exampleLinuxVirtualMachine.id())
.runAsPassword("P@$$w0rd1234!")
.runAsUser("adminuser")
.errorBlobUri(Output.tuple(example3.id(), example).applyValue(values -> {
var id = values.t1;
var example = values.t2;
return String.format("%s%s", id,example.sas());
}))
.outputBlobUri(Output.tuple(example2.id(), example).applyValue(values -> {
var id = values.t1;
var example = values.t2;
return String.format("%s%s", id,example.sas());
}))
.source(RunCommandSourceArgs.builder()
.scriptUri(Output.tuple(example1.id(), example).applyValue(values -> {
var id = values.t1;
var example = values.t2;
return String.format("%s%s", id,example.sas());
}))
.build())
.parameters(RunCommandParameterArgs.builder()
.name("example-vm1")
.value("val1")
.build())
.tags(Map.ofEntries(
Map.entry("environment", "terraform-example-s"),
Map.entry("some_key", "some-value")
))
.build());
}
}
resources:
exampleResourceGroup:
type: azure:core:ResourceGroup
name: example
properties:
name: example-resources
location: West Europe
exampleVirtualNetwork:
type: azure:network:VirtualNetwork
name: example
properties:
name: example-vnet
addressSpaces:
- 10.0.0.0/16
location: ${exampleResourceGroup.location}
resourceGroupName: ${exampleResourceGroup.name}
exampleSubnet:
type: azure:network:Subnet
name: example
properties:
name: internal
resourceGroupName: ${exampleResourceGroup.name}
virtualNetworkName: ${exampleVirtualNetwork.name}
addressPrefixes:
- 10.0.2.0/24
exampleNetworkInterface:
type: azure:network:NetworkInterface
name: example
properties:
name: example-nic
location: ${exampleResourceGroup.location}
resourceGroupName: ${exampleResourceGroup.name}
ipConfigurations:
- name: internal
subnetId: ${exampleSubnet.id}
privateIpAddressAllocation: Dynamic
exampleUserAssignedIdentity:
type: azure:authorization:UserAssignedIdentity
name: example
properties:
name: example-uai
resourceGroupName: ${exampleResourceGroup.name}
location: ${exampleResourceGroup.location}
exampleLinuxVirtualMachine:
type: azure:compute:LinuxVirtualMachine
name: example
properties:
name: example-VM
resourceGroupName: ${exampleResourceGroup.name}
location: ${exampleResourceGroup.location}
size: Standard_B2s
adminUsername: adminuser
adminPassword: P@$$w0rd1234!
disablePasswordAuthentication: false
networkInterfaceIds:
- ${exampleNetworkInterface.id}
osDisk:
caching: ReadWrite
storageAccountType: Premium_LRS
sourceImageReference:
publisher: Canonical
offer: 0001-com-ubuntu-server-jammy
sku: 22_04-lts
version: latest
identity:
type: SystemAssigned, UserAssigned
identityIds:
- ${exampleUserAssignedIdentity.id}
exampleAssignment:
type: azure:authorization:Assignment
name: example
properties:
scope: ${exampleAccount.id}
roleDefinitionName: Storage Blob Data Contributor
principalId: ${exampleUserAssignedIdentity.principalId}
exampleAccount:
type: azure:storage:Account
name: example
properties:
name: exampleaccount
resourceGroupName: ${exampleResourceGroup.name}
location: ${exampleResourceGroup.location}
accountTier: Standard
accountReplicationType: LRS
exampleContainer:
type: azure:storage:Container
name: example
properties:
name: example-sc
storageAccountName: ${exampleAccount.name}
containerAccessType: blob
example1:
type: azure:storage:Blob
properties:
name: script1
storageAccountName: ${exampleAccount.name}
storageContainerName: ${exampleContainer.name}
type: Block
sourceContent: echo 'hello world'
example2:
type: azure:storage:Blob
properties:
name: output
storageAccountName: ${exampleAccount.name}
storageContainerName: ${exampleContainer.name}
type: Append
example3:
type: azure:storage:Blob
properties:
name: error
storageAccountName: ${exampleAccount.name}
storageContainerName: ${exampleContainer.name}
type: Append
# basic example
exampleRunCommand:
type: azure:compute:RunCommand
name: example
properties:
name: example-vmrc
location: ${exampleResourceGroup.location}
virtualMachineId: ${exampleLinuxVirtualMachine.id}
source:
script: echo 'hello world'
# authorize to storage blob using user assigned identity
example2RunCommand:
type: azure:compute:RunCommand
name: example2
properties:
location: ${exampleResourceGroup.location}
name: example2-vmrc
virtualMachineId: ${exampleLinuxVirtualMachine.id}
outputBlobUri: ${example2.id}
errorBlobUri: ${example3.id}
runAsPassword: P@$$w0rd1234!
runAsUser: adminuser
source:
scriptUri: ${example1.id}
scriptUriManagedIdentity:
clientId: ${exampleUserAssignedIdentity.clientId}
errorBlobManagedIdentity:
clientId: ${exampleUserAssignedIdentity.clientId}
outputBlobManagedIdentity:
clientId: ${exampleUserAssignedIdentity.clientId}
parameters:
- name: examplev1
value: val1
protectedParameters:
- name: examplev2
value: val2
tags:
environment: terraform-examples
some_key: some-value
options:
dependsOn:
- ${exampleAssignment}
# authorize to storage blob using SAS token
example3RunCommand:
type: azure:compute:RunCommand
name: example3
properties:
location: ${exampleResourceGroup.location}
name: example3-vmrc
virtualMachineId: ${exampleLinuxVirtualMachine.id}
runAsPassword: P@$$w0rd1234!
runAsUser: adminuser
errorBlobUri: ${example3.id}${example.sas}
outputBlobUri: ${example2.id}${example.sas}
source:
scriptUri: ${example1.id}${example.sas}
parameters:
- name: example-vm1
value: val1
tags:
environment: terraform-example-s
some_key: some-value
variables:
example:
fn::invoke:
function: azure:storage:getAccountSAS
arguments:
connectionString: ${exampleAccount.primaryConnectionString}
httpsOnly: true
signedVersion: 2019-10-10
start: 2023-04-01T00:00:00Z
expiry: 2024-04-01T00:00:00Z
resourceTypes:
service: false
container: false
object: true
services:
blob: true
queue: false
table: false
file: false
permissions:
read: true
write: true
delete: false
list: false
add: true
create: true
update: false
process: false
tag: false
filter: false

API Providers

This resource uses the following Azure API Providers:

  • Microsoft.Compute: 2023-03-01

Import

An existing Virtual Machine Run Command can be imported into Pulumi using the resource id, e.g.

$ pulumi import azure:compute/runCommand:RunCommand example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/vm1/runCommands/rc1

Constructors

Link copied to clipboard
constructor(errorBlobManagedIdentity: Output<RunCommandErrorBlobManagedIdentityArgs>? = null, errorBlobUri: Output<String>? = null, location: Output<String>? = null, name: Output<String>? = null, outputBlobManagedIdentity: Output<RunCommandOutputBlobManagedIdentityArgs>? = null, outputBlobUri: Output<String>? = null, parameters: Output<List<RunCommandParameterArgs>>? = null, protectedParameters: Output<List<RunCommandProtectedParameterArgs>>? = null, runAsPassword: Output<String>? = null, runAsUser: Output<String>? = null, source: Output<RunCommandSourceArgs>? = null, tags: Output<Map<String, String>>? = null, virtualMachineId: Output<String>? = null)

Properties

Link copied to clipboard

An error_blob_managed_identity block as defined below. User-assigned managed Identity that has access to errorBlobUri storage blob.

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

Specifies the Azure storage blob where script error stream will be uploaded.

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

The Azure Region where the Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.

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

Specifies the name of this Virtual Machine Run Command. Changing this forces a new Virtual Machine Run Command to be created.

Link copied to clipboard

An output_blob_managed_identity block as defined below. User-assigned managed Identity that has access to outputBlobUri storage blob.

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

Specifies the Azure storage blob where script output stream will be uploaded. It can be basic blob URI with SAS token.

Link copied to clipboard

A list of parameter blocks as defined below. The parameters used by the script.

Link copied to clipboard

A list of protected_parameter blocks as defined below. The protected parameters used by the script.

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

Specifies the user account password on the VM when executing the Virtual Machine Run Command.

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

Specifies the user account on the VM when executing the Virtual Machine Run Command.

Link copied to clipboard
val source: Output<RunCommandSourceArgs>? = null

A source block as defined below. The source of the run command script.

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

A mapping of tags which should be assigned to the Virtual Machine Run Command.

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

Specifies the Virtual Machine ID within which this Virtual Machine Run Command should exist. Changing this forces a new Virtual Machine Run Command to be created.

Functions

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