ConfigurationFeature

Manages an Azure App Configuration Feature.

Example Usage

using System.Collections.Generic;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var example = new Azure.Core.ResourceGroup("example", new()
    {
        Location = "West Europe",
    });

    var appconf = new Azure.AppConfiguration.ConfigurationStore("appconf", new()
    {
        ResourceGroupName = example.Name,
        Location = example.Location,
    });

    var test = new Azure.AppConfiguration.ConfigurationFeature("test", new()
    {
        ConfigurationStoreId = appconf.Id,
        Description = "test description",
        Label = "acctest-ackeylabel-%d",
        Enabled = true,
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appconfiguration"
	"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{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		appconf, err := appconfiguration.NewConfigurationStore(ctx, "appconf", &appconfiguration.ConfigurationStoreArgs{
			ResourceGroupName: example.Name,
			Location:          example.Location,
		})
		if err != nil {
			return err
		}
		_, err = appconfiguration.NewConfigurationFeature(ctx, "test", &appconfiguration.ConfigurationFeatureArgs{
			ConfigurationStoreId: appconf.ID(),
			Description:          pulumi.String("test description"),
			Label:                pulumi.String(fmt.Sprintf("acctest-ackeylabel-%vd", "%")),
			Enabled:              pulumi.Bool(true),
		})
		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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.appconfiguration.ConfigurationStore;
import com.pulumi.azure.appconfiguration.ConfigurationStoreArgs;
import com.pulumi.azure.appconfiguration.ConfigurationFeature;
import com.pulumi.azure.appconfiguration.ConfigurationFeatureArgs;
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()        
            .location("West Europe")
            .build());

        var appconf = new ConfigurationStore("appconf", ConfigurationStoreArgs.builder()        
            .resourceGroupName(example.name())
            .location(example.location())
            .build());

        var test = new ConfigurationFeature("test", ConfigurationFeatureArgs.builder()        
            .configurationStoreId(appconf.id())
            .description("test description")
            .label("acctest-ackeylabel-%d")
            .enabled(true)
            .build());

    }
}
import pulumi
import pulumi_azure as azure

example = azure.core.ResourceGroup("example", location="West Europe")
appconf = azure.appconfiguration.ConfigurationStore("appconf",
    resource_group_name=example.name,
    location=example.location)
test = azure.appconfiguration.ConfigurationFeature("test",
    configuration_store_id=appconf.id,
    description="test description",
    label="acctest-ackeylabel-%d",
    enabled=True)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = new azure.core.ResourceGroup("example", {location: "West Europe"});
const appconf = new azure.appconfiguration.ConfigurationStore("appconf", {
    resourceGroupName: example.name,
    location: example.location,
});
const test = new azure.appconfiguration.ConfigurationFeature("test", {
    configurationStoreId: appconf.id,
    description: "test description",
    label: `acctest-ackeylabel-%d`,
    enabled: true,
});
resources:
  example:
    type: azure:core:ResourceGroup
    properties:
      location: West Europe
  appconf:
    type: azure:appconfiguration:ConfigurationStore
    properties:
      resourceGroupName: ${example.name}
      location: ${example.location}
  test:
    type: azure:appconfiguration:ConfigurationFeature
    properties:
      configurationStoreId: ${appconf.id}
      description: test description
      label: acctest-ackeylabel-%d
      enabled: true

Create ConfigurationFeature Resource

new ConfigurationFeature(name: string, args: ConfigurationFeatureArgs, opts?: CustomResourceOptions);
@overload
def ConfigurationFeature(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         configuration_store_id: Optional[str] = None,
                         description: Optional[str] = None,
                         enabled: Optional[bool] = None,
                         etag: Optional[str] = None,
                         label: Optional[str] = None,
                         locked: Optional[bool] = None,
                         name: Optional[str] = None,
                         percentage_filter_value: Optional[int] = None,
                         tags: Optional[Mapping[str, str]] = None,
                         targeting_filters: Optional[Sequence[ConfigurationFeatureTargetingFilterArgs]] = None,
                         timewindow_filters: Optional[Sequence[ConfigurationFeatureTimewindowFilterArgs]] = None)
@overload
def ConfigurationFeature(resource_name: str,
                         args: ConfigurationFeatureArgs,
                         opts: Optional[ResourceOptions] = None)
func NewConfigurationFeature(ctx *Context, name string, args ConfigurationFeatureArgs, opts ...ResourceOption) (*ConfigurationFeature, error)
public ConfigurationFeature(string name, ConfigurationFeatureArgs args, CustomResourceOptions? opts = null)
public ConfigurationFeature(String name, ConfigurationFeatureArgs args)
public ConfigurationFeature(String name, ConfigurationFeatureArgs args, CustomResourceOptions options)
type: azure:appconfiguration:ConfigurationFeature
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ConfigurationFeatureArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args ConfigurationFeatureArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ConfigurationFeatureArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ConfigurationFeatureArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ConfigurationFeatureArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

ConfigurationFeature Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The ConfigurationFeature resource accepts the following input properties:

ConfigurationStoreId string

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

Description string

The description of the App Configuration Feature.

Enabled bool

The status of the App Configuration Feature. By default, this is set to false.

Etag string
Label string

The label of the App Configuration Feature. Changing this forces a new resource to be created.

Locked bool

Should this App Configuration Feature be Locked to prevent changes?

Name string

The name of the App Configuration Feature. Changing this forces a new resource to be created.

PercentageFilterValue int

A list of one or more numbers representing the value of the percentage required to enable this feature.

Tags Dictionary<string, string>

A mapping of tags to assign to the resource.

TargetingFilters List<ConfigurationFeatureTargetingFilterArgs>

A targeting_filter block as defined below.

TimewindowFilters List<ConfigurationFeatureTimewindowFilterArgs>

A targeting_filter block timewindow_filter as defined below.

ConfigurationStoreId string

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

Description string

The description of the App Configuration Feature.

Enabled bool

The status of the App Configuration Feature. By default, this is set to false.

Etag string
Label string

The label of the App Configuration Feature. Changing this forces a new resource to be created.

Locked bool

Should this App Configuration Feature be Locked to prevent changes?

Name string

The name of the App Configuration Feature. Changing this forces a new resource to be created.

PercentageFilterValue int

A list of one or more numbers representing the value of the percentage required to enable this feature.

Tags map[string]string

A mapping of tags to assign to the resource.

TargetingFilters []ConfigurationFeatureTargetingFilterArgs

A targeting_filter block as defined below.

TimewindowFilters []ConfigurationFeatureTimewindowFilterArgs

A targeting_filter block timewindow_filter as defined below.

configurationStoreId String

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

description String

The description of the App Configuration Feature.

enabled Boolean

The status of the App Configuration Feature. By default, this is set to false.

etag String
label String

The label of the App Configuration Feature. Changing this forces a new resource to be created.

locked Boolean

Should this App Configuration Feature be Locked to prevent changes?

name String

The name of the App Configuration Feature. Changing this forces a new resource to be created.

percentageFilterValue Integer

A list of one or more numbers representing the value of the percentage required to enable this feature.

tags Map<String,String>

A mapping of tags to assign to the resource.

targetingFilters List<ConfigurationFeatureTargetingFilterArgs>

A targeting_filter block as defined below.

timewindowFilters List<ConfigurationFeatureTimewindowFilterArgs>

A targeting_filter block timewindow_filter as defined below.

configurationStoreId string

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

description string

The description of the App Configuration Feature.

enabled boolean

The status of the App Configuration Feature. By default, this is set to false.

etag string
label string

The label of the App Configuration Feature. Changing this forces a new resource to be created.

locked boolean

Should this App Configuration Feature be Locked to prevent changes?

name string

The name of the App Configuration Feature. Changing this forces a new resource to be created.

percentageFilterValue number

A list of one or more numbers representing the value of the percentage required to enable this feature.

tags {[key: string]: string}

A mapping of tags to assign to the resource.

targetingFilters ConfigurationFeatureTargetingFilterArgs[]

A targeting_filter block as defined below.

timewindowFilters ConfigurationFeatureTimewindowFilterArgs[]

A targeting_filter block timewindow_filter as defined below.

configuration_store_id str

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

description str

The description of the App Configuration Feature.

enabled bool

The status of the App Configuration Feature. By default, this is set to false.

etag str
label str

The label of the App Configuration Feature. Changing this forces a new resource to be created.

locked bool

Should this App Configuration Feature be Locked to prevent changes?

name str

The name of the App Configuration Feature. Changing this forces a new resource to be created.

percentage_filter_value int

A list of one or more numbers representing the value of the percentage required to enable this feature.

tags Mapping[str, str]

A mapping of tags to assign to the resource.

targeting_filters Sequence[ConfigurationFeatureTargetingFilterArgs]

A targeting_filter block as defined below.

timewindow_filters Sequence[ConfigurationFeatureTimewindowFilterArgs]

A targeting_filter block timewindow_filter as defined below.

configurationStoreId String

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

description String

The description of the App Configuration Feature.

enabled Boolean

The status of the App Configuration Feature. By default, this is set to false.

etag String
label String

The label of the App Configuration Feature. Changing this forces a new resource to be created.

locked Boolean

Should this App Configuration Feature be Locked to prevent changes?

name String

The name of the App Configuration Feature. Changing this forces a new resource to be created.

percentageFilterValue Number

