Azure Power Shell Script
Object model for the Azure PowerShell script. API Version: 2020-10-01.
Example Usage
DeploymentScriptsCreate
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var azurePowerShellScript = new AzureNative.Resources.AzurePowerShellScript("azurePowerShellScript", new()
{
Arguments = "-Location 'westus' -Name \"*rg2\"",
AzPowerShellVersion = "1.7.0",
CleanupPreference = "Always",
Identity = new AzureNative.Resources.Inputs.ManagedServiceIdentityArgs
{
Type = "UserAssigned",
UserAssignedIdentities =
{
{ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai", null },
},
},
Kind = "AzurePowerShell",
Location = "westus",
ResourceGroupName = "script-rg",
RetentionInterval = "PT7D",
ScriptContent = "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
ScriptName = "MyDeploymentScript",
SupportingScriptUris = new[]
{
"https://uri1.to.supporting.script",
"https://uri2.to.supporting.script",
},
Timeout = "PT1H",
});
});
package main
import (
resources "github.com/pulumi/pulumi-azure-native-sdk/resources"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := resources.NewAzurePowerShellScript(ctx, "azurePowerShellScript", &resources.AzurePowerShellScriptArgs{
Arguments: pulumi.String("-Location 'westus' -Name \"*rg2\""),
AzPowerShellVersion: pulumi.String("1.7.0"),
CleanupPreference: pulumi.String("Always"),
Identity: &resources.ManagedServiceIdentityArgs{
Type: pulumi.String("UserAssigned"),
UserAssignedIdentities: pulumi.AnyMap{
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": nil,
},
},
Kind: pulumi.String("AzurePowerShell"),
Location: pulumi.String("westus"),
ResourceGroupName: pulumi.String("script-rg"),
RetentionInterval: pulumi.String("PT7D"),
ScriptContent: pulumi.String("Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name"),
ScriptName: pulumi.String("MyDeploymentScript"),
SupportingScriptUris: pulumi.StringArray{
pulumi.String("https://uri1.to.supporting.script"),
pulumi.String("https://uri2.to.supporting.script"),
},
Timeout: pulumi.String("PT1H"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.resources.AzurePowerShellScript;
import com.pulumi.azurenative.resources.AzurePowerShellScriptArgs;
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 azurePowerShellScript = new AzurePowerShellScript("azurePowerShellScript", AzurePowerShellScriptArgs.builder()
.arguments("-Location 'westus' -Name \"*rg2\"")
.azPowerShellVersion("1.7.0")
.cleanupPreference("Always")
.identity(Map.ofEntries(
Map.entry("type", "UserAssigned"),
Map.entry("userAssignedIdentities", Map.of("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai", ))
))
.kind("AzurePowerShell")
.location("westus")
.resourceGroupName("script-rg")
.retentionInterval("PT7D")
.scriptContent("Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name")
.scriptName("MyDeploymentScript")
.supportingScriptUris(
"https://uri1.to.supporting.script",
"https://uri2.to.supporting.script")
.timeout("PT1H")
.build());
}
}
DeploymentScriptsCreateNoUserManagedIdentity
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var azurePowerShellScript = new AzureNative.Resources.AzurePowerShellScript("azurePowerShellScript", new()
{
Arguments = "-Location 'westus' -Name \"*rg2\"",
AzPowerShellVersion = "1.7.0",
CleanupPreference = "Always",
Kind = "AzurePowerShell",
Location = "westus",
ResourceGroupName = "script-rg",
RetentionInterval = "PT7D",
ScriptContent = "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
ScriptName = "MyDeploymentScript",
SupportingScriptUris = new[]
{
"https://uri1.to.supporting.script",
"https://uri2.to.supporting.script",
},
Timeout = "PT1H",
});
});
package main
import (
resources "github.com/pulumi/pulumi-azure-native-sdk/resources"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := resources.NewAzurePowerShellScript(ctx, "azurePowerShellScript", &resources.AzurePowerShellScriptArgs{
Arguments: pulumi.String("-Location 'westus' -Name \"*rg2\""),
AzPowerShellVersion: pulumi.String("1.7.0"),
CleanupPreference: pulumi.String("Always"),
Kind: pulumi.String("AzurePowerShell"),
Location: pulumi.String("westus"),
ResourceGroupName: pulumi.String("script-rg"),
RetentionInterval: pulumi.String("PT7D"),
ScriptContent: pulumi.String("Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name"),
ScriptName: pulumi.String("MyDeploymentScript"),
SupportingScriptUris: pulumi.StringArray{
pulumi.String("https://uri1.to.supporting.script"),
pulumi.String("https://uri2.to.supporting.script"),
},
Timeout: pulumi.String("PT1H"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.resources.AzurePowerShellScript;
import com.pulumi.azurenative.resources.AzurePowerShellScriptArgs;
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 azurePowerShellScript = new AzurePowerShellScript("azurePowerShellScript", AzurePowerShellScriptArgs.builder()
.arguments("-Location 'westus' -Name \"*rg2\"")
.azPowerShellVersion("1.7.0")
.cleanupPreference("Always")
.kind("AzurePowerShell")
.location("westus")
.resourceGroupName("script-rg")
.retentionInterval("PT7D")
.scriptContent("Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name")
.scriptName("MyDeploymentScript")
.supportingScriptUris(
"https://uri1.to.supporting.script",
"https://uri2.to.supporting.script")
.timeout("PT1H")
.build());
}
}
DeploymentScriptsCreate_MinCreate
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var azurePowerShellScript = new AzureNative.Resources.AzurePowerShellScript("azurePowerShellScript", new()
{
Arguments = "-Location 'westus' -Name \"*rg2\"",
AzPowerShellVersion = "1.7.0",
Identity = new AzureNative.Resources.Inputs.ManagedServiceIdentityArgs
{
Type = "UserAssigned",
UserAssignedIdentities =
{
{ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai", null },
},
},
Kind = "AzurePowerShell",
Location = "westus",
ResourceGroupName = "script-rg",
RetentionInterval = "P7D",
ScriptContent = "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
ScriptName = "MyDeploymentScript",
});
});
package main
import (
resources "github.com/pulumi/pulumi-azure-native-sdk/resources"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := resources.NewAzurePowerShellScript(ctx, "azurePowerShellScript", &resources.AzurePowerShellScriptArgs{
Arguments: pulumi.String("-Location 'westus' -Name \"*rg2\""),
AzPowerShellVersion: pulumi.String("1.7.0"),
Identity: &resources.ManagedServiceIdentityArgs{
Type: pulumi.String("UserAssigned"),
UserAssignedIdentities: pulumi.AnyMap{
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": nil,
},
},
Kind: pulumi.String("AzurePowerShell"),
Location: pulumi.String("westus"),
ResourceGroupName: pulumi.String("script-rg"),
RetentionInterval: pulumi.String("P7D"),
ScriptContent: pulumi.String("Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name"),
ScriptName: pulumi.String("MyDeploymentScript"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.resources.AzurePowerShellScript;
import com.pulumi.azurenative.resources.AzurePowerShellScriptArgs;
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 azurePowerShellScript = new AzurePowerShellScript("azurePowerShellScript", AzurePowerShellScriptArgs.builder()
.arguments("-Location 'westus' -Name \"*rg2\"")
.azPowerShellVersion("1.7.0")
.identity(Map.ofEntries(
Map.entry("type", "UserAssigned"),
Map.entry("userAssignedIdentities", Map.of("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai", ))
))
.kind("AzurePowerShell")
.location("westus")
.resourceGroupName("script-rg")
.retentionInterval("P7D")
.scriptContent("Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name")
.scriptName("MyDeploymentScript")
.build());
}
}
DeploymentScriptsCreate_UsingCustomACIName
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var azurePowerShellScript = new AzureNative.Resources.AzurePowerShellScript("azurePowerShellScript", new()
{
Arguments = "-Location 'westus' -Name \"*rg2\"",
AzPowerShellVersion = "1.7.0",
CleanupPreference = "Always",
ContainerSettings = new AzureNative.Resources.Inputs.ContainerConfigurationArgs
{
ContainerGroupName = "contoso-aci",
},
Identity = new AzureNative.Resources.Inputs.ManagedServiceIdentityArgs
{
Type = "UserAssigned",
UserAssignedIdentities =
{
{ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai", null },
},
},
Kind = "AzurePowerShell",
Location = "westus",
ResourceGroupName = "script-rg",
RetentionInterval = "PT7D",
ScriptContent = "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
ScriptName = "MyDeploymentScript",
SupportingScriptUris = new[]
{
"https://uri1.to.supporting.script",
"https://uri2.to.supporting.script",
},
Timeout = "PT1H",
});
});
package main
import (
resources "github.com/pulumi/pulumi-azure-native-sdk/resources"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := resources.NewAzurePowerShellScript(ctx, "azurePowerShellScript", &resources.AzurePowerShellScriptArgs{
Arguments: pulumi.String("-Location 'westus' -Name \"*rg2\""),
AzPowerShellVersion: pulumi.String("1.7.0"),
CleanupPreference: pulumi.String("Always"),
ContainerSettings: &resources.ContainerConfigurationArgs{
ContainerGroupName: pulumi.String("contoso-aci"),
},
Identity: &resources.ManagedServiceIdentityArgs{
Type: pulumi.String("UserAssigned"),
UserAssignedIdentities: pulumi.AnyMap{
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": nil,
},
},
Kind: pulumi.String("AzurePowerShell"),
Location: pulumi.String("westus"),
ResourceGroupName: pulumi.String("script-rg"),
RetentionInterval: pulumi.String("PT7D"),
ScriptContent: pulumi.String("Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name"),
ScriptName: pulumi.String("MyDeploymentScript"),
SupportingScriptUris: pulumi.StringArray{
pulumi.String("https://uri1.to.supporting.script"),
pulumi.String("https://uri2.to.supporting.script"),
},
Timeout: pulumi.String("PT1H"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.resources.AzurePowerShellScript;
import com.pulumi.azurenative.resources.AzurePowerShellScriptArgs;
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 azurePowerShellScript = new AzurePowerShellScript("azurePowerShellScript", AzurePowerShellScriptArgs.builder()
.arguments("-Location 'westus' -Name \"*rg2\"")
.azPowerShellVersion("1.7.0")
.cleanupPreference("Always")
.containerSettings(Map.of("containerGroupName", "contoso-aci"))
.identity(Map.ofEntries(
Map.entry("type", "UserAssigned"),
Map.entry("userAssignedIdentities", Map.of("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai", ))
))
.kind("AzurePowerShell")
.location("westus")
.resourceGroupName("script-rg")
.retentionInterval("PT7D")
.scriptContent("Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name")
.scriptName("MyDeploymentScript")
.supportingScriptUris(
"https://uri1.to.supporting.script",
"https://uri2.to.supporting.script")
.timeout("PT1H")
.build());
}
}
DeploymentScriptsCreate_UsingExistingStorageAccount
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var azurePowerShellScript = new AzureNative.Resources.AzurePowerShellScript("azurePowerShellScript", new()
{
Arguments = "-Location 'westus' -Name \"*rg2\"",
AzPowerShellVersion = "1.7.0",
CleanupPreference = "Always",
Identity = new AzureNative.Resources.Inputs.ManagedServiceIdentityArgs
{
Type = "UserAssigned",
UserAssignedIdentities =
{
{ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai", null },
},
},
Kind = "AzurePowerShell",
Location = "westus",
ResourceGroupName = "script-rg",
RetentionInterval = "PT7D",
ScriptContent = "Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name",
ScriptName = "MyDeploymentScript",
StorageAccountSettings = new AzureNative.Resources.Inputs.StorageAccountConfigurationArgs
{
StorageAccountKey = "contosostoragekey",
StorageAccountName = "contosostorage",
},
SupportingScriptUris = new[]
{
"https://uri1.to.supporting.script",
"https://uri2.to.supporting.script",
},
Timeout = "PT1H",
});
});
package main
import (
resources "github.com/pulumi/pulumi-azure-native-sdk/resources"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := resources.NewAzurePowerShellScript(ctx, "azurePowerShellScript", &resources.AzurePowerShellScriptArgs{
Arguments: pulumi.String("-Location 'westus' -Name \"*rg2\""),
AzPowerShellVersion: pulumi.String("1.7.0"),
CleanupPreference: pulumi.String("Always"),
Identity: &resources.ManagedServiceIdentityArgs{
Type: pulumi.String("UserAssigned"),
UserAssignedIdentities: pulumi.AnyMap{
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai": nil,
},
},
Kind: pulumi.String("AzurePowerShell"),
Location: pulumi.String("westus"),
ResourceGroupName: pulumi.String("script-rg"),
RetentionInterval: pulumi.String("PT7D"),
ScriptContent: pulumi.String("Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name"),
ScriptName: pulumi.String("MyDeploymentScript"),
StorageAccountSettings: &resources.StorageAccountConfigurationArgs{
StorageAccountKey: pulumi.String("contosostoragekey"),
StorageAccountName: pulumi.String("contosostorage"),
},
SupportingScriptUris: pulumi.StringArray{
pulumi.String("https://uri1.to.supporting.script"),
pulumi.String("https://uri2.to.supporting.script"),
},
Timeout: pulumi.String("PT1H"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.resources.AzurePowerShellScript;
import com.pulumi.azurenative.resources.AzurePowerShellScriptArgs;
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 azurePowerShellScript = new AzurePowerShellScript("azurePowerShellScript", AzurePowerShellScriptArgs.builder()
.arguments("-Location 'westus' -Name \"*rg2\"")
.azPowerShellVersion("1.7.0")
.cleanupPreference("Always")
.identity(Map.ofEntries(
Map.entry("type", "UserAssigned"),
Map.entry("userAssignedIdentities", Map.of("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scriptRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai", ))
))
.kind("AzurePowerShell")
.location("westus")
.resourceGroupName("script-rg")
.retentionInterval("PT7D")
.scriptContent("Param([string]$Location,[string]$Name) $deploymentScriptOutputs['test'] = 'value' Get-AzResourceGroup -Location $Location -Name $Name")
.scriptName("MyDeploymentScript")
.storageAccountSettings(Map.ofEntries(
Map.entry("storageAccountKey", "contosostoragekey"),
Map.entry("storageAccountName", "contosostorage")
))
.supportingScriptUris(
"https://uri1.to.supporting.script",
"https://uri2.to.supporting.script")
.timeout("PT1H")
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:resources:AzurePowerShellScript myresource1 /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deploymentScripts/{scriptName}
Properties
Azure PowerShell module version to be used.
The clean up preference when the script execution gets in a terminal state. Default setting is 'Always'.
Container settings.
The environment variables to pass over to the script.
Gets or sets how the deployment script should be forced to execute even if the script resource has not changed. Can be current time stamp or a GUID.
Optional property. Managed identity to be used for this deployment script. Currently, only user-assigned MSI is supported.
Uri for the script. This is the entry point for the external script.
State of the script execution. This only appears in the response.
Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P1D means one day).
Script body.
Contains the results of script execution.
Storage Account settings.
Supporting files for the external script.
The system metadata related to this resource.