1. Packages
  2. Vercel Provider
  3. API Docs
  4. getDsyncGroups
Vercel v4.6.0 published on Thursday, Feb 12, 2026 by Pulumiverse
vercel logo
Vercel v4.6.0 published on Thursday, Feb 12, 2026 by Pulumiverse

    Provides information about DSync groups for a team.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as std from "@pulumi/std";
    import * as vercel from "@pulumiverse/vercel";
    
    const example = vercel.getDsyncGroups({
        teamId: "team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    });
    const contractor = new vercel.AccessGroup("contractor", {
        teamId: "team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        name: "contractor",
        description: "Access group for contractors",
    });
    const exampleTeamConfig = new vercel.TeamConfig("example", {
        id: "team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        saml: {
            enforced: true,
            roles: {
                [std.index.lookup({
                    map: exampleVercelDsyncGroups.map,
                    key: "admin",
                }).result]: {
                    role: "OWNER",
                },
                [std.index.lookup({
                    map: exampleVercelDsyncGroups.map,
                    key: "finance",
                }).result]: {
                    role: "BILLING",
                },
                [std.index.lookup({
                    map: exampleVercelDsyncGroups.map,
                    key: "contractor",
                }).result]: {
                    role: "CONTRIBUTOR",
                    accessGroupId: contractor.id,
                },
            },
        },
    });
    
    import pulumi
    import pulumi_std as std
    import pulumi_vercel as vercel
    import pulumiverse_vercel as vercel
    
    example = vercel.get_dsync_groups(team_id="team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx")
    contractor = vercel.AccessGroup("contractor",
        team_id="team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        name="contractor",
        description="Access group for contractors")
    example_team_config = vercel.TeamConfig("example",
        id="team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        saml={
            "enforced": True,
            "roles": {
                std.index.lookup(map=example_vercel_dsync_groups["map"],
                    key="admin")["result"]: {
                    "role": "OWNER",
                },
                std.index.lookup(map=example_vercel_dsync_groups["map"],
                    key="finance")["result"]: {
                    "role": "BILLING",
                },
                std.index.lookup(map=example_vercel_dsync_groups["map"],
                    key="contractor")["result"]: {
                    "role": "CONTRIBUTOR",
                    "accessGroupId": contractor.id,
                },
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-vercel/sdk/v4/go/vercel"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vercel.GetDsyncGroups(ctx, &vercel.GetDsyncGroupsArgs{
    			TeamId: pulumi.StringRef("team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		contractor, err := vercel.NewAccessGroup(ctx, "contractor", &vercel.AccessGroupArgs{
    			TeamId:      pulumi.String("team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"),
    			Name:        pulumi.String("contractor"),
    			Description: "Access group for contractors",
    		})
    		if err != nil {
    			return err
    		}
    		invokeLookup, err := std.Lookup(ctx, map[string]interface{}{
    			"map": exampleVercelDsyncGroups.Map,
    			"key": "admin",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		invokeLookup1, err := std.Lookup(ctx, map[string]interface{}{
    			"map": exampleVercelDsyncGroups.Map,
    			"key": "finance",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		invokeLookup2, err := std.Lookup(ctx, map[string]interface{}{
    			"map": exampleVercelDsyncGroups.Map,
    			"key": "contractor",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = vercel.NewTeamConfig(ctx, "example", &vercel.TeamConfigArgs{
    			Id: "team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    			Saml: &vercel.TeamConfigSamlArgs{
    				Enforced: pulumi.Bool(true),
    				Roles: vercel.TeamConfigSamlRolesMap{
    					invokeLookup.Result: map[string]interface{}{
    						"role": "OWNER",
    					},
    					invokeLookup1.Result: map[string]interface{}{
    						"role": "BILLING",
    					},
    					invokeLookup2.Result: map[string]interface{}{
    						"role":          "CONTRIBUTOR",
    						"accessGroupId": contractor.ID(),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Std = Pulumi.Std;
    using Vercel = Pulumiverse.Vercel;
    
    return await Deployment.RunAsync(() => 
    {
        var example = Vercel.GetDsyncGroups.Invoke(new()
        {
            TeamId = "team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        });
    
        var contractor = new Vercel.AccessGroup("contractor", new()
        {
            TeamId = "team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            Name = "contractor",
            Description = "Access group for contractors",
        });
    
        var exampleTeamConfig = new Vercel.TeamConfig("example", new()
        {
            Id = "team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            Saml = new Vercel.Inputs.TeamConfigSamlArgs
            {
                Enforced = true,
                Roles = 
                {
                    { Std.Index.Lookup.Invoke(new()
                    {
                        Map = exampleVercelDsyncGroups.Map,
                        Key = "admin",
                    }).Result, 
                    {
                        { "role", "OWNER" },
                    } },
                    { Std.Index.Lookup.Invoke(new()
                    {
                        Map = exampleVercelDsyncGroups.Map,
                        Key = "finance",
                    }).Result, 
                    {
                        { "role", "BILLING" },
                    } },
                    { Std.Index.Lookup.Invoke(new()
                    {
                        Map = exampleVercelDsyncGroups.Map,
                        Key = "contractor",
                    }).Result, 
                    {
                        { "role", "CONTRIBUTOR" },
                        { "accessGroupId", contractor.Id },
                    } },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vercel.VercelFunctions;
    import com.pulumi.vercel.inputs.GetDsyncGroupsArgs;
    import com.pulumiverse.vercel.AccessGroup;
    import com.pulumiverse.vercel.AccessGroupArgs;
    import com.pulumiverse.vercel.TeamConfig;
    import com.pulumiverse.vercel.TeamConfigArgs;
    import com.pulumi.vercel.inputs.TeamConfigSamlArgs;
    import com.pulumi.std.StdFunctions;
    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 example = VercelFunctions.getDsyncGroups(GetDsyncGroupsArgs.builder()
                .teamId("team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx")
                .build());
    
            var contractor = new AccessGroup("contractor", AccessGroupArgs.builder()
                .teamId("team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx")
                .name("contractor")
                .description("Access group for contractors")
                .build());
    
            var exampleTeamConfig = new TeamConfig("exampleTeamConfig", TeamConfigArgs.builder()
                .id("team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx")
                .saml(TeamConfigSamlArgs.builder()
                    .enforced(true)
                    .roles(Map.ofEntries(
                        Map.entry(StdFunctions.lookup(Map.ofEntries(
                            Map.entry("map", exampleVercelDsyncGroups.map()),
                            Map.entry("key", "admin")
                        )).result(), Map.of("role", "OWNER")),
                        Map.entry(StdFunctions.lookup(Map.ofEntries(
                            Map.entry("map", exampleVercelDsyncGroups.map()),
                            Map.entry("key", "finance")
                        )).result(), Map.of("role", "BILLING")),
                        Map.entry(StdFunctions.lookup(Map.ofEntries(
                            Map.entry("map", exampleVercelDsyncGroups.map()),
                            Map.entry("key", "contractor")
                        )).result(), Map.ofEntries(
                            Map.entry("role", "CONTRIBUTOR"),
                            Map.entry("accessGroupId", contractor.id())
                        ))
                    ))
                    .build())
                .build());
    
        }
    }
    
    resources:
      contractor:
        type: vercel:AccessGroup
        properties:
          teamId: team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
          name: contractor
          description: Access group for contractors
      exampleTeamConfig:
        type: vercel:TeamConfig
        name: example
        properties:
          id: team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
          saml:
            enforced: true
            roles:
              '{ fn::invoke: { function: std:lookup, arguments: { map: ${exampleVercelDsyncGroups.map}, key: admin }, return: result } }':
                role: OWNER
              '{ fn::invoke: { function: std:lookup, arguments: { map: ${exampleVercelDsyncGroups.map}, key: finance }, return: result } }':
                role: BILLING
              '{ fn::invoke: { function: std:lookup, arguments: { map: ${exampleVercelDsyncGroups.map}, key: contractor }, return: result } }':
                role: CONTRIBUTOR
                accessGroupId: ${contractor.id}
    variables:
      example:
        fn::invoke:
          function: vercel:getDsyncGroups
          arguments:
            teamId: team_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    

    Using getDsyncGroups

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getDsyncGroups(args: GetDsyncGroupsArgs, opts?: InvokeOptions): Promise<GetDsyncGroupsResult>
    function getDsyncGroupsOutput(args: GetDsyncGroupsOutputArgs, opts?: InvokeOptions): Output<GetDsyncGroupsResult>
    def get_dsync_groups(team_id: Optional[str] = None,
                         opts: Optional[InvokeOptions] = None) -> GetDsyncGroupsResult
    def get_dsync_groups_output(team_id: Optional[pulumi.Input[str]] = None,
                         opts: Optional[InvokeOptions] = None) -> Output[GetDsyncGroupsResult]
    func GetDsyncGroups(ctx *Context, args *GetDsyncGroupsArgs, opts ...InvokeOption) (*GetDsyncGroupsResult, error)
    func GetDsyncGroupsOutput(ctx *Context, args *GetDsyncGroupsOutputArgs, opts ...InvokeOption) GetDsyncGroupsResultOutput

    > Note: This function is named GetDsyncGroups in the Go SDK.

    public static class GetDsyncGroups 
    {
        public static Task<GetDsyncGroupsResult> InvokeAsync(GetDsyncGroupsArgs args, InvokeOptions? opts = null)
        public static Output<GetDsyncGroupsResult> Invoke(GetDsyncGroupsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetDsyncGroupsResult> getDsyncGroups(GetDsyncGroupsArgs args, InvokeOptions options)
    public static Output<GetDsyncGroupsResult> getDsyncGroups(GetDsyncGroupsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: vercel:index/getDsyncGroups:getDsyncGroups
      arguments:
        # arguments dictionary

    The following arguments are supported:

    TeamId string
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.
    TeamId string
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.
    teamId String
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.
    teamId string
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.
    team_id str
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.
    teamId String
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.

    getDsyncGroups Result

    The following output properties are available:

    Id string
    The provider-assigned unique ID for this managed resource.
    Lists List<Pulumiverse.Vercel.Outputs.GetDsyncGroupsList>
    A list of DSync groups for the team.
    Map Dictionary<string, string>
    A map of Identity Provider group names to their Vercel IDs. This can be used to look up the ID of a group by its name using the lookup function.
    TeamId string
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.
    Id string
    The provider-assigned unique ID for this managed resource.
    Lists []GetDsyncGroupsList
    A list of DSync groups for the team.
    Map map[string]string
    A map of Identity Provider group names to their Vercel IDs. This can be used to look up the ID of a group by its name using the lookup function.
    TeamId string
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.
    id String
    The provider-assigned unique ID for this managed resource.
    lists List<GetDsyncGroupsList>
    A list of DSync groups for the team.
    map Map<String,String>
    A map of Identity Provider group names to their Vercel IDs. This can be used to look up the ID of a group by its name using the lookup function.
    teamId String
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.
    id string
    The provider-assigned unique ID for this managed resource.
    lists GetDsyncGroupsList[]
    A list of DSync groups for the team.
    map {[key: string]: string}
    A map of Identity Provider group names to their Vercel IDs. This can be used to look up the ID of a group by its name using the lookup function.
    teamId string
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.
    id str
    The provider-assigned unique ID for this managed resource.
    lists Sequence[GetDsyncGroupsList]
    A list of DSync groups for the team.
    map Mapping[str, str]
    A map of Identity Provider group names to their Vercel IDs. This can be used to look up the ID of a group by its name using the lookup function.
    team_id str
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.
    id String
    The provider-assigned unique ID for this managed resource.
    lists List<Property Map>
    A list of DSync groups for the team.
    map Map<String>
    A map of Identity Provider group names to their Vercel IDs. This can be used to look up the ID of a group by its name using the lookup function.
    teamId String
    The ID of the team the Dsync Groups are associated to. Required when configuring a team resource if a default team has not been set in the provider.

    Supporting Types

    GetDsyncGroupsList

    Id string
    The ID of the group on Vercel.
    Name string
    The name of the group on the Identity Provider.
    Id string
    The ID of the group on Vercel.
    Name string
    The name of the group on the Identity Provider.
    id String
    The ID of the group on Vercel.
    name String
    The name of the group on the Identity Provider.
    id string
    The ID of the group on Vercel.
    name string
    The name of the group on the Identity Provider.
    id str
    The ID of the group on Vercel.
    name str
    The name of the group on the Identity Provider.
    id String
    The ID of the group on Vercel.
    name String
    The name of the group on the Identity Provider.

    Package Details

    Repository
    vercel pulumiverse/pulumi-vercel
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the vercel Terraform Provider.
    vercel logo
    Vercel v4.6.0 published on Thursday, Feb 12, 2026 by Pulumiverse
      Meet Neo: Your AI Platform Teammate