DynamicUserGroup resource
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as scm from "@pulumi/scm";
// First, create the tags that will be used in the dynamic user group's filter.
const scmDugTag1 = new scm.Tag("scm_dug_tag_1", {
folder: "All",
name: "scm_dug_tag_1",
color: "Red",
});
const scmDugTag2 = new scm.Tag("scm_dug_tag_2", {
folder: "All",
name: "scm_dug_tag_2",
color: "Blue",
});
const scmDugTag3 = new scm.Tag("scm_dug_tag_3", {
folder: "All",
name: "scm_dug_tag_3",
color: "Green",
});
// Create the dynamic user group that references the tags above.
const scmDug1 = new scm.DynamicUserGroup("scm_dug_1", {
folder: "Shared",
name: "scm_dug_1",
description: "DUG created for Terraform",
filter: pulumi.interpolate`'${scmDugTag1.name}' or '${scmDugTag2.name}' and '${scmDugTag3.name}'`,
tags: [scmDugTag1.name],
}, {
dependsOn: [
scmDugTag1,
scmDugTag2,
scmDugTag3,
],
});
import pulumi
import pulumi_scm as scm
# First, create the tags that will be used in the dynamic user group's filter.
scm_dug_tag1 = scm.Tag("scm_dug_tag_1",
folder="All",
name="scm_dug_tag_1",
color="Red")
scm_dug_tag2 = scm.Tag("scm_dug_tag_2",
folder="All",
name="scm_dug_tag_2",
color="Blue")
scm_dug_tag3 = scm.Tag("scm_dug_tag_3",
folder="All",
name="scm_dug_tag_3",
color="Green")
# Create the dynamic user group that references the tags above.
scm_dug1 = scm.DynamicUserGroup("scm_dug_1",
folder="Shared",
name="scm_dug_1",
description="DUG created for Terraform",
filter=pulumi.Output.all(
scmDugTag1Name=scm_dug_tag1.name,
scmDugTag2Name=scm_dug_tag2.name,
scmDugTag3Name=scm_dug_tag3.name
).apply(lambda resolved_outputs: f"'{resolved_outputs['scmDugTag1Name']}' or '{resolved_outputs['scmDugTag2Name']}' and '{resolved_outputs['scmDugTag3Name']}'")
,
tags=[scm_dug_tag1.name],
opts = pulumi.ResourceOptions(depends_on=[
scm_dug_tag1,
scm_dug_tag2,
scm_dug_tag3,
]))
package main
import (
"fmt"
"github.com/pulumi/pulumi-scm/sdk/go/scm"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// First, create the tags that will be used in the dynamic user group's filter.
scmDugTag1, err := scm.NewTag(ctx, "scm_dug_tag_1", &scm.TagArgs{
Folder: pulumi.String("All"),
Name: pulumi.String("scm_dug_tag_1"),
Color: pulumi.String("Red"),
})
if err != nil {
return err
}
scmDugTag2, err := scm.NewTag(ctx, "scm_dug_tag_2", &scm.TagArgs{
Folder: pulumi.String("All"),
Name: pulumi.String("scm_dug_tag_2"),
Color: pulumi.String("Blue"),
})
if err != nil {
return err
}
scmDugTag3, err := scm.NewTag(ctx, "scm_dug_tag_3", &scm.TagArgs{
Folder: pulumi.String("All"),
Name: pulumi.String("scm_dug_tag_3"),
Color: pulumi.String("Green"),
})
if err != nil {
return err
}
// Create the dynamic user group that references the tags above.
_, err = scm.NewDynamicUserGroup(ctx, "scm_dug_1", &scm.DynamicUserGroupArgs{
Folder: pulumi.String("Shared"),
Name: pulumi.String("scm_dug_1"),
Description: pulumi.String("DUG created for Terraform"),
Filter: pulumi.All(scmDugTag1.Name, scmDugTag2.Name, scmDugTag3.Name).ApplyT(func(_args []interface{}) (string, error) {
scmDugTag1Name := _args[0].(string)
scmDugTag2Name := _args[1].(string)
scmDugTag3Name := _args[2].(string)
return fmt.Sprintf("'%v' or '%v' and '%v'", scmDugTag1Name, scmDugTag2Name, scmDugTag3Name), nil
}).(pulumi.StringOutput),
Tags: pulumi.StringArray{
scmDugTag1.Name,
},
}, pulumi.DependsOn([]pulumi.Resource{
scmDugTag1,
scmDugTag2,
scmDugTag3,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scm = Pulumi.Scm;
return await Deployment.RunAsync(() =>
{
// First, create the tags that will be used in the dynamic user group's filter.
var scmDugTag1 = new Scm.Tag("scm_dug_tag_1", new()
{
Folder = "All",
Name = "scm_dug_tag_1",
Color = "Red",
});
var scmDugTag2 = new Scm.Tag("scm_dug_tag_2", new()
{
Folder = "All",
Name = "scm_dug_tag_2",
Color = "Blue",
});
var scmDugTag3 = new Scm.Tag("scm_dug_tag_3", new()
{
Folder = "All",
Name = "scm_dug_tag_3",
Color = "Green",
});
// Create the dynamic user group that references the tags above.
var scmDug1 = new Scm.DynamicUserGroup("scm_dug_1", new()
{
Folder = "Shared",
Name = "scm_dug_1",
Description = "DUG created for Terraform",
Filter = Output.Tuple(scmDugTag1.Name, scmDugTag2.Name, scmDugTag3.Name).Apply(values =>
{
var scmDugTag1Name = values.Item1;
var scmDugTag2Name = values.Item2;
var scmDugTag3Name = values.Item3;
return $"'{scmDugTag1Name}' or '{scmDugTag2Name}' and '{scmDugTag3Name}'";
}),
Tags = new[]
{
scmDugTag1.Name,
},
}, new CustomResourceOptions
{
DependsOn =
{
scmDugTag1,
scmDugTag2,
scmDugTag3,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scm.Tag;
import com.pulumi.scm.TagArgs;
import com.pulumi.scm.DynamicUserGroup;
import com.pulumi.scm.DynamicUserGroupArgs;
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) {
// First, create the tags that will be used in the dynamic user group's filter.
var scmDugTag1 = new Tag("scmDugTag1", TagArgs.builder()
.folder("All")
.name("scm_dug_tag_1")
.color("Red")
.build());
var scmDugTag2 = new Tag("scmDugTag2", TagArgs.builder()
.folder("All")
.name("scm_dug_tag_2")
.color("Blue")
.build());
var scmDugTag3 = new Tag("scmDugTag3", TagArgs.builder()
.folder("All")
.name("scm_dug_tag_3")
.color("Green")
.build());
// Create the dynamic user group that references the tags above.
var scmDug1 = new DynamicUserGroup("scmDug1", DynamicUserGroupArgs.builder()
.folder("Shared")
.name("scm_dug_1")
.description("DUG created for Terraform")
.filter(Output.tuple(scmDugTag1.name(), scmDugTag2.name(), scmDugTag3.name()).applyValue(values -> {
var scmDugTag1Name = values.t1;
var scmDugTag2Name = values.t2;
var scmDugTag3Name = values.t3;
return String.format("'%s' or '%s' and '%s'", scmDugTag1Name,scmDugTag2Name,scmDugTag3Name);
}))
.tags(scmDugTag1.name())
.build(), CustomResourceOptions.builder()
.dependsOn(
scmDugTag1,
scmDugTag2,
scmDugTag3)
.build());
}
}
resources:
# First, create the tags that will be used in the dynamic user group's filter.
scmDugTag1:
type: scm:Tag
name: scm_dug_tag_1
properties:
folder: All
name: scm_dug_tag_1
color: Red
scmDugTag2:
type: scm:Tag
name: scm_dug_tag_2
properties:
folder: All
name: scm_dug_tag_2
color: Blue
scmDugTag3:
type: scm:Tag
name: scm_dug_tag_3
properties:
folder: All
name: scm_dug_tag_3
color: Green
# Create the dynamic user group that references the tags above.
scmDug1:
type: scm:DynamicUserGroup
name: scm_dug_1
properties:
folder: Shared
name: scm_dug_1
description: DUG created for Terraform
filter: '''${scmDugTag1.name}'' or ''${scmDugTag2.name}'' and ''${scmDugTag3.name}'''
tags:
- ${scmDugTag1.name}
options:
dependsOn:
- ${scmDugTag1}
- ${scmDugTag2}
- ${scmDugTag3}
Create DynamicUserGroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new DynamicUserGroup(name: string, args: DynamicUserGroupArgs, opts?: CustomResourceOptions);@overload
def DynamicUserGroup(resource_name: str,
args: DynamicUserGroupArgs,
opts: Optional[ResourceOptions] = None)
@overload
def DynamicUserGroup(resource_name: str,
opts: Optional[ResourceOptions] = None,
filter: Optional[str] = None,
description: Optional[str] = None,
device: Optional[str] = None,
folder: Optional[str] = None,
name: Optional[str] = None,
snippet: Optional[str] = None,
tags: Optional[Sequence[str]] = None)func NewDynamicUserGroup(ctx *Context, name string, args DynamicUserGroupArgs, opts ...ResourceOption) (*DynamicUserGroup, error)public DynamicUserGroup(string name, DynamicUserGroupArgs args, CustomResourceOptions? opts = null)
public DynamicUserGroup(String name, DynamicUserGroupArgs args)
public DynamicUserGroup(String name, DynamicUserGroupArgs args, CustomResourceOptions options)
type: scm:DynamicUserGroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args DynamicUserGroupArgs
- 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 DynamicUserGroupArgs
- 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 DynamicUserGroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DynamicUserGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args DynamicUserGroupArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var dynamicUserGroupResource = new Scm.DynamicUserGroup("dynamicUserGroupResource", new()
{
Filter = "string",
Description = "string",
Device = "string",
Folder = "string",
Name = "string",
Snippet = "string",
Tags = new[]
{
"string",
},
});
example, err := scm.NewDynamicUserGroup(ctx, "dynamicUserGroupResource", &scm.DynamicUserGroupArgs{
Filter: pulumi.String("string"),
Description: pulumi.String("string"),
Device: pulumi.String("string"),
Folder: pulumi.String("string"),
Name: pulumi.String("string"),
Snippet: pulumi.String("string"),
Tags: pulumi.StringArray{
pulumi.String("string"),
},
})
var dynamicUserGroupResource = new DynamicUserGroup("dynamicUserGroupResource", DynamicUserGroupArgs.builder()
.filter("string")
.description("string")
.device("string")
.folder("string")
.name("string")
.snippet("string")
.tags("string")
.build());
dynamic_user_group_resource = scm.DynamicUserGroup("dynamicUserGroupResource",
filter="string",
description="string",
device="string",
folder="string",
name="string",
snippet="string",
tags=["string"])
const dynamicUserGroupResource = new scm.DynamicUserGroup("dynamicUserGroupResource", {
filter: "string",
description: "string",
device: "string",
folder: "string",
name: "string",
snippet: "string",
tags: ["string"],
});
type: scm:DynamicUserGroup
properties:
description: string
device: string
filter: string
folder: string
name: string
snippet: string
tags:
- string
DynamicUserGroup Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The DynamicUserGroup resource accepts the following input properties:
- Filter string
- The tag-based filter for the dynamic user group
- Description string
- The description of the dynamic address group
- Device string
- The device in which the resource is defined
- Folder string
- The folder in which the resource is defined
- Name string
- The name of the dynamic address group
- Snippet string
- The snippet in which the resource is defined
- List<string>
- Tags associated with the dynamic user group
- Filter string
- The tag-based filter for the dynamic user group
- Description string
- The description of the dynamic address group
- Device string
- The device in which the resource is defined
- Folder string
- The folder in which the resource is defined
- Name string
- The name of the dynamic address group
- Snippet string
- The snippet in which the resource is defined
- []string
- Tags associated with the dynamic user group
- filter String
- The tag-based filter for the dynamic user group
- description String
- The description of the dynamic address group
- device String
- The device in which the resource is defined
- folder String
- The folder in which the resource is defined
- name String
- The name of the dynamic address group
- snippet String
- The snippet in which the resource is defined
- List<String>
- Tags associated with the dynamic user group
- filter string
- The tag-based filter for the dynamic user group
- description string
- The description of the dynamic address group
- device string
- The device in which the resource is defined
- folder string
- The folder in which the resource is defined
- name string
- The name of the dynamic address group
- snippet string
- The snippet in which the resource is defined
- string[]
- Tags associated with the dynamic user group
- filter str
- The tag-based filter for the dynamic user group
- description str
- The description of the dynamic address group
- device str
- The device in which the resource is defined
- folder str
- The folder in which the resource is defined
- name str
- The name of the dynamic address group
- snippet str
- The snippet in which the resource is defined
- Sequence[str]
- Tags associated with the dynamic user group
- filter String
- The tag-based filter for the dynamic user group
- description String
- The description of the dynamic address group
- device String
- The device in which the resource is defined
- folder String
- The folder in which the resource is defined
- name String
- The name of the dynamic address group
- snippet String
- The snippet in which the resource is defined
- List<String>
- Tags associated with the dynamic user group
Outputs
All input properties are implicitly available as output properties. Additionally, the DynamicUserGroup resource produces the following output properties:
Look up Existing DynamicUserGroup Resource
Get an existing DynamicUserGroup 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?: DynamicUserGroupState, opts?: CustomResourceOptions): DynamicUserGroup@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
device: Optional[str] = None,
filter: Optional[str] = None,
folder: Optional[str] = None,
name: Optional[str] = None,
snippet: Optional[str] = None,
tags: Optional[Sequence[str]] = None,
tfid: Optional[str] = None) -> DynamicUserGroupfunc GetDynamicUserGroup(ctx *Context, name string, id IDInput, state *DynamicUserGroupState, opts ...ResourceOption) (*DynamicUserGroup, error)public static DynamicUserGroup Get(string name, Input<string> id, DynamicUserGroupState? state, CustomResourceOptions? opts = null)public static DynamicUserGroup get(String name, Output<String> id, DynamicUserGroupState state, CustomResourceOptions options)resources: _: type: scm:DynamicUserGroup get: id: ${id}- 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.
- Description string
- The description of the dynamic address group
- Device string
- The device in which the resource is defined
- Filter string
- The tag-based filter for the dynamic user group
- Folder string
- The folder in which the resource is defined
- Name string
- The name of the dynamic address group
- Snippet string
- The snippet in which the resource is defined
- List<string>
- Tags associated with the dynamic user group
- Tfid string
- Description string
- The description of the dynamic address group
- Device string
- The device in which the resource is defined
- Filter string
- The tag-based filter for the dynamic user group
- Folder string
- The folder in which the resource is defined
- Name string
- The name of the dynamic address group
- Snippet string
- The snippet in which the resource is defined
- []string
- Tags associated with the dynamic user group
- Tfid string
- description String
- The description of the dynamic address group
- device String
- The device in which the resource is defined
- filter String
- The tag-based filter for the dynamic user group
- folder String
- The folder in which the resource is defined
- name String
- The name of the dynamic address group
- snippet String
- The snippet in which the resource is defined
- List<String>
- Tags associated with the dynamic user group
- tfid String
- description string
- The description of the dynamic address group
- device string
- The device in which the resource is defined
- filter string
- The tag-based filter for the dynamic user group
- folder string
- The folder in which the resource is defined
- name string
- The name of the dynamic address group
- snippet string
- The snippet in which the resource is defined
- string[]
- Tags associated with the dynamic user group
- tfid string
- description str
- The description of the dynamic address group
- device str
- The device in which the resource is defined
- filter str
- The tag-based filter for the dynamic user group
- folder str
- The folder in which the resource is defined
- name str
- The name of the dynamic address group
- snippet str
- The snippet in which the resource is defined
- Sequence[str]
- Tags associated with the dynamic user group
- tfid str
- description String
- The description of the dynamic address group
- device String
- The device in which the resource is defined
- filter String
- The tag-based filter for the dynamic user group
- folder String
- The folder in which the resource is defined
- name String
- The name of the dynamic address group
- snippet String
- The snippet in which the resource is defined
- List<String>
- Tags associated with the dynamic user group
- tfid String
Package Details
- Repository
- scm pulumi/pulumi-scm
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
scmTerraform Provider.
