Assignment Args
data class AssignmentArgs(val identity: Output<AssignmentIdentityArgs>? = null, val location: Output<String>? = null, val lockExcludeActions: Output<List<String>>? = null, val lockExcludePrincipals: Output<List<String>>? = null, val lockMode: Output<String>? = null, val name: Output<String>? = null, val parameterValues: Output<String>? = null, val resourceGroups: Output<String>? = null, val targetSubscriptionId: Output<String>? = null, val versionId: Output<String>? = null) : ConvertibleToJava<AssignmentArgs>
Manages a Blueprint Assignment resource
NOTE: Azure Blueprints are in Preview and potentially subject to breaking change without notice. NOTE: Azure Blueprint Assignments can only be applied to Subscriptions. Assignments to Management Groups is not currently supported by the service or by this provider.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
import com.pulumi.azure.blueprint.BlueprintFunctions;
import com.pulumi.azure.blueprint.inputs.GetDefinitionArgs;
import com.pulumi.azure.blueprint.inputs.GetPublishedVersionArgs;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.authorization.UserAssignedIdentity;
import com.pulumi.azure.authorization.UserAssignedIdentityArgs;
import com.pulumi.azure.authorization.Assignment;
import com.pulumi.azure.authorization.AssignmentArgs;
import com.pulumi.azure.blueprint.Assignment;
import com.pulumi.azure.blueprint.AssignmentArgs;
import com.pulumi.azure.blueprint.inputs.AssignmentIdentityArgs;
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) {
final var current = CoreFunctions.getClientConfig();
final var exampleSubscription = CoreFunctions.getSubscription();
final var exampleDefinition = BlueprintFunctions.getDefinition(GetDefinitionArgs.builder()
.name("exampleBlueprint")
.scopeId(exampleSubscription.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.build());
final var examplePublishedVersion = BlueprintFunctions.getPublishedVersion(GetPublishedVersionArgs.builder()
.scopeId(exampleDefinition.applyValue(getDefinitionResult -> getDefinitionResult.scopeId()))
.blueprintName(exampleDefinition.applyValue(getDefinitionResult -> getDefinitionResult.name()))
.version("v1.0.0")
.build());
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.tags(Map.of("Environment", "example"))
.build());
var exampleUserAssignedIdentity = new UserAssignedIdentity("exampleUserAssignedIdentity", UserAssignedIdentityArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.build());
var operator = new Assignment("operator", AssignmentArgs.builder()
.scope(exampleSubscription.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.roleDefinitionName("Blueprint Operator")
.principalId(exampleUserAssignedIdentity.principalId())
.build());
var owner = new Assignment("owner", AssignmentArgs.builder()
.scope(exampleSubscription.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.roleDefinitionName("Owner")
.principalId(exampleUserAssignedIdentity.principalId())
.build());
var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder()
.targetSubscriptionId(exampleSubscription.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.versionId(examplePublishedVersion.applyValue(getPublishedVersionResult -> getPublishedVersionResult.id()))
.location(exampleResourceGroup.location())
.lockMode("AllResourcesDoNotDelete")
.lockExcludePrincipals(current.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.identity(AssignmentIdentityArgs.builder()
.type("UserAssigned")
.identityIds(exampleUserAssignedIdentity.id())
.build())
.resourceGroups("""
{
"ResourceGroup": {
"name": "exampleRG-bp"
}
}
""")
.parameterValues("""
{
"allowedlocationsforresourcegroups_listOfAllowedLocations": {
"value": ["westus", "westus2", "eastus", "centralus", "centraluseuap", "southcentralus", "northcentralus", "westcentralus", "eastus2", "eastus2euap", "brazilsouth", "brazilus", "northeurope", "westeurope", "eastasia", "southeastasia", "japanwest", "japaneast", "koreacentral", "koreasouth", "indiasouth", "indiawest", "indiacentral", "australiaeast", "australiasoutheast", "canadacentral", "canadaeast", "uknorth", "uksouth2", "uksouth", "ukwest", "francecentral", "francesouth", "australiacentral", "australiacentral2", "uaecentral", "uaenorth", "southafricanorth", "southafricawest", "switzerlandnorth", "switzerlandwest", "germanynorth", "germanywestcentral", "norwayeast", "norwaywest"]
}
}
""")
.build(), CustomResourceOptions.builder()
.dependsOn(
operator,
owner)
.build());
}
}
Content copied to clipboard
Import
Azure Blueprint Assignments can be imported using the resource id
, e.g.
$ pulumi import azure:blueprint/assignment:Assignment example "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint"
Content copied to clipboard
Constructors
Link copied to clipboard
fun AssignmentArgs(identity: Output<AssignmentIdentityArgs>? = null, location: Output<String>? = null, lockExcludeActions: Output<List<String>>? = null, lockExcludePrincipals: Output<List<String>>? = null, lockMode: Output<String>? = null, name: Output<String>? = null, parameterValues: Output<String>? = null, resourceGroups: Output<String>? = null, targetSubscriptionId: Output<String>? = null, versionId: Output<String>? = null)