AddressGroup resource
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as scm from "@pulumi/scm";
// This file is embedded using go:embed
// First, create some addresses that will be used in the address group
const scmAddressAg1 = new scm.Address("scm_address_ag_1", {
folder: "Shared",
name: "scm_address_ag_1",
description: "First test address",
ipNetmask: "192.168.1.1/32",
});
const scmAddressAg2 = new scm.Address("scm_address_ag_2", {
folder: "Shared",
name: "scm_address_ag_2",
description: "Second test address",
ipNetmask: "192.168.1.2/32",
});
// Create the address group that references the addresses above
const scmAddressGroup1 = new scm.AddressGroup("scm_address_group_1", {
folder: "Shared",
name: "scm_address_group_1",
description: "Sample address group created with Terraform",
statics: [
scmAddressAg1.name,
scmAddressAg2.name,
],
});
// Create tags to be used for dynamic address group
const scmAddressgroupTag1 = new scm.Tag("scm_addressgroup_tag_1", {
folder: "All",
name: "scm_addressgroup_tag_1",
comments: "Managed by Pulumi",
color: "Orange",
});
const scmAddressgroupTag2 = new scm.Tag("scm_addressgroup_tag_2", {
folder: "All",
name: "scm_addressgroup_tag_2",
comments: "Managed by Pulumi",
color: "Blue",
});
// Create a dynamic addressgroup that matches both tags
const scmAddressgroupDynamic = new scm.AddressGroup("scm_addressgroup_dynamic", {
folder: "Shared",
name: "scm_addressgroup_dynamic",
description: "Managed by Pulumi",
dynamic: {
filter: "scm_addressgroup_tag_1 and scm_addressgroup_tag_2",
},
});
import pulumi
import pulumi_scm as scm
# This file is embedded using go:embed
# First, create some addresses that will be used in the address group
scm_address_ag1 = scm.Address("scm_address_ag_1",
folder="Shared",
name="scm_address_ag_1",
description="First test address",
ip_netmask="192.168.1.1/32")
scm_address_ag2 = scm.Address("scm_address_ag_2",
folder="Shared",
name="scm_address_ag_2",
description="Second test address",
ip_netmask="192.168.1.2/32")
# Create the address group that references the addresses above
scm_address_group1 = scm.AddressGroup("scm_address_group_1",
folder="Shared",
name="scm_address_group_1",
description="Sample address group created with Terraform",
statics=[
scm_address_ag1.name,
scm_address_ag2.name,
])
# Create tags to be used for dynamic address group
scm_addressgroup_tag1 = scm.Tag("scm_addressgroup_tag_1",
folder="All",
name="scm_addressgroup_tag_1",
comments="Managed by Pulumi",
color="Orange")
scm_addressgroup_tag2 = scm.Tag("scm_addressgroup_tag_2",
folder="All",
name="scm_addressgroup_tag_2",
comments="Managed by Pulumi",
color="Blue")
# Create a dynamic addressgroup that matches both tags
scm_addressgroup_dynamic = scm.AddressGroup("scm_addressgroup_dynamic",
folder="Shared",
name="scm_addressgroup_dynamic",
description="Managed by Pulumi",
dynamic={
"filter": "scm_addressgroup_tag_1 and scm_addressgroup_tag_2",
})
package main
import (
"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 {
// This file is embedded using go:embed
// First, create some addresses that will be used in the address group
scmAddressAg1, err := scm.NewAddress(ctx, "scm_address_ag_1", &scm.AddressArgs{
Folder: pulumi.String("Shared"),
Name: pulumi.String("scm_address_ag_1"),
Description: pulumi.String("First test address"),
IpNetmask: pulumi.String("192.168.1.1/32"),
})
if err != nil {
return err
}
scmAddressAg2, err := scm.NewAddress(ctx, "scm_address_ag_2", &scm.AddressArgs{
Folder: pulumi.String("Shared"),
Name: pulumi.String("scm_address_ag_2"),
Description: pulumi.String("Second test address"),
IpNetmask: pulumi.String("192.168.1.2/32"),
})
if err != nil {
return err
}
// Create the address group that references the addresses above
_, err = scm.NewAddressGroup(ctx, "scm_address_group_1", &scm.AddressGroupArgs{
Folder: pulumi.String("Shared"),
Name: pulumi.String("scm_address_group_1"),
Description: pulumi.String("Sample address group created with Terraform"),
Statics: pulumi.StringArray{
scmAddressAg1.Name,
scmAddressAg2.Name,
},
})
if err != nil {
return err
}
// Create tags to be used for dynamic address group
_, err = scm.NewTag(ctx, "scm_addressgroup_tag_1", &scm.TagArgs{
Folder: pulumi.String("All"),
Name: pulumi.String("scm_addressgroup_tag_1"),
Comments: pulumi.String("Managed by Pulumi"),
Color: pulumi.String("Orange"),
})
if err != nil {
return err
}
_, err = scm.NewTag(ctx, "scm_addressgroup_tag_2", &scm.TagArgs{
Folder: pulumi.String("All"),
Name: pulumi.String("scm_addressgroup_tag_2"),
Comments: pulumi.String("Managed by Pulumi"),
Color: pulumi.String("Blue"),
})
if err != nil {
return err
}
// Create a dynamic addressgroup that matches both tags
_, err = scm.NewAddressGroup(ctx, "scm_addressgroup_dynamic", &scm.AddressGroupArgs{
Folder: pulumi.String("Shared"),
Name: pulumi.String("scm_addressgroup_dynamic"),
Description: pulumi.String("Managed by Pulumi"),
Dynamic: &scm.AddressGroupDynamicArgs{
Filter: pulumi.String("scm_addressgroup_tag_1 and scm_addressgroup_tag_2"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scm = Pulumi.Scm;
return await Deployment.RunAsync(() =>
{
// This file is embedded using go:embed
// First, create some addresses that will be used in the address group
var scmAddressAg1 = new Scm.Address("scm_address_ag_1", new()
{
Folder = "Shared",
Name = "scm_address_ag_1",
Description = "First test address",
IpNetmask = "192.168.1.1/32",
});
var scmAddressAg2 = new Scm.Address("scm_address_ag_2", new()
{
Folder = "Shared",
Name = "scm_address_ag_2",
Description = "Second test address",
IpNetmask = "192.168.1.2/32",
});
// Create the address group that references the addresses above
var scmAddressGroup1 = new Scm.AddressGroup("scm_address_group_1", new()
{
Folder = "Shared",
Name = "scm_address_group_1",
Description = "Sample address group created with Terraform",
Statics = new[]
{
scmAddressAg1.Name,
scmAddressAg2.Name,
},
});
// Create tags to be used for dynamic address group
var scmAddressgroupTag1 = new Scm.Tag("scm_addressgroup_tag_1", new()
{
Folder = "All",
Name = "scm_addressgroup_tag_1",
Comments = "Managed by Pulumi",
Color = "Orange",
});
var scmAddressgroupTag2 = new Scm.Tag("scm_addressgroup_tag_2", new()
{
Folder = "All",
Name = "scm_addressgroup_tag_2",
Comments = "Managed by Pulumi",
Color = "Blue",
});
// Create a dynamic addressgroup that matches both tags
var scmAddressgroupDynamic = new Scm.AddressGroup("scm_addressgroup_dynamic", new()
{
Folder = "Shared",
Name = "scm_addressgroup_dynamic",
Description = "Managed by Pulumi",
Dynamic = new Scm.Inputs.AddressGroupDynamicArgs
{
Filter = "scm_addressgroup_tag_1 and scm_addressgroup_tag_2",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scm.Address;
import com.pulumi.scm.AddressArgs;
import com.pulumi.scm.AddressGroup;
import com.pulumi.scm.AddressGroupArgs;
import com.pulumi.scm.Tag;
import com.pulumi.scm.TagArgs;
import com.pulumi.scm.inputs.AddressGroupDynamicArgs;
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) {
// This file is embedded using go:embed
// First, create some addresses that will be used in the address group
var scmAddressAg1 = new Address("scmAddressAg1", AddressArgs.builder()
.folder("Shared")
.name("scm_address_ag_1")
.description("First test address")
.ipNetmask("192.168.1.1/32")
.build());
var scmAddressAg2 = new Address("scmAddressAg2", AddressArgs.builder()
.folder("Shared")
.name("scm_address_ag_2")
.description("Second test address")
.ipNetmask("192.168.1.2/32")
.build());
// Create the address group that references the addresses above
var scmAddressGroup1 = new AddressGroup("scmAddressGroup1", AddressGroupArgs.builder()
.folder("Shared")
.name("scm_address_group_1")
.description("Sample address group created with Terraform")
.statics(
scmAddressAg1.name(),
scmAddressAg2.name())
.build());
// Create tags to be used for dynamic address group
var scmAddressgroupTag1 = new Tag("scmAddressgroupTag1", TagArgs.builder()
.folder("All")
.name("scm_addressgroup_tag_1")
.comments("Managed by Pulumi")
.color("Orange")
.build());
var scmAddressgroupTag2 = new Tag("scmAddressgroupTag2", TagArgs.builder()
.folder("All")
.name("scm_addressgroup_tag_2")
.comments("Managed by Pulumi")
.color("Blue")
.build());
// Create a dynamic addressgroup that matches both tags
var scmAddressgroupDynamic = new AddressGroup("scmAddressgroupDynamic", AddressGroupArgs.builder()
.folder("Shared")
.name("scm_addressgroup_dynamic")
.description("Managed by Pulumi")
.dynamic(AddressGroupDynamicArgs.builder()
.filter("scm_addressgroup_tag_1 and scm_addressgroup_tag_2")
.build())
.build());
}
}
resources:
# This file is embedded using go:embed
# First, create some addresses that will be used in the address group
scmAddressAg1:
type: scm:Address
name: scm_address_ag_1
properties:
folder: Shared
name: scm_address_ag_1
description: First test address
ipNetmask: 192.168.1.1/32
scmAddressAg2:
type: scm:Address
name: scm_address_ag_2
properties:
folder: Shared
name: scm_address_ag_2
description: Second test address
ipNetmask: 192.168.1.2/32
# Create the address group that references the addresses above
scmAddressGroup1:
type: scm:AddressGroup
name: scm_address_group_1
properties:
folder: Shared
name: scm_address_group_1
description: Sample address group created with Terraform
statics:
- ${scmAddressAg1.name}
- ${scmAddressAg2.name}
# Create tags to be used for dynamic address group
scmAddressgroupTag1:
type: scm:Tag
name: scm_addressgroup_tag_1
properties:
folder: All
name: scm_addressgroup_tag_1
comments: Managed by Pulumi
color: Orange
scmAddressgroupTag2:
type: scm:Tag
name: scm_addressgroup_tag_2
properties:
folder: All
name: scm_addressgroup_tag_2
comments: Managed by Pulumi
color: Blue
# Create a dynamic addressgroup that matches both tags
scmAddressgroupDynamic:
type: scm:AddressGroup
name: scm_addressgroup_dynamic
properties:
folder: Shared
name: scm_addressgroup_dynamic
description: Managed by Pulumi
dynamic:
filter: scm_addressgroup_tag_1 and scm_addressgroup_tag_2
Create AddressGroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new AddressGroup(name: string, args?: AddressGroupArgs, opts?: CustomResourceOptions);@overload
def AddressGroup(resource_name: str,
args: Optional[AddressGroupArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def AddressGroup(resource_name: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
device: Optional[str] = None,
dynamic: Optional[AddressGroupDynamicArgs] = None,
folder: Optional[str] = None,
name: Optional[str] = None,
snippet: Optional[str] = None,
statics: Optional[Sequence[str]] = None,
tags: Optional[Sequence[str]] = None)func NewAddressGroup(ctx *Context, name string, args *AddressGroupArgs, opts ...ResourceOption) (*AddressGroup, error)public AddressGroup(string name, AddressGroupArgs? args = null, CustomResourceOptions? opts = null)
public AddressGroup(String name, AddressGroupArgs args)
public AddressGroup(String name, AddressGroupArgs args, CustomResourceOptions options)
type: scm:AddressGroup
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 AddressGroupArgs
- 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 AddressGroupArgs
- 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 AddressGroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AddressGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args AddressGroupArgs
- 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 addressGroupResource = new Scm.AddressGroup("addressGroupResource", new()
{
Description = "string",
Device = "string",
Dynamic = new Scm.Inputs.AddressGroupDynamicArgs
{
Filter = "string",
},
Folder = "string",
Name = "string",
Snippet = "string",
Statics = new[]
{
"string",
},
Tags = new[]
{
"string",
},
});
example, err := scm.NewAddressGroup(ctx, "addressGroupResource", &scm.AddressGroupArgs{
Description: pulumi.String("string"),
Device: pulumi.String("string"),
Dynamic: &scm.AddressGroupDynamicArgs{
Filter: pulumi.String("string"),
},
Folder: pulumi.String("string"),
Name: pulumi.String("string"),
Snippet: pulumi.String("string"),
Statics: pulumi.StringArray{
pulumi.String("string"),
},
Tags: pulumi.StringArray{
pulumi.String("string"),
},
})
var addressGroupResource = new AddressGroup("addressGroupResource", AddressGroupArgs.builder()
.description("string")
.device("string")
.dynamic(AddressGroupDynamicArgs.builder()
.filter("string")
.build())
.folder("string")
.name("string")
.snippet("string")
.statics("string")
.tags("string")
.build());
address_group_resource = scm.AddressGroup("addressGroupResource",
description="string",
device="string",
dynamic={
"filter": "string",
},
folder="string",
name="string",
snippet="string",
statics=["string"],
tags=["string"])
const addressGroupResource = new scm.AddressGroup("addressGroupResource", {
description: "string",
device: "string",
dynamic: {
filter: "string",
},
folder: "string",
name: "string",
snippet: "string",
statics: ["string"],
tags: ["string"],
});
type: scm:AddressGroup
properties:
description: string
device: string
dynamic:
filter: string
folder: string
name: string
snippet: string
statics:
- string
tags:
- string
AddressGroup 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 AddressGroup resource accepts the following input properties:
- Description string
- Description
- Device string
- The device in which the resource is defined
- Dynamic
Address
Group Dynamic - Dynamic
- Folder string
- The folder in which the resource is defined
- Name string
- The name of the address group
- Snippet string
- The snippet in which the resource is defined
- Statics List<string>
- Static
- List<string>
- Tags for address group object
- Description string
- Description
- Device string
- The device in which the resource is defined
- Dynamic
Address
Group Dynamic Args - Dynamic
- Folder string
- The folder in which the resource is defined
- Name string
- The name of the address group
- Snippet string
- The snippet in which the resource is defined
- Statics []string
- Static
- []string
- Tags for address group object
- description String
- Description
- device String
- The device in which the resource is defined
- dynamic
Address
Group Dynamic - Dynamic
- folder String
- The folder in which the resource is defined
- name String
- The name of the address group
- snippet String
- The snippet in which the resource is defined
- statics List<String>
- Static
- List<String>
- Tags for address group object
- description string
- Description
- device string
- The device in which the resource is defined
- dynamic
Address
Group Dynamic - Dynamic
- folder string
- The folder in which the resource is defined
- name string
- The name of the address group
- snippet string
- The snippet in which the resource is defined
- statics string[]
- Static
- string[]
- Tags for address group object
- description str
- Description
- device str
- The device in which the resource is defined
- dynamic
Address
Group Dynamic Args - Dynamic
- folder str
- The folder in which the resource is defined
- name str
- The name of the address group
- snippet str
- The snippet in which the resource is defined
- statics Sequence[str]
- Static
- Sequence[str]
- Tags for address group object
- description String
- Description
- device String
- The device in which the resource is defined
- dynamic Property Map
- Dynamic
- folder String
- The folder in which the resource is defined
- name String
- The name of the address group
- snippet String
- The snippet in which the resource is defined
- statics List<String>
- Static
- List<String>
- Tags for address group object
Outputs
All input properties are implicitly available as output properties. Additionally, the AddressGroup resource produces the following output properties:
Look up Existing AddressGroup Resource
Get an existing AddressGroup 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?: AddressGroupState, opts?: CustomResourceOptions): AddressGroup@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
device: Optional[str] = None,
dynamic: Optional[AddressGroupDynamicArgs] = None,
folder: Optional[str] = None,
name: Optional[str] = None,
snippet: Optional[str] = None,
statics: Optional[Sequence[str]] = None,
tags: Optional[Sequence[str]] = None,
tfid: Optional[str] = None) -> AddressGroupfunc GetAddressGroup(ctx *Context, name string, id IDInput, state *AddressGroupState, opts ...ResourceOption) (*AddressGroup, error)public static AddressGroup Get(string name, Input<string> id, AddressGroupState? state, CustomResourceOptions? opts = null)public static AddressGroup get(String name, Output<String> id, AddressGroupState state, CustomResourceOptions options)resources: _: type: scm:AddressGroup 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
- Description
- Device string
- The device in which the resource is defined
- Dynamic
Address
Group Dynamic - Dynamic
- Folder string
- The folder in which the resource is defined
- Name string
- The name of the address group
- Snippet string
- The snippet in which the resource is defined
- Statics List<string>
- Static
- List<string>
- Tags for address group object
- Tfid string
- Description string
- Description
- Device string
- The device in which the resource is defined
- Dynamic
Address
Group Dynamic Args - Dynamic
- Folder string
- The folder in which the resource is defined
- Name string
- The name of the address group
- Snippet string
- The snippet in which the resource is defined
- Statics []string
- Static
- []string
- Tags for address group object
- Tfid string
- description String
- Description
- device String
- The device in which the resource is defined
- dynamic
Address
Group Dynamic - Dynamic
- folder String
- The folder in which the resource is defined
- name String
- The name of the address group
- snippet String
- The snippet in which the resource is defined
- statics List<String>
- Static
- List<String>
- Tags for address group object
- tfid String
- description string
- Description
- device string
- The device in which the resource is defined
- dynamic
Address
Group Dynamic - Dynamic
- folder string
- The folder in which the resource is defined
- name string
- The name of the address group
- snippet string
- The snippet in which the resource is defined
- statics string[]
- Static
- string[]
- Tags for address group object
- tfid string
- description str
- Description
- device str
- The device in which the resource is defined
- dynamic
Address
Group Dynamic Args - Dynamic
- folder str
- The folder in which the resource is defined
- name str
- The name of the address group
- snippet str
- The snippet in which the resource is defined
- statics Sequence[str]
- Static
- Sequence[str]
- Tags for address group object
- tfid str
- description String
- Description
- device String
- The device in which the resource is defined
- dynamic Property Map
- Dynamic
- folder String
- The folder in which the resource is defined
- name String
- The name of the address group
- snippet String
- The snippet in which the resource is defined
- statics List<String>
- Static
- List<String>
- Tags for address group object
- tfid String
Supporting Types
AddressGroupDynamic, AddressGroupDynamicArgs
- Filter string
- Tag based filter defining group membership
- Filter string
- Tag based filter defining group membership
- filter String
- Tag based filter defining group membership
- filter string
- Tag based filter defining group membership
- filter str
- Tag based filter defining group membership
- filter String
- Tag based filter defining group membership
Package Details
- Repository
- scm pulumi/pulumi-scm
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
scmTerraform Provider.
