
com.pulumi.azure.automation.kotlin.DscNodeConfiguration.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.automation.kotlin
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
/**
* Builder for [DscNodeConfiguration].
*/
@PulumiTagMarker
public class DscNodeConfigurationResourceBuilder internal constructor() {
public var name: String? = null
public var args: DscNodeConfigurationArgs = DscNodeConfigurationArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend DscNodeConfigurationArgsBuilder.() -> Unit) {
val builder = DscNodeConfigurationArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): DscNodeConfiguration {
val builtJavaResource =
com.pulumi.azure.automation.DscNodeConfiguration(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return DscNodeConfiguration(builtJavaResource)
}
}
/**
* Manages a Automation DSC Node Configuration.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* const example = new azure.core.ResourceGroup("example", {
* name: "example-resources",
* location: "West Europe",
* });
* const exampleAccount = new azure.automation.Account("example", {
* name: "account1",
* location: example.location,
* resourceGroupName: example.name,
* skuName: "Basic",
* });
* const exampleDscConfiguration = new azure.automation.DscConfiguration("example", {
* name: "test",
* resourceGroupName: example.name,
* automationAccountName: exampleAccount.name,
* location: example.location,
* contentEmbedded: "configuration test {}",
* });
* const exampleDscNodeConfiguration = new azure.automation.DscNodeConfiguration("example", {
* name: "test.localhost",
* resourceGroupName: example.name,
* automationAccountName: exampleAccount.name,
* contentEmbedded: `instance of MSFT_FileDirectoryConfiguration as MSFT_FileDirectoryConfiguration1ref
* {
* ResourceID = "[File]bla";
* Ensure = "Present";
* Contents = "bogus Content";
* DestinationPath = "c:\\\\bogus.txt";
* ModuleName = "PSDesiredStateConfiguration";
* SourceInfo = "::3::9::file";
* ModuleVersion = "1.0";
* ConfigurationName = "bla";
* };
* instance of OMI_ConfigurationDocument
* {
* Version="2.0.0";
* MinimumCompatibleVersion = "1.0.0";
* CompatibleVersionAdditionalProperties= {"Omi_BaseResource:ConfigurationName"};
* Author="bogusAuthor";
* GenerationDate="06/15/2018 14:06:24";
* GenerationHost="bogusComputer";
* Name="test";
* };
* `,
* });
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* example = azure.core.ResourceGroup("example",
* name="example-resources",
* location="West Europe")
* example_account = azure.automation.Account("example",
* name="account1",
* location=example.location,
* resource_group_name=example.name,
* sku_name="Basic")
* example_dsc_configuration = azure.automation.DscConfiguration("example",
* name="test",
* resource_group_name=example.name,
* automation_account_name=example_account.name,
* location=example.location,
* content_embedded="configuration test {}")
* example_dsc_node_configuration = azure.automation.DscNodeConfiguration("example",
* name="test.localhost",
* resource_group_name=example.name,
* automation_account_name=example_account.name,
* content_embedded="""instance of MSFT_FileDirectoryConfiguration as $MSFT_FileDirectoryConfiguration1ref
* {
* ResourceID = "[File]bla";
* Ensure = "Present";
* Contents = "bogus Content";
* DestinationPath = "c:\\bogus.txt";
* ModuleName = "PSDesiredStateConfiguration";
* SourceInfo = "::3::9::file";
* ModuleVersion = "1.0";
* ConfigurationName = "bla";
* };
* instance of OMI_ConfigurationDocument
* {
* Version="2.0.0";
* MinimumCompatibleVersion = "1.0.0";
* CompatibleVersionAdditionalProperties= {"Omi_BaseResource:ConfigurationName"};
* Author="bogusAuthor";
* GenerationDate="06/15/2018 14:06:24";
* GenerationHost="bogusComputer";
* Name="test";
* };
* """)
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Azure = Pulumi.Azure;
* return await Deployment.RunAsync(() =>
* {
* var example = new Azure.Core.ResourceGroup("example", new()
* {
* Name = "example-resources",
* Location = "West Europe",
* });
* var exampleAccount = new Azure.Automation.Account("example", new()
* {
* Name = "account1",
* Location = example.Location,
* ResourceGroupName = example.Name,
* SkuName = "Basic",
* });
* var exampleDscConfiguration = new Azure.Automation.DscConfiguration("example", new()
* {
* Name = "test",
* ResourceGroupName = example.Name,
* AutomationAccountName = exampleAccount.Name,
* Location = example.Location,
* ContentEmbedded = "configuration test {}",
* });
* var exampleDscNodeConfiguration = new Azure.Automation.DscNodeConfiguration("example", new()
* {
* Name = "test.localhost",
* ResourceGroupName = example.Name,
* AutomationAccountName = exampleAccount.Name,
* ContentEmbedded = @"instance of MSFT_FileDirectoryConfiguration as $MSFT_FileDirectoryConfiguration1ref
* {
* ResourceID = ""[File]bla"";
* Ensure = ""Present"";
* Contents = ""bogus Content"";
* DestinationPath = ""c:\\bogus.txt"";
* ModuleName = ""PSDesiredStateConfiguration"";
* SourceInfo = ""::3::9::file"";
* ModuleVersion = ""1.0"";
* ConfigurationName = ""bla"";
* };
* instance of OMI_ConfigurationDocument
* {
* Version=""2.0.0"";
* MinimumCompatibleVersion = ""1.0.0"";
* CompatibleVersionAdditionalProperties= {""Omi_BaseResource:ConfigurationName""};
* Author=""bogusAuthor"";
* GenerationDate=""06/15/2018 14:06:24"";
* GenerationHost=""bogusComputer"";
* Name=""test"";
* };
* ",
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/automation"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
* Name: pulumi.String("example-resources"),
* Location: pulumi.String("West Europe"),
* })
* if err != nil {
* return err
* }
* exampleAccount, err := automation.NewAccount(ctx, "example", &automation.AccountArgs{
* Name: pulumi.String("account1"),
* Location: example.Location,
* ResourceGroupName: example.Name,
* SkuName: pulumi.String("Basic"),
* })
* if err != nil {
* return err
* }
* _, err = automation.NewDscConfiguration(ctx, "example", &automation.DscConfigurationArgs{
* Name: pulumi.String("test"),
* ResourceGroupName: example.Name,
* AutomationAccountName: exampleAccount.Name,
* Location: example.Location,
* ContentEmbedded: pulumi.String("configuration test {}"),
* })
* if err != nil {
* return err
* }
* _, err = automation.NewDscNodeConfiguration(ctx, "example", &automation.DscNodeConfigurationArgs{
* Name: pulumi.String("test.localhost"),
* ResourceGroupName: example.Name,
* AutomationAccountName: exampleAccount.Name,
* ContentEmbedded: pulumi.String(`instance of MSFT_FileDirectoryConfiguration as $MSFT_FileDirectoryConfiguration1ref
* {
* ResourceID = "[File]bla";
* Ensure = "Present";
* Contents = "bogus Content";
* DestinationPath = "c:\\bogus.txt";
* ModuleName = "PSDesiredStateConfiguration";
* SourceInfo = "::3::9::file";
* ModuleVersion = "1.0";
* ConfigurationName = "bla";
* };
* instance of OMI_ConfigurationDocument
* {
* Version="2.0.0";
* MinimumCompatibleVersion = "1.0.0";
* CompatibleVersionAdditionalProperties= {"Omi_BaseResource:ConfigurationName"};
* Author="bogusAuthor";
* GenerationDate="06/15/2018 14:06:24";
* GenerationHost="bogusComputer";
* Name="test";
* };
* `),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* 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.automation.Account;
* import com.pulumi.azure.automation.AccountArgs;
* import com.pulumi.azure.automation.DscConfiguration;
* import com.pulumi.azure.automation.DscConfigurationArgs;
* import com.pulumi.azure.automation.DscNodeConfiguration;
* import com.pulumi.azure.automation.DscNodeConfigurationArgs;
* 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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
* .name("example-resources")
* .location("West Europe")
* .build());
* var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
* .name("account1")
* .location(example.location())
* .resourceGroupName(example.name())
* .skuName("Basic")
* .build());
* var exampleDscConfiguration = new DscConfiguration("exampleDscConfiguration", DscConfigurationArgs.builder()
* .name("test")
* .resourceGroupName(example.name())
* .automationAccountName(exampleAccount.name())
* .location(example.location())
* .contentEmbedded("configuration test {}")
* .build());
* var exampleDscNodeConfiguration = new DscNodeConfiguration("exampleDscNodeConfiguration", DscNodeConfigurationArgs.builder()
* .name("test.localhost")
* .resourceGroupName(example.name())
* .automationAccountName(exampleAccount.name())
* .contentEmbedded("""
* instance of MSFT_FileDirectoryConfiguration as $MSFT_FileDirectoryConfiguration1ref
* {
* ResourceID = "[File]bla";
* Ensure = "Present";
* Contents = "bogus Content";
* DestinationPath = "c:\\bogus.txt";
* ModuleName = "PSDesiredStateConfiguration";
* SourceInfo = "::3::9::file";
* ModuleVersion = "1.0";
* ConfigurationName = "bla";
* };
* instance of OMI_ConfigurationDocument
* {
* Version="2.0.0";
* MinimumCompatibleVersion = "1.0.0";
* CompatibleVersionAdditionalProperties= {"Omi_BaseResource:ConfigurationName"};
* Author="bogusAuthor";
* GenerationDate="06/15/2018 14:06:24";
* GenerationHost="bogusComputer";
* Name="test";
* };
* """)
* .build());
* }
* }
* ```
* ```yaml
* resources:
* example:
* type: azure:core:ResourceGroup
* properties:
* name: example-resources
* location: West Europe
* exampleAccount:
* type: azure:automation:Account
* name: example
* properties:
* name: account1
* location: ${example.location}
* resourceGroupName: ${example.name}
* skuName: Basic
* exampleDscConfiguration:
* type: azure:automation:DscConfiguration
* name: example
* properties:
* name: test
* resourceGroupName: ${example.name}
* automationAccountName: ${exampleAccount.name}
* location: ${example.location}
* contentEmbedded: configuration test {}
* exampleDscNodeConfiguration:
* type: azure:automation:DscNodeConfiguration
* name: example
* properties:
* name: test.localhost
* resourceGroupName: ${example.name}
* automationAccountName: ${exampleAccount.name}
* contentEmbedded: |
* instance of MSFT_FileDirectoryConfiguration as $MSFT_FileDirectoryConfiguration1ref
* {
* ResourceID = "[File]bla";
* Ensure = "Present";
* Contents = "bogus Content";
* DestinationPath = "c:\\bogus.txt";
* ModuleName = "PSDesiredStateConfiguration";
* SourceInfo = "::3::9::file";
* ModuleVersion = "1.0";
* ConfigurationName = "bla";
* };
* instance of OMI_ConfigurationDocument
* {
* Version="2.0.0";
* MinimumCompatibleVersion = "1.0.0";
* CompatibleVersionAdditionalProperties= {"Omi_BaseResource:ConfigurationName"};
* Author="bogusAuthor";
* GenerationDate="06/15/2018 14:06:24";
* GenerationHost="bogusComputer";
* Name="test";
* };
* ```
*
* ## Import
* Automation DSC Node Configuration's can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:automation/dscNodeConfiguration:DscNodeConfiguration configuration1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Automation/automationAccounts/account1/nodeConfigurations/configuration1
* ```
*/
public class DscNodeConfiguration internal constructor(
override val javaResource: com.pulumi.azure.automation.DscNodeConfiguration,
) : KotlinCustomResource(javaResource, DscNodeConfigurationMapper) {
/**
* The name of the automation account in which the DSC Node Configuration is created. Changing this forces a new resource to be created.
*/
public val automationAccountName: Output
get() = javaResource.automationAccountName().applyValue({ args0 -> args0 })
public val configurationName: Output
get() = javaResource.configurationName().applyValue({ args0 -> args0 })
/**
* The PowerShell DSC Node Configuration (mof content).
*/
public val contentEmbedded: Output
get() = javaResource.contentEmbedded().applyValue({ args0 -> args0 })
/**
* Specifies the name of the DSC Node Configuration. Changing this forces a new resource to be created.
*/
public val name: Output
get() = javaResource.name().applyValue({ args0 -> args0 })
/**
* The name of the resource group in which the DSC Node Configuration is created. Changing this forces a new resource to be created.
*/
public val resourceGroupName: Output
get() = javaResource.resourceGroupName().applyValue({ args0 -> args0 })
}
public object DscNodeConfigurationMapper : ResourceMapper {
override fun supportsMappingOfType(javaResource: Resource): Boolean =
com.pulumi.azure.automation.DscNodeConfiguration::class == javaResource::class
override fun map(javaResource: Resource): DscNodeConfiguration = DscNodeConfiguration(
javaResource
as com.pulumi.azure.automation.DscNodeConfiguration,
)
}
/**
* @see [DscNodeConfiguration].
* @param name The _unique_ name of the resulting resource.
* @param block Builder for [DscNodeConfiguration].
*/
public suspend fun dscNodeConfiguration(
name: String,
block: suspend DscNodeConfigurationResourceBuilder.() -> Unit,
): DscNodeConfiguration {
val builder = DscNodeConfigurationResourceBuilder()
builder.name(name)
block(builder)
return builder.build()
}
/**
* @see [DscNodeConfiguration].
* @param name The _unique_ name of the resulting resource.
*/
public fun dscNodeConfiguration(name: String): DscNodeConfiguration {
val builder = DscNodeConfigurationResourceBuilder()
builder.name(name)
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy