1. Packages
  2. Strata Cloud Manager Provider
  3. API Docs
  4. Site
Strata Cloud Manager v1.0.1 published on Wednesday, Nov 26, 2025 by Pulumi
scm logo
Strata Cloud Manager v1.0.1 published on Wednesday, Nov 26, 2025 by Pulumi

    Site resource

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as scm from "@pulumi/scm";
    
    //# 1. Define the IKE Crypto Profile (IKE Phase 1)
    // Note: The resource name is plural: "scm_ike_crypto_profile"
    const example = new scm.IkeCryptoProfile("example", {
        name: "example-ike-crypto-14",
        folder: "Remote Networks",
        hashes: ["sha256"],
        dhGroups: ["group14"],
        encryptions: ["aes-256-cbc"],
    });
    //# 2. Define the IPsec Crypto Profile (IKE Phase 2)
    // Note: The resource name is plural and nested blocks now use an equals sign (=).
    const exampleIpsecCryptoProfile = new scm.IpsecCryptoProfile("example", {
        name: "PaloAlto-Networks-IPSec-14",
        folder: "Remote Networks",
        esp: {
            encryptions: ["aes-256-gcm"],
            authentications: ["sha256"],
        },
        dhGroup: "group14",
        lifetime: {
            hours: 8,
        },
    });
    //# 3. Define the IKE Gateway
    // Note: The resource name is plural and nested blocks now use an equals sign (=).
    const exampleIkeGateway = new scm.IkeGateway("example", {
        name: "example-gateway-14",
        folder: "Remote Networks",
        peerAddress: {
            ip: "1.1.1.1",
        },
        authentication: {
            preSharedKey: {
                key: "secret",
            },
        },
        protocol: {
            ikev1: {
                ikeCryptoProfile: example.name,
            },
        },
    });
    //# 4. Define the IPsec Tunnel
    // Note: Nested 'auto_key' block uses an equals sign (=).
    const exampleIpsecTunnel = new scm.IpsecTunnel("example", {
        name: "example-tunnel-14",
        folder: "Remote Networks",
        tunnelInterface: "tunnel",
        antiReplay: true,
        copyTos: false,
        enableGreEncapsulation: false,
        autoKey: {
            ikeGateways: [{
                name: exampleIkeGateway.name,
            }],
            ipsecCryptoProfile: exampleIpsecCryptoProfile.name,
        },
    }, {
        dependsOn: [exampleIkeGateway],
    });
    // 1. Define the Remote Network first
    const branchOffice = new scm.RemoteNetwork("branch_office", {
        folder: "Remote Networks",
        name: "example-rn-14",
        region: "us-west-1",
        licenseType: "FWAAS-AGGREGATE",
        ipsecTunnel: exampleIpsecTunnel.name,
        spnName: "us-west-1-spn-1",
        subnets: ["192.168.10.0/24"],
    });
    // 2. Define the Site
    const exampleSite = new scm.Site("example", {
        name: "example-site-14",
        type: "third-party-branch",
        licenseType: "FWAAS-SITE-25Mbps",
        city: "San Jose",
        state: "CA",
        country: "United States",
        zipCode: "95135",
        latitude: "37.293306",
        longitude: "-121.754485",
        members: [{
            name: branchOffice.name,
            remoteNetwork: branchOffice.name,
            mode: "active",
        }],
        qos: {
            profile: "Default Profile",
            cir: 20,
        },
    });
    
    import pulumi
    import pulumi_scm as scm
    
    ## 1. Define the IKE Crypto Profile (IKE Phase 1)
    # Note: The resource name is plural: "scm_ike_crypto_profile"
    example = scm.IkeCryptoProfile("example",
        name="example-ike-crypto-14",
        folder="Remote Networks",
        hashes=["sha256"],
        dh_groups=["group14"],
        encryptions=["aes-256-cbc"])
    ## 2. Define the IPsec Crypto Profile (IKE Phase 2)
    # Note: The resource name is plural and nested blocks now use an equals sign (=).
    example_ipsec_crypto_profile = scm.IpsecCryptoProfile("example",
        name="PaloAlto-Networks-IPSec-14",
        folder="Remote Networks",
        esp={
            "encryptions": ["aes-256-gcm"],
            "authentications": ["sha256"],
        },
        dh_group="group14",
        lifetime={
            "hours": 8,
        })
    ## 3. Define the IKE Gateway
    # Note: The resource name is plural and nested blocks now use an equals sign (=).
    example_ike_gateway = scm.IkeGateway("example",
        name="example-gateway-14",
        folder="Remote Networks",
        peer_address={
            "ip": "1.1.1.1",
        },
        authentication={
            "pre_shared_key": {
                "key": "secret",
            },
        },
        protocol={
            "ikev1": {
                "ike_crypto_profile": example.name,
            },
        })
    ## 4. Define the IPsec Tunnel
    # Note: Nested 'auto_key' block uses an equals sign (=).
    example_ipsec_tunnel = scm.IpsecTunnel("example",
        name="example-tunnel-14",
        folder="Remote Networks",
        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]))
    # 1. Define the Remote Network first
    branch_office = scm.RemoteNetwork("branch_office",
        folder="Remote Networks",
        name="example-rn-14",
        region="us-west-1",
        license_type="FWAAS-AGGREGATE",
        ipsec_tunnel=example_ipsec_tunnel.name,
        spn_name="us-west-1-spn-1",
        subnets=["192.168.10.0/24"])
    # 2. Define the Site
    example_site = scm.Site("example",
        name="example-site-14",
        type="third-party-branch",
        license_type="FWAAS-SITE-25Mbps",
        city="San Jose",
        state="CA",
        country="United States",
        zip_code="95135",
        latitude="37.293306",
        longitude="-121.754485",
        members=[{
            "name": branch_office.name,
            "remote_network": branch_office.name,
            "mode": "active",
        }],
        qos={
            "profile": "Default Profile",
            "cir": 20,
        })
    
    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 {
    		// # 1. Define the IKE Crypto Profile (IKE Phase 1)
    		// Note: The resource name is plural: "scm_ike_crypto_profile"
    		example, err := scm.NewIkeCryptoProfile(ctx, "example", &scm.IkeCryptoProfileArgs{
    			Name:   pulumi.String("example-ike-crypto-14"),
    			Folder: pulumi.String("Remote Networks"),
    			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. Define the IPsec Crypto Profile (IKE Phase 2)
    		// Note: The resource name is plural and nested blocks now use an equals sign (=).
    		exampleIpsecCryptoProfile, err := scm.NewIpsecCryptoProfile(ctx, "example", &scm.IpsecCryptoProfileArgs{
    			Name:   pulumi.String("PaloAlto-Networks-IPSec-14"),
    			Folder: pulumi.String("Remote Networks"),
    			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. Define the IKE Gateway
    		// Note: The resource name is plural and nested blocks now use an equals sign (=).
    		exampleIkeGateway, err := scm.NewIkeGateway(ctx, "example", &scm.IkeGatewayArgs{
    			Name:   pulumi.String("example-gateway-14"),
    			Folder: pulumi.String("Remote Networks"),
    			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. Define the IPsec Tunnel
    		// Note: Nested 'auto_key' block uses an equals sign (=).
    		exampleIpsecTunnel, err := scm.NewIpsecTunnel(ctx, "example", &scm.IpsecTunnelArgs{
    			Name:                   pulumi.String("example-tunnel-14"),
    			Folder:                 pulumi.String("Remote Networks"),
    			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
    		}
    		// 1. Define the Remote Network first
    		branchOffice, err := scm.NewRemoteNetwork(ctx, "branch_office", &scm.RemoteNetworkArgs{
    			Folder:      pulumi.String("Remote Networks"),
    			Name:        pulumi.String("example-rn-14"),
    			Region:      pulumi.String("us-west-1"),
    			LicenseType: pulumi.String("FWAAS-AGGREGATE"),
    			IpsecTunnel: exampleIpsecTunnel.Name,
    			SpnName:     pulumi.String("us-west-1-spn-1"),
    			Subnets: pulumi.StringArray{
    				pulumi.String("192.168.10.0/24"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// 2. Define the Site
    		_, err = scm.NewSite(ctx, "example", &scm.SiteArgs{
    			Name:        pulumi.String("example-site-14"),
    			Type:        pulumi.String("third-party-branch"),
    			LicenseType: pulumi.String("FWAAS-SITE-25Mbps"),
    			City:        pulumi.String("San Jose"),
    			State:       pulumi.String("CA"),
    			Country:     pulumi.String("United States"),
    			ZipCode:     pulumi.String("95135"),
    			Latitude:    pulumi.String("37.293306"),
    			Longitude:   pulumi.String("-121.754485"),
    			Members: scm.SiteMemberArray{
    				&scm.SiteMemberArgs{
    					Name:          branchOffice.Name,
    					RemoteNetwork: branchOffice.Name,
    					Mode:          pulumi.String("active"),
    				},
    			},
    			Qos: &scm.SiteQosArgs{
    				Profile: pulumi.String("Default Profile"),
    				Cir:     pulumi.Float64(20),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scm = Pulumi.Scm;
    
    return await Deployment.RunAsync(() => 
    {
        //# 1. Define the IKE Crypto Profile (IKE Phase 1)
        // Note: The resource name is plural: "scm_ike_crypto_profile"
        var example = new Scm.IkeCryptoProfile("example", new()
        {
            Name = "example-ike-crypto-14",
            Folder = "Remote Networks",
            Hashes = new[]
            {
                "sha256",
            },
            DhGroups = new[]
            {
                "group14",
            },
            Encryptions = new[]
            {
                "aes-256-cbc",
            },
        });
    
        //# 2. Define the IPsec Crypto Profile (IKE Phase 2)
        // Note: The resource name is plural and nested blocks now use an equals sign (=).
        var exampleIpsecCryptoProfile = new Scm.IpsecCryptoProfile("example", new()
        {
            Name = "PaloAlto-Networks-IPSec-14",
            Folder = "Remote Networks",
            Esp = new Scm.Inputs.IpsecCryptoProfileEspArgs
            {
                Encryptions = new[]
                {
                    "aes-256-gcm",
                },
                Authentications = new[]
                {
                    "sha256",
                },
            },
            DhGroup = "group14",
            Lifetime = new Scm.Inputs.IpsecCryptoProfileLifetimeArgs
            {
                Hours = 8,
            },
        });
    
        //# 3. Define the IKE Gateway
        // Note: The resource name is plural and nested blocks now use an equals sign (=).
        var exampleIkeGateway = new Scm.IkeGateway("example", new()
        {
            Name = "example-gateway-14",
            Folder = "Remote Networks",
            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. Define the IPsec Tunnel
        // Note: Nested 'auto_key' block uses an equals sign (=).
        var exampleIpsecTunnel = new Scm.IpsecTunnel("example", new()
        {
            Name = "example-tunnel-14",
            Folder = "Remote Networks",
            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,
            },
        });
    
        // 1. Define the Remote Network first
        var branchOffice = new Scm.RemoteNetwork("branch_office", new()
        {
            Folder = "Remote Networks",
            Name = "example-rn-14",
            Region = "us-west-1",
            LicenseType = "FWAAS-AGGREGATE",
            IpsecTunnel = exampleIpsecTunnel.Name,
            SpnName = "us-west-1-spn-1",
            Subnets = new[]
            {
                "192.168.10.0/24",
            },
        });
    
        // 2. Define the Site
        var exampleSite = new Scm.Site("example", new()
        {
            Name = "example-site-14",
            Type = "third-party-branch",
            LicenseType = "FWAAS-SITE-25Mbps",
            City = "San Jose",
            State = "CA",
            Country = "United States",
            ZipCode = "95135",
            Latitude = "37.293306",
            Longitude = "-121.754485",
            Members = new[]
            {
                new Scm.Inputs.SiteMemberArgs
                {
                    Name = branchOffice.Name,
                    RemoteNetwork = branchOffice.Name,
                    Mode = "active",
                },
            },
            Qos = new Scm.Inputs.SiteQosArgs
            {
                Profile = "Default Profile",
                Cir = 20,
            },
        });
    
    });
    
    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.RemoteNetwork;
    import com.pulumi.scm.RemoteNetworkArgs;
    import com.pulumi.scm.Site;
    import com.pulumi.scm.SiteArgs;
    import com.pulumi.scm.inputs.SiteMemberArgs;
    import com.pulumi.scm.inputs.SiteQosArgs;
    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) {
            //# 1. Define the IKE Crypto Profile (IKE Phase 1)
            // Note: The resource name is plural: "scm_ike_crypto_profile"
            var example = new IkeCryptoProfile("example", IkeCryptoProfileArgs.builder()
                .name("example-ike-crypto-14")
                .folder("Remote Networks")
                .hashes("sha256")
                .dhGroups("group14")
                .encryptions("aes-256-cbc")
                .build());
    
            //# 2. Define the IPsec Crypto Profile (IKE Phase 2)
            // Note: The resource name is plural and nested blocks now use an equals sign (=).
            var exampleIpsecCryptoProfile = new IpsecCryptoProfile("exampleIpsecCryptoProfile", IpsecCryptoProfileArgs.builder()
                .name("PaloAlto-Networks-IPSec-14")
                .folder("Remote Networks")
                .esp(IpsecCryptoProfileEspArgs.builder()
                    .encryptions("aes-256-gcm")
                    .authentications("sha256")
                    .build())
                .dhGroup("group14")
                .lifetime(IpsecCryptoProfileLifetimeArgs.builder()
                    .hours(8)
                    .build())
                .build());
    
            //# 3. Define the IKE Gateway
            // Note: The resource name is plural and nested blocks now use an equals sign (=).
            var exampleIkeGateway = new IkeGateway("exampleIkeGateway", IkeGatewayArgs.builder()
                .name("example-gateway-14")
                .folder("Remote Networks")
                .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. Define the IPsec Tunnel
            // Note: Nested 'auto_key' block uses an equals sign (=).
            var exampleIpsecTunnel = new IpsecTunnel("exampleIpsecTunnel", IpsecTunnelArgs.builder()
                .name("example-tunnel-14")
                .folder("Remote Networks")
                .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());
    
            // 1. Define the Remote Network first
            var branchOffice = new RemoteNetwork("branchOffice", RemoteNetworkArgs.builder()
                .folder("Remote Networks")
                .name("example-rn-14")
                .region("us-west-1")
                .licenseType("FWAAS-AGGREGATE")
                .ipsecTunnel(exampleIpsecTunnel.name())
                .spnName("us-west-1-spn-1")
                .subnets("192.168.10.0/24")
                .build());
    
            // 2. Define the Site
            var exampleSite = new Site("exampleSite", SiteArgs.builder()
                .name("example-site-14")
                .type("third-party-branch")
                .licenseType("FWAAS-SITE-25Mbps")
                .city("San Jose")
                .state("CA")
                .country("United States")
                .zipCode("95135")
                .latitude("37.293306")
                .longitude("-121.754485")
                .members(SiteMemberArgs.builder()
                    .name(branchOffice.name())
                    .remoteNetwork(branchOffice.name())
                    .mode("active")
                    .build())
                .qos(SiteQosArgs.builder()
                    .profile("Default Profile")
                    .cir(20.0)
                    .build())
                .build());
    
        }
    }
    
    resources:
      ## 1. Define the IKE Crypto Profile (IKE Phase 1)
      # Note: The resource name is plural: "scm_ike_crypto_profile"
      example:
        type: scm:IkeCryptoProfile
        properties:
          name: example-ike-crypto-14
          folder: Remote Networks
          hashes:
            - sha256
          dhGroups:
            - group14
          encryptions:
            - aes-256-cbc
      ## 2. Define the IPsec Crypto Profile (IKE Phase 2)
      # Note: The resource name is plural and nested blocks now use an equals sign (=).
      exampleIpsecCryptoProfile:
        type: scm:IpsecCryptoProfile
        name: example
        properties:
          name: PaloAlto-Networks-IPSec-14
          folder: Remote Networks
          esp:
            encryptions:
              - aes-256-gcm
            authentications:
              - sha256
          dhGroup: group14
          lifetime:
            hours: 8
      ## 3. Define the IKE Gateway
      # Note: The resource name is plural and nested blocks now use an equals sign (=).
      exampleIkeGateway:
        type: scm:IkeGateway
        name: example
        properties:
          name: example-gateway-14
          folder: Remote Networks
          peerAddress:
            ip: 1.1.1.1
          authentication:
            preSharedKey:
              key: secret
          protocol:
            ikev1:
              ikeCryptoProfile: ${example.name}
      ## 4. Define the IPsec Tunnel
      # Note: Nested 'auto_key' block uses an equals sign (=).
      exampleIpsecTunnel:
        type: scm:IpsecTunnel
        name: example
        properties:
          name: example-tunnel-14
          folder: Remote Networks
          tunnelInterface: tunnel
          antiReplay: true
          copyTos: false
          enableGreEncapsulation: false
          autoKey:
            ikeGateways:
              - name: ${exampleIkeGateway.name}
            ipsecCryptoProfile: ${exampleIpsecCryptoProfile.name}
        options:
          dependsOn:
            - ${exampleIkeGateway}
      # 1. Define the Remote Network first
      branchOffice:
        type: scm:RemoteNetwork
        name: branch_office
        properties:
          folder: Remote Networks
          name: example-rn-14
          region: us-west-1
          licenseType: FWAAS-AGGREGATE
          ipsecTunnel: ${exampleIpsecTunnel.name}
          spnName: us-west-1-spn-1
          subnets:
            - 192.168.10.0/24
      # 2. Define the Site
      exampleSite:
        type: scm:Site
        name: example
        properties:
          name: example-site-14
          type: third-party-branch
          licenseType: FWAAS-SITE-25Mbps
          city: San Jose
          state: CA
          country: United States
          zipCode: '95135'
          latitude: '37.293306'
          longitude: '-121.754485'
          members:
            - name: ${branchOffice.name}
              remoteNetwork: ${branchOffice.name}
              mode: active
          qos:
            profile: Default Profile
            cir: 20
    

    Create Site Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Site(name: string, args?: SiteArgs, opts?: CustomResourceOptions);
    @overload
    def Site(resource_name: str,
             args: Optional[SiteArgs] = None,
             opts: Optional[ResourceOptions] = None)
    
    @overload
    def Site(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             address_line1: Optional[str] = None,
             address_line2: Optional[str] = None,
             city: Optional[str] = None,
             country: Optional[str] = None,
             latitude: Optional[str] = None,
             license_type: Optional[str] = None,
             longitude: Optional[str] = None,
             members: Optional[Sequence[SiteMemberArgs]] = None,
             name: Optional[str] = None,
             qos: Optional[SiteQosArgs] = None,
             state: Optional[str] = None,
             type: Optional[str] = None,
             zip_code: Optional[str] = None)
    func NewSite(ctx *Context, name string, args *SiteArgs, opts ...ResourceOption) (*Site, error)
    public Site(string name, SiteArgs? args = null, CustomResourceOptions? opts = null)
    public Site(String name, SiteArgs args)
    public Site(String name, SiteArgs args, CustomResourceOptions options)
    
    type: scm:Site
    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 SiteArgs
    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 SiteArgs
    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 SiteArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SiteArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args SiteArgs
    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 siteResource = new Scm.Site("siteResource", new()
    {
        AddressLine1 = "string",
        AddressLine2 = "string",
        City = "string",
        Country = "string",
        Latitude = "string",
        LicenseType = "string",
        Longitude = "string",
        Members = new[]
        {
            new Scm.Inputs.SiteMemberArgs
            {
                Mode = "string",
                Name = "string",
                Id = "string",
                RemoteNetwork = "string",
            },
        },
        Name = "string",
        Qos = new Scm.Inputs.SiteQosArgs
        {
            BackupCir = 0,
            Cir = 0,
            Profile = "string",
        },
        State = "string",
        Type = "string",
        ZipCode = "string",
    });
    
    example, err := scm.NewSite(ctx, "siteResource", &scm.SiteArgs{
    	AddressLine1: pulumi.String("string"),
    	AddressLine2: pulumi.String("string"),
    	City:         pulumi.String("string"),
    	Country:      pulumi.String("string"),
    	Latitude:     pulumi.String("string"),
    	LicenseType:  pulumi.String("string"),
    	Longitude:    pulumi.String("string"),
    	Members: scm.SiteMemberArray{
    		&scm.SiteMemberArgs{
    			Mode:          pulumi.String("string"),
    			Name:          pulumi.String("string"),
    			Id:            pulumi.String("string"),
    			RemoteNetwork: pulumi.String("string"),
    		},
    	},
    	Name: pulumi.String("string"),
    	Qos: &scm.SiteQosArgs{
    		BackupCir: pulumi.Float64(0),
    		Cir:       pulumi.Float64(0),
    		Profile:   pulumi.String("string"),
    	},
    	State:   pulumi.String("string"),
    	Type:    pulumi.String("string"),
    	ZipCode: pulumi.String("string"),
    })
    
    var siteResource = new Site("siteResource", SiteArgs.builder()
        .addressLine1("string")
        .addressLine2("string")
        .city("string")
        .country("string")
        .latitude("string")
        .licenseType("string")
        .longitude("string")
        .members(SiteMemberArgs.builder()
            .mode("string")
            .name("string")
            .id("string")
            .remoteNetwork("string")
            .build())
        .name("string")
        .qos(SiteQosArgs.builder()
            .backupCir(0.0)
            .cir(0.0)
            .profile("string")
            .build())
        .state("string")
        .type("string")
        .zipCode("string")
        .build());
    
    site_resource = scm.Site("siteResource",
        address_line1="string",
        address_line2="string",
        city="string",
        country="string",
        latitude="string",
        license_type="string",
        longitude="string",
        members=[{
            "mode": "string",
            "name": "string",
            "id": "string",
            "remote_network": "string",
        }],
        name="string",
        qos={
            "backup_cir": 0,
            "cir": 0,
            "profile": "string",
        },
        state="string",
        type="string",
        zip_code="string")
    
    const siteResource = new scm.Site("siteResource", {
        addressLine1: "string",
        addressLine2: "string",
        city: "string",
        country: "string",
        latitude: "string",
        licenseType: "string",
        longitude: "string",
        members: [{
            mode: "string",
            name: "string",
            id: "string",
            remoteNetwork: "string",
        }],
        name: "string",
        qos: {
            backupCir: 0,
            cir: 0,
            profile: "string",
        },
        state: "string",
        type: "string",
        zipCode: "string",
    });
    
    type: scm:Site
    properties:
        addressLine1: string
        addressLine2: string
        city: string
        country: string
        latitude: string
        licenseType: string
        longitude: string
        members:
            - id: string
              mode: string
              name: string
              remoteNetwork: string
        name: string
        qos:
            backupCir: 0
            cir: 0
            profile: string
        state: string
        type: string
        zipCode: string
    

    Site 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 Site resource accepts the following input properties:

    AddressLine1 string
    The address in which the site exists
    AddressLine2 string
    The address in which the site exists (continued)
    City string
    The city in which the site exists
    Country string
    The country in which the site exists
    Latitude string
    The latitude coordinate for the site
    LicenseType string
    The license type of the site
    Longitude string
    The longitude coordinate for the site
    Members List<SiteMember>
    Members
    Name string
    The name of the site
    Qos SiteQos
    Qos
    State string
    The state in which the site exists
    Type string
    The site type
    ZipCode string
    The postal code in which the site exists
    AddressLine1 string
    The address in which the site exists
    AddressLine2 string
    The address in which the site exists (continued)
    City string
    The city in which the site exists
    Country string
    The country in which the site exists
    Latitude string
    The latitude coordinate for the site
    LicenseType string
    The license type of the site
    Longitude string
    The longitude coordinate for the site
    Members []SiteMemberArgs
    Members
    Name string
    The name of the site
    Qos SiteQosArgs
    Qos
    State string
    The state in which the site exists
    Type string
    The site type
    ZipCode string
    The postal code in which the site exists
    addressLine1 String
    The address in which the site exists
    addressLine2 String
    The address in which the site exists (continued)
    city String
    The city in which the site exists
    country String
    The country in which the site exists
    latitude String
    The latitude coordinate for the site
    licenseType String
    The license type of the site
    longitude String
    The longitude coordinate for the site
    members List<SiteMember>
    Members
    name String
    The name of the site
    qos SiteQos
    Qos
    state String
    The state in which the site exists
    type String
    The site type
    zipCode String
    The postal code in which the site exists
    addressLine1 string
    The address in which the site exists
    addressLine2 string
    The address in which the site exists (continued)
    city string
    The city in which the site exists
    country string
    The country in which the site exists
    latitude string
    The latitude coordinate for the site
    licenseType string
    The license type of the site
    longitude string
    The longitude coordinate for the site
    members SiteMember[]
    Members
    name string
    The name of the site
    qos SiteQos
    Qos
    state string
    The state in which the site exists
    type string
    The site type
    zipCode string
    The postal code in which the site exists
    address_line1 str
    The address in which the site exists
    address_line2 str
    The address in which the site exists (continued)
    city str
    The city in which the site exists
    country str
    The country in which the site exists
    latitude str
    The latitude coordinate for the site
    license_type str
    The license type of the site
    longitude str
    The longitude coordinate for the site
    members Sequence[SiteMemberArgs]
    Members
    name str
    The name of the site
    qos SiteQosArgs
    Qos
    state str
    The state in which the site exists
    type str
    The site type
    zip_code str
    The postal code in which the site exists
    addressLine1 String
    The address in which the site exists
    addressLine2 String
    The address in which the site exists (continued)
    city String
    The city in which the site exists
    country String
    The country in which the site exists
    latitude String
    The latitude coordinate for the site
    licenseType String
    The license type of the site
    longitude String
    The longitude coordinate for the site
    members List<Property Map>
    Members
    name String
    The name of the site
    qos Property Map
    Qos
    state String
    The state in which the site exists
    type String
    The site type
    zipCode String
    The postal code in which the site exists

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Tfid string
    Id string
    The provider-assigned unique ID for this managed resource.
    Tfid string
    id String
    The provider-assigned unique ID for this managed resource.
    tfid String
    id string
    The provider-assigned unique ID for this managed resource.
    tfid string
    id str
    The provider-assigned unique ID for this managed resource.
    tfid str
    id String
    The provider-assigned unique ID for this managed resource.
    tfid String

    Look up Existing Site Resource

    Get an existing Site 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?: SiteState, opts?: CustomResourceOptions): Site
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            address_line1: Optional[str] = None,
            address_line2: Optional[str] = None,
            city: Optional[str] = None,
            country: Optional[str] = None,
            latitude: Optional[str] = None,
            license_type: Optional[str] = None,
            longitude: Optional[str] = None,
            members: Optional[Sequence[SiteMemberArgs]] = None,
            name: Optional[str] = None,
            qos: Optional[SiteQosArgs] = None,
            state: Optional[str] = None,
            tfid: Optional[str] = None,
            type: Optional[str] = None,
            zip_code: Optional[str] = None) -> Site
    func GetSite(ctx *Context, name string, id IDInput, state *SiteState, opts ...ResourceOption) (*Site, error)
    public static Site Get(string name, Input<string> id, SiteState? state, CustomResourceOptions? opts = null)
    public static Site get(String name, Output<String> id, SiteState state, CustomResourceOptions options)
    resources:  _:    type: scm:Site    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.
    The following state arguments are supported:
    AddressLine1 string
    The address in which the site exists
    AddressLine2 string
    The address in which the site exists (continued)
    City string
    The city in which the site exists
    Country string
    The country in which the site exists
    Latitude string
    The latitude coordinate for the site
    LicenseType string
    The license type of the site
    Longitude string
    The longitude coordinate for the site
    Members List<SiteMember>
    Members
    Name string
    The name of the site
    Qos SiteQos
    Qos
    State string
    The state in which the site exists
    Tfid string
    Type string
    The site type
    ZipCode string
    The postal code in which the site exists
    AddressLine1 string
    The address in which the site exists
    AddressLine2 string
    The address in which the site exists (continued)
    City string
    The city in which the site exists
    Country string
    The country in which the site exists
    Latitude string
    The latitude coordinate for the site
    LicenseType string
    The license type of the site
    Longitude string
    The longitude coordinate for the site
    Members []SiteMemberArgs
    Members
    Name string
    The name of the site
    Qos SiteQosArgs
    Qos
    State string
    The state in which the site exists
    Tfid string
    Type string
    The site type
    ZipCode string
    The postal code in which the site exists
    addressLine1 String
    The address in which the site exists
    addressLine2 String
    The address in which the site exists (continued)
    city String
    The city in which the site exists
    country String
    The country in which the site exists
    latitude String
    The latitude coordinate for the site
    licenseType String
    The license type of the site
    longitude String
    The longitude coordinate for the site
    members List<SiteMember>
    Members
    name String
    The name of the site
    qos SiteQos
    Qos
    state String
    The state in which the site exists
    tfid String
    type String
    The site type
    zipCode String
    The postal code in which the site exists
    addressLine1 string
    The address in which the site exists
    addressLine2 string
    The address in which the site exists (continued)
    city string
    The city in which the site exists
    country string
    The country in which the site exists
    latitude string
    The latitude coordinate for the site
    licenseType string
    The license type of the site
    longitude string
    The longitude coordinate for the site
    members SiteMember[]
    Members
    name string
    The name of the site
    qos SiteQos
    Qos
    state string
    The state in which the site exists
    tfid string
    type string
    The site type
    zipCode string
    The postal code in which the site exists
    address_line1 str
    The address in which the site exists
    address_line2 str
    The address in which the site exists (continued)
    city str
    The city in which the site exists
    country str
    The country in which the site exists
    latitude str
    The latitude coordinate for the site
    license_type str
    The license type of the site
    longitude str
    The longitude coordinate for the site
    members Sequence[SiteMemberArgs]
    Members
    name str
    The name of the site
    qos SiteQosArgs
    Qos
    state str
    The state in which the site exists
    tfid str
    type str
    The site type
    zip_code str
    The postal code in which the site exists
    addressLine1 String
    The address in which the site exists
    addressLine2 String
    The address in which the site exists (continued)
    city String
    The city in which the site exists
    country String
    The country in which the site exists
    latitude String
    The latitude coordinate for the site
    licenseType String
    The license type of the site
    longitude String
    The longitude coordinate for the site
    members List<Property Map>
    Members
    name String
    The name of the site
    qos Property Map
    Qos
    state String
    The state in which the site exists
    tfid String
    type String
    The site type
    zipCode String
    The postal code in which the site exists

    Supporting Types

    SiteMember, SiteMemberArgs

    Mode string
    The mode of the remote network
    Name string
    The member name
    Id string
    UUID of the remote network
    RemoteNetwork string
    The remote network name
    Mode string
    The mode of the remote network
    Name string
    The member name
    Id string
    UUID of the remote network
    RemoteNetwork string
    The remote network name
    mode String
    The mode of the remote network
    name String
    The member name
    id String
    UUID of the remote network
    remoteNetwork String
    The remote network name
    mode string
    The mode of the remote network
    name string
    The member name
    id string
    UUID of the remote network
    remoteNetwork string
    The remote network name
    mode str
    The mode of the remote network
    name str
    The member name
    id str
    UUID of the remote network
    remote_network str
    The remote network name
    mode String
    The mode of the remote network
    name String
    The member name
    id String
    UUID of the remote network
    remoteNetwork String
    The remote network name

    SiteQos, SiteQosArgs

    BackupCir double
    The backup CIR in Mbps. This is distributed equally for all tunnels in the site.
    Cir double
    The CIR in Mbps. This is distributed equally for all tunnels in the site.
    Profile string
    The name of the site QoS profile
    BackupCir float64
    The backup CIR in Mbps. This is distributed equally for all tunnels in the site.
    Cir float64
    The CIR in Mbps. This is distributed equally for all tunnels in the site.
    Profile string
    The name of the site QoS profile
    backupCir Double
    The backup CIR in Mbps. This is distributed equally for all tunnels in the site.
    cir Double
    The CIR in Mbps. This is distributed equally for all tunnels in the site.
    profile String
    The name of the site QoS profile
    backupCir number
    The backup CIR in Mbps. This is distributed equally for all tunnels in the site.
    cir number
    The CIR in Mbps. This is distributed equally for all tunnels in the site.
    profile string
    The name of the site QoS profile
    backup_cir float
    The backup CIR in Mbps. This is distributed equally for all tunnels in the site.
    cir float
    The CIR in Mbps. This is distributed equally for all tunnels in the site.
    profile str
    The name of the site QoS profile
    backupCir Number
    The backup CIR in Mbps. This is distributed equally for all tunnels in the site.
    cir Number
    The CIR in Mbps. This is distributed equally for all tunnels in the site.
    profile String
    The name of the site QoS profile

    Package Details

    Repository
    scm pulumi/pulumi-scm
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scm Terraform Provider.
    scm logo
    Strata Cloud Manager v1.0.1 published on Wednesday, Nov 26, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate