1. Packages
  2. Sysdig Provider
  3. API Docs
  4. getMonitorCustomRolePermissions
sysdig 1.56.0 published on Wednesday, Apr 30, 2025 by sysdiglabs

sysdig.getMonitorCustomRolePermissions

Explore with Pulumi AI

sysdig logo
sysdig 1.56.0 published on Wednesday, Apr 30, 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/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/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 1.56.0 published on Wednesday, Apr 30, 2025 by sysdiglabs