1. Packages
  2. Sysdig Provider
  3. API Docs
  4. getMonitorCustomRolePermissions
sysdig 3.1.0 published on Tuesday, Oct 28, 2025 by sysdiglabs

sysdig.getMonitorCustomRolePermissions

Start a Neo task
Explain and create a sysdig.getMonitorCustomRolePermissions resource
sysdig logo
sysdig 3.1.0 published on Tuesday, Oct 28, 2025 by sysdiglabs

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as sysdig from "@pulumi/sysdig";
    
    const dashboardEdit = sysdig.getMonitorCustomRolePermissions({
        requestedPermissions: ["dashboards.edit"],
    });
    
    import pulumi
    import pulumi_sysdig as sysdig
    
    dashboard_edit = sysdig.get_monitor_custom_role_permissions(requested_permissions=["dashboards.edit"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/sysdig/v3/sysdig"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sysdig.GetMonitorCustomRolePermissions(ctx, &sysdig.GetMonitorCustomRolePermissionsArgs{
    			RequestedPermissions: []string{
    				"dashboards.edit",
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Sysdig = Pulumi.Sysdig;
    
    return await Deployment.RunAsync(() => 
    {
        var dashboardEdit = Sysdig.GetMonitorCustomRolePermissions.Invoke(new()
        {
            RequestedPermissions = new[]
            {
                "dashboards.edit",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.sysdig.SysdigFunctions;
    import com.pulumi.sysdig.inputs.GetMonitorCustomRolePermissionsArgs;
    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 dashboardEdit = SysdigFunctions.getMonitorCustomRolePermissions(GetMonitorCustomRolePermissionsArgs.builder()
                .requestedPermissions("dashboards.edit")
                .build());
    
        }
    }
    
    variables:
      dashboardEdit:
        fn::invoke:
          function: sysdig:getMonitorCustomRolePermissions
          arguments:
            requestedPermissions:
              - dashboards.edit
    

    With Custom Role

    import * as pulumi from "@pulumi/pulumi";
    import * as sysdig from "@pulumi/sysdig";
    
    const dashboardEdit = sysdig.getMonitorCustomRolePermissions({
        requestedPermissions: ["dashboards.edit"],
    });
    const my_custom_role = new sysdig.CustomRole("my-custom-role", {
        description: "Custom role to edit dashboards",
        permissions: {
            monitorPermissions: dashboardEdit.then(dashboardEdit => dashboardEdit.enrichedPermissions),
        },
    }, {
        dependsOn: [data.sysdig_secure_custom_role_permissions.images_edit],
    });
    
    import pulumi
    import pulumi_sysdig as sysdig
    
    dashboard_edit = sysdig.get_monitor_custom_role_permissions(requested_permissions=["dashboards.edit"])
    my_custom_role = sysdig.CustomRole("my-custom-role",
        description="Custom role to edit dashboards",
        permissions={
            "monitor_permissions": dashboard_edit.enriched_permissions,
        },
        opts = pulumi.ResourceOptions(depends_on=[data["sysdig_secure_custom_role_permissions"]["images_edit"]]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/sysdig/v3/sysdig"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		dashboardEdit, err := sysdig.GetMonitorCustomRolePermissions(ctx, &sysdig.GetMonitorCustomRolePermissionsArgs{
    			RequestedPermissions: []string{
    				"dashboards.edit",
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = sysdig.NewCustomRole(ctx, "my-custom-role", &sysdig.CustomRoleArgs{
    			Description: pulumi.String("Custom role to edit dashboards"),
    			Permissions: &sysdig.CustomRolePermissionsArgs{
    				MonitorPermissions: interface{}(dashboardEdit.EnrichedPermissions),
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			data.Sysdig_secure_custom_role_permissions.Images_edit,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Sysdig = Pulumi.Sysdig;
    
    return await Deployment.RunAsync(() => 
    {
        var dashboardEdit = Sysdig.GetMonitorCustomRolePermissions.Invoke(new()
        {
            RequestedPermissions = new[]
            {
                "dashboards.edit",
            },
        });
    
        var my_custom_role = new Sysdig.CustomRole("my-custom-role", new()
        {
            Description = "Custom role to edit dashboards",
            Permissions = new Sysdig.Inputs.CustomRolePermissionsArgs
            {
                MonitorPermissions = dashboardEdit.Apply(getMonitorCustomRolePermissionsResult => getMonitorCustomRolePermissionsResult.EnrichedPermissions),
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                data.Sysdig_secure_custom_role_permissions.Images_edit,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.sysdig.SysdigFunctions;
    import com.pulumi.sysdig.inputs.GetMonitorCustomRolePermissionsArgs;
    import com.pulumi.sysdig.CustomRole;
    import com.pulumi.sysdig.CustomRoleArgs;
    import com.pulumi.sysdig.inputs.CustomRolePermissionsArgs;
    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 dashboardEdit = SysdigFunctions.getMonitorCustomRolePermissions(GetMonitorCustomRolePermissionsArgs.builder()
                .requestedPermissions("dashboards.edit")
                .build());
    
            var my_custom_role = new CustomRole("my-custom-role", CustomRoleArgs.builder()
                .description("Custom role to edit dashboards")
                .permissions(CustomRolePermissionsArgs.builder()
                    .monitorPermissions(dashboardEdit.applyValue(getMonitorCustomRolePermissionsResult -> getMonitorCustomRolePermissionsResult.enrichedPermissions()))
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(data.sysdig_secure_custom_role_permissions().images_edit())
                    .build());
    
        }
    }
    
    resources:
      my-custom-role:
        type: sysdig:CustomRole
        properties:
          description: Custom role to edit dashboards
          permissions:
            monitorPermissions: ${dashboardEdit.enrichedPermissions}
        options:
          dependsOn:
            - ${data.sysdig_secure_custom_role_permissions.images_edit}
    variables:
      dashboardEdit:
        fn::invoke:
          function: sysdig:getMonitorCustomRolePermissions
          arguments:
            requestedPermissions:
              - dashboards.edit
    

    Using getMonitorCustomRolePermissions

    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 getMonitorCustomRolePermissions(args: GetMonitorCustomRolePermissionsArgs, opts?: InvokeOptions): Promise<GetMonitorCustomRolePermissionsResult>
    function getMonitorCustomRolePermissionsOutput(args: GetMonitorCustomRolePermissionsOutputArgs, opts?: InvokeOptions): Output<GetMonitorCustomRolePermissionsResult>
    def get_monitor_custom_role_permissions(id: Optional[str] = None,
                                            requested_permissions: Optional[Sequence[str]] = None,
                                            timeouts: Optional[GetMonitorCustomRolePermissionsTimeouts] = None,
                                            opts: Optional[InvokeOptions] = None) -> GetMonitorCustomRolePermissionsResult
    def get_monitor_custom_role_permissions_output(id: Optional[pulumi.Input[str]] = None,
                                            requested_permissions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                                            timeouts: Optional[pulumi.Input[GetMonitorCustomRolePermissionsTimeoutsArgs]] = None,
                                            opts: Optional[InvokeOptions] = None) -> Output[GetMonitorCustomRolePermissionsResult]
    func GetMonitorCustomRolePermissions(ctx *Context, args *GetMonitorCustomRolePermissionsArgs, opts ...InvokeOption) (*GetMonitorCustomRolePermissionsResult, error)
    func GetMonitorCustomRolePermissionsOutput(ctx *Context, args *GetMonitorCustomRolePermissionsOutputArgs, opts ...InvokeOption) GetMonitorCustomRolePermissionsResultOutput

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

    public static class GetMonitorCustomRolePermissions 
    {
        public static Task<GetMonitorCustomRolePermissionsResult> InvokeAsync(GetMonitorCustomRolePermissionsArgs args, InvokeOptions? opts = null)
        public static Output<GetMonitorCustomRolePermissionsResult> Invoke(GetMonitorCustomRolePermissionsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetMonitorCustomRolePermissionsResult> getMonitorCustomRolePermissions(GetMonitorCustomRolePermissionsArgs args, InvokeOptions options)
    public static Output<GetMonitorCustomRolePermissionsResult> getMonitorCustomRolePermissions(GetMonitorCustomRolePermissionsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: sysdig:index/getMonitorCustomRolePermissions:getMonitorCustomRolePermissions
      arguments:
        # arguments dictionary

    The following arguments are supported:

    getMonitorCustomRolePermissions Result

    The following output properties are available:

    EnrichedPermissions List<string>
    The minimum set of permissions enriched with permissions on which the requested permissions depend
    Id string
    RequestedPermissions List<string>
    Timeouts GetMonitorCustomRolePermissionsTimeouts
    EnrichedPermissions []string
    The minimum set of permissions enriched with permissions on which the requested permissions depend
    Id string
    RequestedPermissions []string
    Timeouts GetMonitorCustomRolePermissionsTimeouts
    enrichedPermissions List<String>
    The minimum set of permissions enriched with permissions on which the requested permissions depend
    id String
    requestedPermissions List<String>
    timeouts GetMonitorCustomRolePermissionsTimeouts
    enrichedPermissions string[]
    The minimum set of permissions enriched with permissions on which the requested permissions depend
    id string
    requestedPermissions string[]
    timeouts GetMonitorCustomRolePermissionsTimeouts
    enriched_permissions Sequence[str]
    The minimum set of permissions enriched with permissions on which the requested permissions depend
    id str
    requested_permissions Sequence[str]
    timeouts GetMonitorCustomRolePermissionsTimeouts
    enrichedPermissions List<String>
    The minimum set of permissions enriched with permissions on which the requested permissions depend
    id String
    requestedPermissions List<String>
    timeouts Property Map

    Supporting Types

    GetMonitorCustomRolePermissionsTimeouts

    Read string
    Read string
    read String
    read string
    read str
    read String

    Package Details

    Repository
    sysdig sysdiglabs/terraform-provider-sysdig
    License
    Notes
    This Pulumi package is based on the sysdig Terraform Provider.
    sysdig logo
    sysdig 3.1.0 published on Tuesday, Oct 28, 2025 by sysdiglabs
      Meet Neo: Your AI Platform Teammate