ServiceConnectionGroup resource
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as scm from "@pulumi/scm";
const config = new pulumi.Config();
// The folder scope for the SCM resource (e.g., 'Shared', 'Predefined', or a specific folder name).
const folderScope = config.get("folderScope") || "Service Connections";
//# 1. IKE Crypto Profile (IKE Phase 1)
const example = new scm.IkeCryptoProfile("example", {
name: "example-ike-crypto_sc_grp",
folder: folderScope,
hashes: ["sha256"],
dhGroups: ["group14"],
encryptions: ["aes-256-cbc"],
});
//# 2. IPsec Crypto Profile (IKE Phase 2)
const exampleIpsecCryptoProfile = new scm.IpsecCryptoProfile("example", {
name: "panw-IPSec-Crypto_sc_grp",
folder: folderScope,
esp: {
encryptions: ["aes-256-gcm"],
authentications: ["sha256"],
},
dhGroup: "group14",
lifetime: {
hours: 8,
},
});
//# 3. IKE Gateway
const exampleIkeGateway = new scm.IkeGateway("example", {
name: "example-gateway_sc_grp",
folder: folderScope,
peerAddress: {
ip: "1.1.1.1",
},
authentication: {
preSharedKey: {
key: "secret",
},
},
protocol: {
ikev1: {
ikeCryptoProfile: example.name,
},
},
});
//# 4. IPsec Tunnel
const exampleIpsecTunnel = new scm.IpsecTunnel("example", {
name: "example-tunnel_sc_grp",
folder: folderScope,
tunnelInterface: "tunnel",
antiReplay: true,
copyTos: false,
enableGreEncapsulation: false,
autoKey: {
ikeGateways: [{
name: exampleIkeGateway.name,
}],
ipsecCryptoProfile: exampleIpsecCryptoProfile.name,
},
}, {
dependsOn: [exampleIkeGateway],
});
//# 5. Service Connection (The target for the group)
const siteAVpnSc = new scm.ServiceConnection("site_a_vpn_sc", {
name: "creating_a_service_connection_sc_grp",
region: "us-west-1a",
ipsecTunnel: exampleIpsecTunnel.name,
subnets: [
"10.1.0.0/16",
"172.16.0.0/24",
],
sourceNat: false,
});
//# 5. Service Connection (The target for the group)
const siteAVpnSc2 = new scm.ServiceConnection("site_a_vpn_sc_2", {
name: "creating_a_service_connection_sc_grp_2",
region: "us-west-1a",
ipsecTunnel: exampleIpsecTunnel.name,
subnets: [
"10.1.0.0/16",
"172.16.0.0/24",
],
sourceNat: true,
});
// ------------------------------------------------------------------
// II. SERVICE CONNECTION GROUP RESOURCE
// ------------------------------------------------------------------
//# 6. Service Connection Group (Groups the Service Connection created above)
const exampleGroup = new scm.ServiceConnectionGroup("example_group", {
name: "service-connection-group-app_sc_grp",
targets: [
siteAVpnSc.name,
siteAVpnSc2.name,
],
disableSnat: true,
pbfOnly: false,
});
import pulumi
import pulumi_scm as scm
config = pulumi.Config()
# The folder scope for the SCM resource (e.g., 'Shared', 'Predefined', or a specific folder name).
folder_scope = config.get("folderScope")
if folder_scope is None:
folder_scope = "Service Connections"
## 1. IKE Crypto Profile (IKE Phase 1)
example = scm.IkeCryptoProfile("example",
name="example-ike-crypto_sc_grp",
folder=folder_scope,
hashes=["sha256"],
dh_groups=["group14"],
encryptions=["aes-256-cbc"])
## 2. IPsec Crypto Profile (IKE Phase 2)
example_ipsec_crypto_profile = scm.IpsecCryptoProfile("example",
name="panw-IPSec-Crypto_sc_grp",
folder=folder_scope,
esp={
"encryptions": ["aes-256-gcm"],
"authentications": ["sha256"],
},
dh_group="group14",
lifetime={
"hours": 8,
})
## 3. IKE Gateway
example_ike_gateway = scm.IkeGateway("example",
name="example-gateway_sc_grp",
folder=folder_scope,
peer_address={
"ip": "1.1.1.1",
},
authentication={
"pre_shared_key": {
"key": "secret",
},
},
protocol={
"ikev1": {
"ike_crypto_profile": example.name,
},
})
## 4. IPsec Tunnel
example_ipsec_tunnel = scm.IpsecTunnel("example",
name="example-tunnel_sc_grp",
folder=folder_scope,
tunnel_interface="tunnel",
anti_replay=True,
copy_tos=False,
enable_gre_encapsulation=False,
auto_key={
"ike_gateways": [{
"name": example_ike_gateway.name,
}],
"ipsec_crypto_profile": example_ipsec_crypto_profile.name,
},
opts = pulumi.ResourceOptions(depends_on=[example_ike_gateway]))
## 5. Service Connection (The target for the group)
site_a_vpn_sc = scm.ServiceConnection("site_a_vpn_sc",
name="creating_a_service_connection_sc_grp",
region="us-west-1a",
ipsec_tunnel=example_ipsec_tunnel.name,
subnets=[
"10.1.0.0/16",
"172.16.0.0/24",
],
source_nat=False)
## 5. Service Connection (The target for the group)
site_a_vpn_sc2 = scm.ServiceConnection("site_a_vpn_sc_2",
name="creating_a_service_connection_sc_grp_2",
region="us-west-1a",
ipsec_tunnel=example_ipsec_tunnel.name,
subnets=[
"10.1.0.0/16",
"172.16.0.0/24",
],
source_nat=True)
# ------------------------------------------------------------------
# II. SERVICE CONNECTION GROUP RESOURCE
# ------------------------------------------------------------------
## 6. Service Connection Group (Groups the Service Connection created above)
example_group = scm.ServiceConnectionGroup("example_group",
name="service-connection-group-app_sc_grp",
targets=[
site_a_vpn_sc.name,
site_a_vpn_sc2.name,
],
disable_snat=True,
pbf_only=False)
package main
import (
"github.com/pulumi/pulumi-scm/sdk/go/scm"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
// The folder scope for the SCM resource (e.g., 'Shared', 'Predefined', or a specific folder name).
folderScope := "Service Connections"
if param := cfg.Get("folderScope"); param != "" {
folderScope = param
}
// # 1. IKE Crypto Profile (IKE Phase 1)
example, err := scm.NewIkeCryptoProfile(ctx, "example", &scm.IkeCryptoProfileArgs{
Name: pulumi.String("example-ike-crypto_sc_grp"),
Folder: pulumi.String(folderScope),
Hashes: pulumi.StringArray{
pulumi.String("sha256"),
},
DhGroups: pulumi.StringArray{
pulumi.String("group14"),
},
Encryptions: pulumi.StringArray{
pulumi.String("aes-256-cbc"),
},
})
if err != nil {
return err
}
// # 2. IPsec Crypto Profile (IKE Phase 2)
exampleIpsecCryptoProfile, err := scm.NewIpsecCryptoProfile(ctx, "example", &scm.IpsecCryptoProfileArgs{
Name: pulumi.String("panw-IPSec-Crypto_sc_grp"),
Folder: pulumi.String(folderScope),
Esp: &scm.IpsecCryptoProfileEspArgs{
Encryptions: pulumi.StringArray{
pulumi.String("aes-256-gcm"),
},
Authentications: pulumi.StringArray{
pulumi.String("sha256"),
},
},
DhGroup: pulumi.String("group14"),
Lifetime: &scm.IpsecCryptoProfileLifetimeArgs{
Hours: pulumi.Int(8),
},
})
if err != nil {
return err
}
// # 3. IKE Gateway
exampleIkeGateway, err := scm.NewIkeGateway(ctx, "example", &scm.IkeGatewayArgs{
Name: pulumi.String("example-gateway_sc_grp"),
Folder: pulumi.String(folderScope),
PeerAddress: &scm.IkeGatewayPeerAddressArgs{
Ip: pulumi.String("1.1.1.1"),
},
Authentication: &scm.IkeGatewayAuthenticationArgs{
PreSharedKey: &scm.IkeGatewayAuthenticationPreSharedKeyArgs{
Key: pulumi.String("secret"),
},
},
Protocol: &scm.IkeGatewayProtocolArgs{
Ikev1: &scm.IkeGatewayProtocolIkev1Args{
IkeCryptoProfile: example.Name,
},
},
})
if err != nil {
return err
}
// # 4. IPsec Tunnel
exampleIpsecTunnel, err := scm.NewIpsecTunnel(ctx, "example", &scm.IpsecTunnelArgs{
Name: pulumi.String("example-tunnel_sc_grp"),
Folder: pulumi.String(folderScope),
TunnelInterface: pulumi.String("tunnel"),
AntiReplay: pulumi.Bool(true),
CopyTos: pulumi.Bool(false),
EnableGreEncapsulation: pulumi.Bool(false),
AutoKey: &scm.IpsecTunnelAutoKeyArgs{
IkeGateways: scm.IpsecTunnelAutoKeyIkeGatewayArray{
&scm.IpsecTunnelAutoKeyIkeGatewayArgs{
Name: exampleIkeGateway.Name,
},
},
IpsecCryptoProfile: exampleIpsecCryptoProfile.Name,
},
}, pulumi.DependsOn([]pulumi.Resource{
exampleIkeGateway,
}))
if err != nil {
return err
}
// # 5. Service Connection (The target for the group)
siteAVpnSc, err := scm.NewServiceConnection(ctx, "site_a_vpn_sc", &scm.ServiceConnectionArgs{
Name: pulumi.String("creating_a_service_connection_sc_grp"),
Region: pulumi.String("us-west-1a"),
IpsecTunnel: exampleIpsecTunnel.Name,
Subnets: pulumi.StringArray{
pulumi.String("10.1.0.0/16"),
pulumi.String("172.16.0.0/24"),
},
SourceNat: pulumi.Bool(false),
})
if err != nil {
return err
}
// # 5. Service Connection (The target for the group)
siteAVpnSc2, err := scm.NewServiceConnection(ctx, "site_a_vpn_sc_2", &scm.ServiceConnectionArgs{
Name: pulumi.String("creating_a_service_connection_sc_grp_2"),
Region: pulumi.String("us-west-1a"),
IpsecTunnel: exampleIpsecTunnel.Name,
Subnets: pulumi.StringArray{
pulumi.String("10.1.0.0/16"),
pulumi.String("172.16.0.0/24"),
},
SourceNat: pulumi.Bool(true),
})
if err != nil {
return err
}
// # 6. Service Connection Group (Groups the Service Connection created above)
_, err = scm.NewServiceConnectionGroup(ctx, "example_group", &scm.ServiceConnectionGroupArgs{
Name: pulumi.String("service-connection-group-app_sc_grp"),
Targets: pulumi.StringArray{
siteAVpnSc.Name,
siteAVpnSc2.Name,
},
DisableSnat: pulumi.Bool(true),
PbfOnly: pulumi.Bool(false),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scm = Pulumi.Scm;
return await Deployment.RunAsync(() =>
{
var config = new Config();
// The folder scope for the SCM resource (e.g., 'Shared', 'Predefined', or a specific folder name).
var folderScope = config.Get("folderScope") ?? "Service Connections";
//# 1. IKE Crypto Profile (IKE Phase 1)
var example = new Scm.IkeCryptoProfile("example", new()
{
Name = "example-ike-crypto_sc_grp",
Folder = folderScope,
Hashes = new[]
{
"sha256",
},
DhGroups = new[]
{
"group14",
},
Encryptions = new[]
{
"aes-256-cbc",
},
});
//# 2. IPsec Crypto Profile (IKE Phase 2)
var exampleIpsecCryptoProfile = new Scm.IpsecCryptoProfile("example", new()
{
Name = "panw-IPSec-Crypto_sc_grp",
Folder = folderScope,
Esp = new Scm.Inputs.IpsecCryptoProfileEspArgs
{
Encryptions = new[]
{
"aes-256-gcm",
},
Authentications = new[]
{
"sha256",
},
},
DhGroup = "group14",
Lifetime = new Scm.Inputs.IpsecCryptoProfileLifetimeArgs
{
Hours = 8,
},
});
//# 3. IKE Gateway
var exampleIkeGateway = new Scm.IkeGateway("example", new()
{
Name = "example-gateway_sc_grp",
Folder = folderScope,
PeerAddress = new Scm.Inputs.IkeGatewayPeerAddressArgs
{
Ip = "1.1.1.1",
},
Authentication = new Scm.Inputs.IkeGatewayAuthenticationArgs
{
PreSharedKey = new Scm.Inputs.IkeGatewayAuthenticationPreSharedKeyArgs
{
Key = "secret",
},
},
Protocol = new Scm.Inputs.IkeGatewayProtocolArgs
{
Ikev1 = new Scm.Inputs.IkeGatewayProtocolIkev1Args
{
IkeCryptoProfile = example.Name,
},
},
});
//# 4. IPsec Tunnel
var exampleIpsecTunnel = new Scm.IpsecTunnel("example", new()
{
Name = "example-tunnel_sc_grp",
Folder = folderScope,
TunnelInterface = "tunnel",
AntiReplay = true,
CopyTos = false,
EnableGreEncapsulation = false,
AutoKey = new Scm.Inputs.IpsecTunnelAutoKeyArgs
{
IkeGateways = new[]
{
new Scm.Inputs.IpsecTunnelAutoKeyIkeGatewayArgs
{
Name = exampleIkeGateway.Name,
},
},
IpsecCryptoProfile = exampleIpsecCryptoProfile.Name,
},
}, new CustomResourceOptions
{
DependsOn =
{
exampleIkeGateway,
},
});
//# 5. Service Connection (The target for the group)
var siteAVpnSc = new Scm.ServiceConnection("site_a_vpn_sc", new()
{
Name = "creating_a_service_connection_sc_grp",
Region = "us-west-1a",
IpsecTunnel = exampleIpsecTunnel.Name,
Subnets = new[]
{
"10.1.0.0/16",
"172.16.0.0/24",
},
SourceNat = false,
});
//# 5. Service Connection (The target for the group)
var siteAVpnSc2 = new Scm.ServiceConnection("site_a_vpn_sc_2", new()
{
Name = "creating_a_service_connection_sc_grp_2",
Region = "us-west-1a",
IpsecTunnel = exampleIpsecTunnel.Name,
Subnets = new[]
{
"10.1.0.0/16",
"172.16.0.0/24",
},
SourceNat = true,
});
// ------------------------------------------------------------------
// II. SERVICE CONNECTION GROUP RESOURCE
// ------------------------------------------------------------------
//# 6. Service Connection Group (Groups the Service Connection created above)
var exampleGroup = new Scm.ServiceConnectionGroup("example_group", new()
{
Name = "service-connection-group-app_sc_grp",
Targets = new[]
{
siteAVpnSc.Name,
siteAVpnSc2.Name,
},
DisableSnat = true,
PbfOnly = false,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scm.IkeCryptoProfile;
import com.pulumi.scm.IkeCryptoProfileArgs;
import com.pulumi.scm.IpsecCryptoProfile;
import com.pulumi.scm.IpsecCryptoProfileArgs;
import com.pulumi.scm.inputs.IpsecCryptoProfileEspArgs;
import com.pulumi.scm.inputs.IpsecCryptoProfileLifetimeArgs;
import com.pulumi.scm.IkeGateway;
import com.pulumi.scm.IkeGatewayArgs;
import com.pulumi.scm.inputs.IkeGatewayPeerAddressArgs;
import com.pulumi.scm.inputs.IkeGatewayAuthenticationArgs;
import com.pulumi.scm.inputs.IkeGatewayAuthenticationPreSharedKeyArgs;
import com.pulumi.scm.inputs.IkeGatewayProtocolArgs;
import com.pulumi.scm.inputs.IkeGatewayProtocolIkev1Args;
import com.pulumi.scm.IpsecTunnel;
import com.pulumi.scm.IpsecTunnelArgs;
import com.pulumi.scm.inputs.IpsecTunnelAutoKeyArgs;
import com.pulumi.scm.ServiceConnection;
import com.pulumi.scm.ServiceConnectionArgs;
import com.pulumi.scm.ServiceConnectionGroup;
import com.pulumi.scm.ServiceConnectionGroupArgs;
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) {
final var config = ctx.config();
final var folderScope = config.get("folderScope").orElse("Service Connections");
//# 1. IKE Crypto Profile (IKE Phase 1)
var example = new IkeCryptoProfile("example", IkeCryptoProfileArgs.builder()
.name("example-ike-crypto_sc_grp")
.folder(folderScope)
.hashes("sha256")
.dhGroups("group14")
.encryptions("aes-256-cbc")
.build());
//# 2. IPsec Crypto Profile (IKE Phase 2)
var exampleIpsecCryptoProfile = new IpsecCryptoProfile("exampleIpsecCryptoProfile", IpsecCryptoProfileArgs.builder()
.name("panw-IPSec-Crypto_sc_grp")
.folder(folderScope)
.esp(IpsecCryptoProfileEspArgs.builder()
.encryptions("aes-256-gcm")
.authentications("sha256")
.build())
.dhGroup("group14")
.lifetime(IpsecCryptoProfileLifetimeArgs.builder()
.hours(8)
.build())
.build());
//# 3. IKE Gateway
var exampleIkeGateway = new IkeGateway("exampleIkeGateway", IkeGatewayArgs.builder()
.name("example-gateway_sc_grp")
.folder(folderScope)
.peerAddress(IkeGatewayPeerAddressArgs.builder()
.ip("1.1.1.1")
.build())
.authentication(IkeGatewayAuthenticationArgs.builder()
.preSharedKey(IkeGatewayAuthenticationPreSharedKeyArgs.builder()
.key("secret")
.build())
.build())
.protocol(IkeGatewayProtocolArgs.builder()
.ikev1(IkeGatewayProtocolIkev1Args.builder()
.ikeCryptoProfile(example.name())
.build())
.build())
.build());
//# 4. IPsec Tunnel
var exampleIpsecTunnel = new IpsecTunnel("exampleIpsecTunnel", IpsecTunnelArgs.builder()
.name("example-tunnel_sc_grp")
.folder(folderScope)
.tunnelInterface("tunnel")
.antiReplay(true)
.copyTos(false)
.enableGreEncapsulation(false)
.autoKey(IpsecTunnelAutoKeyArgs.builder()
.ikeGateways(IpsecTunnelAutoKeyIkeGatewayArgs.builder()
.name(exampleIkeGateway.name())
.build())
.ipsecCryptoProfile(exampleIpsecCryptoProfile.name())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(exampleIkeGateway)
.build());
//# 5. Service Connection (The target for the group)
var siteAVpnSc = new ServiceConnection("siteAVpnSc", ServiceConnectionArgs.builder()
.name("creating_a_service_connection_sc_grp")
.region("us-west-1a")
.ipsecTunnel(exampleIpsecTunnel.name())
.subnets(
"10.1.0.0/16",
"172.16.0.0/24")
.sourceNat(false)
.build());
//# 5. Service Connection (The target for the group)
var siteAVpnSc2 = new ServiceConnection("siteAVpnSc2", ServiceConnectionArgs.builder()
.name("creating_a_service_connection_sc_grp_2")
.region("us-west-1a")
.ipsecTunnel(exampleIpsecTunnel.name())
.subnets(
"10.1.0.0/16",
"172.16.0.0/24")
.sourceNat(true)
.build());
// ------------------------------------------------------------------
// II. SERVICE CONNECTION GROUP RESOURCE
// ------------------------------------------------------------------
//# 6. Service Connection Group (Groups the Service Connection created above)
var exampleGroup = new ServiceConnectionGroup("exampleGroup", ServiceConnectionGroupArgs.builder()
.name("service-connection-group-app_sc_grp")
.targets(
siteAVpnSc.name(),
siteAVpnSc2.name())
.disableSnat(true)
.pbfOnly(false)
.build());
}
}
configuration:
folderScope: # ------------------------------------------------------------------
# I. VPN COMPONENT RESOURCES (Creation/Management)
# ------------------------------------------------------------------
type: string
default: Service Connections
resources:
## 1. IKE Crypto Profile (IKE Phase 1)
example:
type: scm:IkeCryptoProfile
properties:
name: example-ike-crypto_sc_grp
folder: ${folderScope}
hashes:
- sha256
dhGroups:
- group14
encryptions:
- aes-256-cbc
## 2. IPsec Crypto Profile (IKE Phase 2)
exampleIpsecCryptoProfile:
type: scm:IpsecCryptoProfile
name: example
properties:
name: panw-IPSec-Crypto_sc_grp
folder: ${folderScope}
esp:
encryptions:
- aes-256-gcm
authentications:
- sha256
dhGroup: group14
lifetime:
hours: 8
## 3. IKE Gateway
exampleIkeGateway:
type: scm:IkeGateway
name: example
properties:
name: example-gateway_sc_grp
folder: ${folderScope}
peerAddress:
ip: 1.1.1.1
authentication:
preSharedKey:
key: secret
protocol:
ikev1:
ikeCryptoProfile: ${example.name}
## 4. IPsec Tunnel
exampleIpsecTunnel:
type: scm:IpsecTunnel
name: example
properties:
name: example-tunnel_sc_grp
folder: ${folderScope}
tunnelInterface: tunnel
antiReplay: true
copyTos: false
enableGreEncapsulation: false
autoKey:
ikeGateways:
- name: ${exampleIkeGateway.name}
ipsecCryptoProfile: ${exampleIpsecCryptoProfile.name}
options:
dependsOn:
- ${exampleIkeGateway}
## 5. Service Connection (The target for the group)
siteAVpnSc:
type: scm:ServiceConnection
name: site_a_vpn_sc
properties:
name: creating_a_service_connection_sc_grp
region: us-west-1a
ipsecTunnel: ${exampleIpsecTunnel.name}
subnets:
- 10.1.0.0/16
- 172.16.0.0/24
sourceNat: false
## 5. Service Connection (The target for the group)
siteAVpnSc2: # ------------------------------------------------------------------
# II. SERVICE CONNECTION GROUP RESOURCE
# ------------------------------------------------------------------
type: scm:ServiceConnection
name: site_a_vpn_sc_2
properties:
name: creating_a_service_connection_sc_grp_2
region: us-west-1a
ipsecTunnel: ${exampleIpsecTunnel.name}
subnets:
- 10.1.0.0/16
- 172.16.0.0/24
sourceNat: true
## 6. Service Connection Group (Groups the Service Connection created above)
exampleGroup:
type: scm:ServiceConnectionGroup
name: example_group
properties:
name: service-connection-group-app_sc_grp
targets:
- ${siteAVpnSc.name}
- ${siteAVpnSc2.name}
disableSnat: true
pbfOnly: false
Create ServiceConnectionGroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ServiceConnectionGroup(name: string, args: ServiceConnectionGroupArgs, opts?: CustomResourceOptions);@overload
def ServiceConnectionGroup(resource_name: str,
args: ServiceConnectionGroupArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ServiceConnectionGroup(resource_name: str,
opts: Optional[ResourceOptions] = None,
targets: Optional[Sequence[str]] = None,
disable_snat: Optional[bool] = None,
name: Optional[str] = None,
pbf_only: Optional[bool] = None)func NewServiceConnectionGroup(ctx *Context, name string, args ServiceConnectionGroupArgs, opts ...ResourceOption) (*ServiceConnectionGroup, error)public ServiceConnectionGroup(string name, ServiceConnectionGroupArgs args, CustomResourceOptions? opts = null)
public ServiceConnectionGroup(String name, ServiceConnectionGroupArgs args)
public ServiceConnectionGroup(String name, ServiceConnectionGroupArgs args, CustomResourceOptions options)
type: scm:ServiceConnectionGroup
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 ServiceConnectionGroupArgs
- 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 ServiceConnectionGroupArgs
- 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 ServiceConnectionGroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ServiceConnectionGroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ServiceConnectionGroupArgs
- 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 serviceConnectionGroupResource = new Scm.ServiceConnectionGroup("serviceConnectionGroupResource", new()
{
Targets = new[]
{
"string",
},
DisableSnat = false,
Name = "string",
PbfOnly = false,
});
example, err := scm.NewServiceConnectionGroup(ctx, "serviceConnectionGroupResource", &scm.ServiceConnectionGroupArgs{
Targets: pulumi.StringArray{
pulumi.String("string"),
},
DisableSnat: pulumi.Bool(false),
Name: pulumi.String("string"),
PbfOnly: pulumi.Bool(false),
})
var serviceConnectionGroupResource = new ServiceConnectionGroup("serviceConnectionGroupResource", ServiceConnectionGroupArgs.builder()
.targets("string")
.disableSnat(false)
.name("string")
.pbfOnly(false)
.build());
service_connection_group_resource = scm.ServiceConnectionGroup("serviceConnectionGroupResource",
targets=["string"],
disable_snat=False,
name="string",
pbf_only=False)
const serviceConnectionGroupResource = new scm.ServiceConnectionGroup("serviceConnectionGroupResource", {
targets: ["string"],
disableSnat: false,
name: "string",
pbfOnly: false,
});
type: scm:ServiceConnectionGroup
properties:
disableSnat: false
name: string
pbfOnly: false
targets:
- string
ServiceConnectionGroup 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 ServiceConnectionGroup resource accepts the following input properties:
- Targets List<string>
- Target
- Disable
Snat bool - Disable snat
- Name string
- Name
- Pbf
Only bool - Pbf only
- Targets []string
- Target
- Disable
Snat bool - Disable snat
- Name string
- Name
- Pbf
Only bool - Pbf only
- targets List<String>
- Target
- disable
Snat Boolean - Disable snat
- name String
- Name
- pbf
Only Boolean - Pbf only
- targets string[]
- Target
- disable
Snat boolean - Disable snat
- name string
- Name
- pbf
Only boolean - Pbf only
- targets Sequence[str]
- Target
- disable_
snat bool - Disable snat
- name str
- Name
- pbf_
only bool - Pbf only
- targets List<String>
- Target
- disable
Snat Boolean - Disable snat
- name String
- Name
- pbf
Only Boolean - Pbf only
Outputs
All input properties are implicitly available as output properties. Additionally, the ServiceConnectionGroup resource produces the following output properties:
Look up Existing ServiceConnectionGroup Resource
Get an existing ServiceConnectionGroup 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?: ServiceConnectionGroupState, opts?: CustomResourceOptions): ServiceConnectionGroup@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
disable_snat: Optional[bool] = None,
name: Optional[str] = None,
pbf_only: Optional[bool] = None,
targets: Optional[Sequence[str]] = None,
tfid: Optional[str] = None) -> ServiceConnectionGroupfunc GetServiceConnectionGroup(ctx *Context, name string, id IDInput, state *ServiceConnectionGroupState, opts ...ResourceOption) (*ServiceConnectionGroup, error)public static ServiceConnectionGroup Get(string name, Input<string> id, ServiceConnectionGroupState? state, CustomResourceOptions? opts = null)public static ServiceConnectionGroup get(String name, Output<String> id, ServiceConnectionGroupState state, CustomResourceOptions options)resources: _: type: scm:ServiceConnectionGroup 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.
- Disable
Snat bool - Disable snat
- Name string
- Name
- Pbf
Only bool - Pbf only
- Targets List<string>
- Target
- Tfid string
- Disable
Snat bool - Disable snat
- Name string
- Name
- Pbf
Only bool - Pbf only
- Targets []string
- Target
- Tfid string
- disable
Snat Boolean - Disable snat
- name String
- Name
- pbf
Only Boolean - Pbf only
- targets List<String>
- Target
- tfid String
- disable
Snat boolean - Disable snat
- name string
- Name
- pbf
Only boolean - Pbf only
- targets string[]
- Target
- tfid string
- disable_
snat bool - Disable snat
- name str
- Name
- pbf_
only bool - Pbf only
- targets Sequence[str]
- Target
- tfid str
- disable
Snat Boolean - Disable snat
- name String
- Name
- pbf
Only Boolean - Pbf only
- targets List<String>
- Target
- tfid String
Package Details
- Repository
- scm pulumi/pulumi-scm
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
scmTerraform Provider.
