IacProfileArgs

data class IacProfileArgs(val branchName: Output<String>? = null, val iacProfileName: Output<String>? = null, val location: Output<String>? = null, val repositoryMainBranch: Output<String>? = null, val repositoryName: Output<String>? = null, val repositoryOwner: Output<String>? = null, val resourceGroupName: Output<String>? = null, val stages: Output<List<StagePropertiesArgs>>? = null, val storageAccountName: Output<String>? = null, val storageAccountResourceGroup: Output<String>? = null, val storageAccountSubscription: Output<String>? = null, val storageContainerName: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val templates: Output<List<IacTemplatePropertiesArgs>>? = null) : ConvertibleToJava<IacProfileArgs>

Resource representation of a IacProfile. Azure REST API version: 2024-05-01-preview.

Example Usage

Create IacProfile

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var iacProfile = new AzureNative.DevHub.IacProfile("iacProfile", new()
{
IacProfileName = "profile1",
Location = "location1",
RepositoryMainBranch = "main",
RepositoryName = "localtest",
RepositoryOwner = "owner",
ResourceGroupName = "resourceGroup1",
Stages = new[]
{
new AzureNative.DevHub.Inputs.StagePropertiesArgs
{
Dependencies = new() { },
GitEnvironment = "Terraform",
StageName = "dev",
},
new AzureNative.DevHub.Inputs.StagePropertiesArgs
{
Dependencies = new[]
{
"dev",
},
GitEnvironment = "Terraform",
StageName = "qa",
},
new AzureNative.DevHub.Inputs.StagePropertiesArgs
{
Dependencies = new[]
{
"qa",
},
GitEnvironment = "Terraform",
StageName = "prod",
},
},
StorageAccountName = "hybridiac",
StorageAccountResourceGroup = "hybrid-iac",
StorageAccountSubscription = "subscription",
StorageContainerName = "hybridiac",
Tags =
{
{ "appname", "testApp" },
},
Templates = new[]
{
new AzureNative.DevHub.Inputs.IacTemplatePropertiesArgs
{
InstanceName = "contoso",
InstanceStage = "dev",
SourceResourceId = "/subscriptions/xxxx/resourceGroups/xxxx",
TemplateDetails = new[]
{
new AzureNative.DevHub.Inputs.IacTemplateDetailsArgs
{
Count = 1,
NamingConvention = "$sitid-hci",
ProductName = "HCI",
},
new AzureNative.DevHub.Inputs.IacTemplateDetailsArgs
{
Count = 1,
NamingConvention = "$sitid-aks",
ProductName = "AKSarc",
},
},
TemplateName = "base",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure-native-sdk/devhub/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := devhub.NewIacProfile(ctx, "iacProfile", &devhub.IacProfileArgs{
IacProfileName: pulumi.String("profile1"),
Location: pulumi.String("location1"),
RepositoryMainBranch: pulumi.String("main"),
RepositoryName: pulumi.String("localtest"),
RepositoryOwner: pulumi.String("owner"),
ResourceGroupName: pulumi.String("resourceGroup1"),
Stages: devhub.StagePropertiesArray{
&devhub.StagePropertiesArgs{
Dependencies: pulumi.StringArray{},
GitEnvironment: pulumi.String("Terraform"),
StageName: pulumi.String("dev"),
},
&devhub.StagePropertiesArgs{
Dependencies: pulumi.StringArray{
pulumi.String("dev"),
},
GitEnvironment: pulumi.String("Terraform"),
StageName: pulumi.String("qa"),
},
&devhub.StagePropertiesArgs{
Dependencies: pulumi.StringArray{
pulumi.String("qa"),
},
GitEnvironment: pulumi.String("Terraform"),
StageName: pulumi.String("prod"),
},
},
StorageAccountName: pulumi.String("hybridiac"),
StorageAccountResourceGroup: pulumi.String("hybrid-iac"),
StorageAccountSubscription: pulumi.String("subscription"),
StorageContainerName: pulumi.String("hybridiac"),
Tags: pulumi.StringMap{
"appname": pulumi.String("testApp"),
},
Templates: devhub.IacTemplatePropertiesArray{
&devhub.IacTemplatePropertiesArgs{
InstanceName: pulumi.String("contoso"),
InstanceStage: pulumi.String("dev"),
SourceResourceId: pulumi.String("/subscriptions/xxxx/resourceGroups/xxxx"),
TemplateDetails: devhub.IacTemplateDetailsArray{
&devhub.IacTemplateDetailsArgs{
Count: pulumi.Int(1),
NamingConvention: pulumi.String("$sitid-hci"),
ProductName: pulumi.String("HCI"),
},
&devhub.IacTemplateDetailsArgs{
Count: pulumi.Int(1),
NamingConvention: pulumi.String("$sitid-aks"),
ProductName: pulumi.String("AKSarc"),
},
},
TemplateName: pulumi.String("base"),
},
},
})
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.devhub.IacProfile;
import com.pulumi.azurenative.devhub.IacProfileArgs;
import com.pulumi.azurenative.devhub.inputs.StagePropertiesArgs;
import com.pulumi.azurenative.devhub.inputs.IacTemplatePropertiesArgs;
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 iacProfile = new IacProfile("iacProfile", IacProfileArgs.builder()
.iacProfileName("profile1")
.location("location1")
.repositoryMainBranch("main")
.repositoryName("localtest")
.repositoryOwner("owner")
.resourceGroupName("resourceGroup1")
.stages(
StagePropertiesArgs.builder()
.dependencies()
.gitEnvironment("Terraform")
.stageName("dev")
.build(),
StagePropertiesArgs.builder()
.dependencies("dev")
.gitEnvironment("Terraform")
.stageName("qa")
.build(),
StagePropertiesArgs.builder()
.dependencies("qa")
.gitEnvironment("Terraform")
.stageName("prod")
.build())
.storageAccountName("hybridiac")
.storageAccountResourceGroup("hybrid-iac")
.storageAccountSubscription("subscription")
.storageContainerName("hybridiac")
.tags(Map.of("appname", "testApp"))
.templates(IacTemplatePropertiesArgs.builder()
.instanceName("contoso")
.instanceStage("dev")
.sourceResourceId("/subscriptions/xxxx/resourceGroups/xxxx")
.templateDetails(
IacTemplateDetailsArgs.builder()
.count(1)
.namingConvention("$sitid-hci")
.productName("HCI")
.build(),
IacTemplateDetailsArgs.builder()
.count(1)
.namingConvention("$sitid-aks")
.productName("AKSarc")
.build())
.templateName("base")
.build())
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:devhub:IacProfile profile1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevHub/iacProfiles/{iacProfileName}

Constructors

Link copied to clipboard
constructor(branchName: Output<String>? = null, iacProfileName: Output<String>? = null, location: Output<String>? = null, repositoryMainBranch: Output<String>? = null, repositoryName: Output<String>? = null, repositoryOwner: Output<String>? = null, resourceGroupName: Output<String>? = null, stages: Output<List<StagePropertiesArgs>>? = null, storageAccountName: Output<String>? = null, storageAccountResourceGroup: Output<String>? = null, storageAccountSubscription: Output<String>? = null, storageContainerName: Output<String>? = null, tags: Output<Map<String, String>>? = null, templates: Output<List<IacTemplatePropertiesArgs>>? = null)

Properties

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

Repository Branch Name

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

The name of the IacProfile.

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

The geo-location where the resource lives

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

Repository Main Branch

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

Repository Name

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

Repository Owner

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

The name of the resource group. The name is case insensitive.

Link copied to clipboard
val stages: Output<List<StagePropertiesArgs>>? = null
Link copied to clipboard
val storageAccountName: Output<String>? = null

Terraform Storage Account Name

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

Terraform Storage Account Resource Group

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

Terraform Storage Account Subscription

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

Terraform Container Name

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

Resource tags.

Link copied to clipboard

Functions

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