Namespace Pulumi.Azure.Core
Classes
CustomProvider
Manages an Azure Custom Provider.
CustomProviderArgs
CustomProviderState
GetClientConfig
GetClientConfigResult
GetResourceGroup
GetResourceGroupArgs
GetResourceGroupResult
GetResources
GetResourcesArgs
GetResourcesResult
GetSubscription
GetSubscriptionArgs
GetSubscriptionResult
GetSubscriptions
GetSubscriptionsArgs
GetSubscriptionsResult
GetUserAssignedIdentity
GetUserAssignedIdentityArgs
GetUserAssignedIdentityResult
ResourceGroup
Manages a Resource Group.
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var example = new Azure.Core.ResourceGroup("example", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
}
}
ResourceGroupArgs
ResourceGroupState
TemplateDeployment
Manages a template deployment of resources
Note on ARM Template Deployments: Due to the way the underlying Azure API is designed, this provider can only manage the deployment of the ARM Template - and not any resources which are created by it. This means that when deleting the
azure.core.TemplateDeploymentresource, this provider will only remove the reference to the deployment, whilst leaving any resources created by that ARM Template Deployment. One workaround for this is to use a unique Resource Group for each ARM Template Deployment, which means deleting the Resource Group would contain any resources created within it - however this isn't ideal. More information.
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West US",
});
var exampleTemplateDeployment = new Azure.Core.TemplateDeployment("exampleTemplateDeployment", new Azure.Core.TemplateDeploymentArgs
{
ResourceGroupName = exampleResourceGroup.Name,
TemplateBody = @"{
""$schema"": ""https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#"",
""contentVersion"": ""1.0.0.0"",
""parameters"": {
""storageAccountType"": {
""type"": ""string"",
""defaultValue"": ""Standard_LRS"",
""allowedValues"": [
""Standard_LRS"",
""Standard_GRS"",
""Standard_ZRS""
],
""metadata"": {
""description"": ""Storage Account type""
}
}
},
""variables"": {
""location"": ""[resourceGroup().location]"",
""storageAccountName"": ""[concat(uniquestring(resourceGroup().id), 'storage')]"",
""publicIPAddressName"": ""[concat('myPublicIp', uniquestring(resourceGroup().id))]"",
""publicIPAddressType"": ""Dynamic"",
""apiVersion"": ""2015-06-15"",
""dnsLabelPrefix"": ""example-acctest""
},
""resources"": [
{
""type"": ""Microsoft.Storage/storageAccounts"",
""name"": ""[variables('storageAccountName')]"",
""apiVersion"": ""[variables('apiVersion')]"",
""location"": ""[variables('location')]"",
""properties"": {
""accountType"": ""[parameters('storageAccountType')]""
}
},
{
""type"": ""Microsoft.Network/publicIPAddresses"",
""apiVersion"": ""[variables('apiVersion')]"",
""name"": ""[variables('publicIPAddressName')]"",
""location"": ""[variables('location')]"",
""properties"": {
""publicIPAllocationMethod"": ""[variables('publicIPAddressType')]"",
""dnsSettings"": {
""domainNameLabel"": ""[variables('dnsLabelPrefix')]""
}
}
}
],
""outputs"": {
""storageAccountName"": {
""type"": ""string"",
""value"": ""[variables('storageAccountName')]""
}
}
}
",
Parameters =
{
{ "storageAccountType", "Standard_GRS" },
},
DeploymentMode = "Incremental",
});
this.StorageAccountName = exampleTemplateDeployment.Outputs.Apply(outputs => outputs.StorageAccountName);
}
[Output("storageAccountName")]
public Output<string> StorageAccountName { get; set; }
}
Note
This provider does not know about the individual resources created by Azure using a deployment template and therefore cannot delete these resources during a destroy. Destroying a template deployment removes the associated deployment operations, but will not delete the Azure resources created by the deployment. In order to delete these resources, the containing resource group must also be destroyed. More information.