A list of one or more numbers representing the value of the percentage required to enable this feature.

tags Map<String>

A mapping of tags to assign to the resource.

targetingFilters List<Property Map>

A targeting_filter block as defined below.

timewindowFilters List<Property Map>

A targeting_filter block timewindow_filter as defined below.

Outputs

All input properties are implicitly available as output properties. Additionally, the ConfigurationFeature resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing ConfigurationFeature Resource

Get an existing ConfigurationFeature resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ConfigurationFeatureState, opts?: CustomResourceOptions): ConfigurationFeature
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        configuration_store_id: Optional[str] = None,
        description: Optional[str] = None,
        enabled: Optional[bool] = None,
        etag: Optional[str] = None,
        label: Optional[str] = None,
        locked: Optional[bool] = None,
        name: Optional[str] = None,
        percentage_filter_value: Optional[int] = None,
        tags: Optional[Mapping[str, str]] = None,
        targeting_filters: Optional[Sequence[ConfigurationFeatureTargetingFilterArgs]] = None,
        timewindow_filters: Optional[Sequence[ConfigurationFeatureTimewindowFilterArgs]] = None) -> ConfigurationFeature
func GetConfigurationFeature(ctx *Context, name string, id IDInput, state *ConfigurationFeatureState, opts ...ResourceOption) (*ConfigurationFeature, error)
public static ConfigurationFeature Get(string name, Input<string> id, ConfigurationFeatureState? state, CustomResourceOptions? opts = null)
public static ConfigurationFeature get(String name, Output<String> id, ConfigurationFeatureState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ConfigurationStoreId string

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

Description string

The description of the App Configuration Feature.

Enabled bool

The status of the App Configuration Feature. By default, this is set to false.

Etag string
Label string

The label of the App Configuration Feature. Changing this forces a new resource to be created.

Locked bool

Should this App Configuration Feature be Locked to prevent changes?

Name string

The name of the App Configuration Feature. Changing this forces a new resource to be created.

PercentageFilterValue int

A list of one or more numbers representing the value of the percentage required to enable this feature.

Tags Dictionary<string, string>

A mapping of tags to assign to the resource.

TargetingFilters List<ConfigurationFeatureTargetingFilterArgs>

A targeting_filter block as defined below.

TimewindowFilters List<ConfigurationFeatureTimewindowFilterArgs>

A targeting_filter block timewindow_filter as defined below.

ConfigurationStoreId string

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

Description string

The description of the App Configuration Feature.

Enabled bool

The status of the App Configuration Feature. By default, this is set to false.

Etag string
Label string

The label of the App Configuration Feature. Changing this forces a new resource to be created.

Locked bool

Should this App Configuration Feature be Locked to prevent changes?

Name string

The name of the App Configuration Feature. Changing this forces a new resource to be created.

PercentageFilterValue int

A list of one or more numbers representing the value of the percentage required to enable this feature.

Tags map[string]string

A mapping of tags to assign to the resource.

TargetingFilters []ConfigurationFeatureTargetingFilterArgs

A targeting_filter block as defined below.

TimewindowFilters []ConfigurationFeatureTimewindowFilterArgs

A targeting_filter block timewindow_filter as defined below.

configurationStoreId String

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

description String

The description of the App Configuration Feature.

enabled Boolean

The status of the App Configuration Feature. By default, this is set to false.

etag String
label String

The label of the App Configuration Feature. Changing this forces a new resource to be created.

locked Boolean

Should this App Configuration Feature be Locked to prevent changes?

name String

The name of the App Configuration Feature. Changing this forces a new resource to be created.

percentageFilterValue Integer

A list of one or more numbers representing the value of the percentage required to enable this feature.

tags Map<String,String>

A mapping of tags to assign to the resource.

targetingFilters List<ConfigurationFeatureTargetingFilterArgs>

A targeting_filter block as defined below.

timewindowFilters List<ConfigurationFeatureTimewindowFilterArgs>

A targeting_filter block timewindow_filter as defined below.

configurationStoreId string

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

description string

The description of the App Configuration Feature.

enabled boolean

The status of the App Configuration Feature. By default, this is set to false.

etag string
label string

The label of the App Configuration Feature. Changing this forces a new resource to be created.

locked boolean

Should this App Configuration Feature be Locked to prevent changes?

name string

The name of the App Configuration Feature. Changing this forces a new resource to be created.

percentageFilterValue number

A list of one or more numbers representing the value of the percentage required to enable this feature.

tags {[key: string]: string}

A mapping of tags to assign to the resource.

targetingFilters ConfigurationFeatureTargetingFilterArgs[]

A targeting_filter block as defined below.

timewindowFilters ConfigurationFeatureTimewindowFilterArgs[]

A targeting_filter block timewindow_filter as defined below.

configuration_store_id str

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

description str

The description of the App Configuration Feature.

enabled bool

The status of the App Configuration Feature. By default, this is set to false.

etag str
label str

The label of the App Configuration Feature. Changing this forces a new resource to be created.

locked bool

Should this App Configuration Feature be Locked to prevent changes?

name str

The name of the App Configuration Feature. Changing this forces a new resource to be created.

percentage_filter_value int

A list of one or more numbers representing the value of the percentage required to enable this feature.

tags Mapping[str, str]

A mapping of tags to assign to the resource.

targeting_filters Sequence[ConfigurationFeatureTargetingFilterArgs]

A targeting_filter block as defined below.

timewindow_filters Sequence[ConfigurationFeatureTimewindowFilterArgs]

A targeting_filter block timewindow_filter as defined below.

configurationStoreId String

Specifies the id of the App Configuration. Changing this forces a new resource to be created.

description String

The description of the App Configuration Feature.

enabled Boolean

The status of the App Configuration Feature. By default, this is set to false.

etag String
label String

The label of the App Configuration Feature. Changing this forces a new resource to be created.

locked Boolean

Should this App Configuration Feature be Locked to prevent changes?

name String

The name of the App Configuration Feature. Changing this forces a new resource to be created.

percentageFilterValue Number

A list of one or more numbers representing the value of the percentage required to enable this feature.

tags Map<String>

A mapping of tags to assign to the resource.

targetingFilters List<Property Map>

A targeting_filter block as defined below.

timewindowFilters List<Property Map>

A targeting_filter block timewindow_filter as defined below.

Supporting Types

ConfigurationFeatureTargetingFilter

DefaultRolloutPercentage int

A number representing the percentage of the entire user base.

Groups List<ConfigurationFeatureTargetingFilterGroup>

One or more blocks of type groups as defined below.

Users List<string>

A list of users to target for this feature.

DefaultRolloutPercentage int

A number representing the percentage of the entire user base.

Groups []ConfigurationFeatureTargetingFilterGroup

One or more blocks of type groups as defined below.

Users []string

A list of users to target for this feature.

defaultRolloutPercentage Integer

A number representing the percentage of the entire user base.

groups List<ConfigurationFeatureTargetingFilterGroup>

One or more blocks of type groups as defined below.

users List<String>

A list of users to target for this feature.

defaultRolloutPercentage number

A number representing the percentage of the entire user base.

groups ConfigurationFeatureTargetingFilterGroup[]

One or more blocks of type groups as defined below.

users string[]

A list of users to target for this feature.

default_rollout_percentage int

A number representing the percentage of the entire user base.

groups Sequence[ConfigurationFeatureTargetingFilterGroup]

One or more blocks of type groups as defined below.

users Sequence[str]

A list of users to target for this feature.

defaultRolloutPercentage Number

A number representing the percentage of the entire user base.

groups List<Property Map>

One or more blocks of type groups as defined below.

users List<String>

A list of users to target for this feature.

ConfigurationFeatureTargetingFilterGroup

Name string

The name of the group.

RolloutPercentage int

Rollout percentage of the group.

Name string

The name of the group.

RolloutPercentage int

Rollout percentage of the group.

name String

The name of the group.

rolloutPercentage Integer

Rollout percentage of the group.

name string

The name of the group.

rolloutPercentage number

Rollout percentage of the group.

name str

The name of the group.

rollout_percentage int

Rollout percentage of the group.

name String

The name of the group.

rolloutPercentage Number

Rollout percentage of the group.

ConfigurationFeatureTimewindowFilter

End string

The latest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

Start string

The earliest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

End string

The latest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

Start string

The earliest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

end String

The latest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

start String

The earliest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

end string

The latest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

start string

The earliest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

end str

The latest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

start str

The earliest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

end String

The latest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

start String

The earliest timestamp the feature is enabled. The timestamp must be in RFC3339 format.

Import

App Configuration Features can be imported using the resource id, e.g.

 $ pulumi import azure:appconfiguration/configurationFeature:ConfigurationFeature test /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resourceGroup1/providers/Microsoft.AppConfiguration/configurationStores/appConf1/AppConfigurationFeature/appConfFeature1/Label/label1

If you wish to import a key with an empty label then sustitute the label’s name with %00, like this

 $ pulumi import azure:appconfiguration/configurationFeature:ConfigurationFeature test /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resourceGroup1/providers/Microsoft.AppConfiguration/configurationStores/appConf1/AppConfigurationFeature/appConfFeature1/Label/%00

Package Details

Repository
https://github.com/pulumi/pulumi-azure
License
Apache-2.0
Notes

This Pulumi package is based on the azurerm Terraform Provider.