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

sysdig.CustomRole

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 my_custom_role = new sysdig.CustomRole("my-custom-role", {
        description: "test",
        permissions: {
            monitorPermissions: ["kubernetes-api-commands.read"],
            securePermissions: ["scanning.read"],
        },
    });
    
    import pulumi
    import pulumi_sysdig as sysdig
    
    my_custom_role = sysdig.CustomRole("my-custom-role",
        description="test",
        permissions={
            "monitor_permissions": ["kubernetes-api-commands.read"],
            "secure_permissions": ["scanning.read"],
        })
    
    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.NewCustomRole(ctx, "my-custom-role", &sysdig.CustomRoleArgs{
    			Description: pulumi.String("test"),
    			Permissions: &sysdig.CustomRolePermissionsArgs{
    				MonitorPermissions: pulumi.StringArray{
    					pulumi.String("kubernetes-api-commands.read"),
    				},
    				SecurePermissions: pulumi.StringArray{
    					pulumi.String("scanning.read"),
    				},
    			},
    		})
    		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 my_custom_role = new Sysdig.CustomRole("my-custom-role", new()
        {
            Description = "test",
            Permissions = new Sysdig.Inputs.CustomRolePermissionsArgs
            {
                MonitorPermissions = new[]
                {
                    "kubernetes-api-commands.read",
                },
                SecurePermissions = new[]
                {
                    "scanning.read",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.sysdig.CustomRole;
    import com.pulumi.sysdig.CustomRoleArgs;
    import com.pulumi.sysdig.inputs.CustomRolePermissionsArgs;
    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) {
            var my_custom_role = new CustomRole("my-custom-role", CustomRoleArgs.builder()
                .description("test")
                .permissions(CustomRolePermissionsArgs.builder()
                    .monitorPermissions("kubernetes-api-commands.read")
                    .securePermissions("scanning.read")
                    .build())
                .build());
    
        }
    }
    
    resources:
      my-custom-role:
        type: sysdig:CustomRole
        properties:
          description: test
          permissions:
            monitorPermissions:
              - kubernetes-api-commands.read
            securePermissions:
              - scanning.read
    

    Create CustomRole Resource

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

    Constructor syntax

    new CustomRole(name: string, args: CustomRoleArgs, opts?: CustomResourceOptions);
    @overload
    def CustomRole(resource_name: str,
                   args: CustomRoleArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def CustomRole(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   permissions: Optional[CustomRolePermissionsArgs] = None,
                   custom_role_id: Optional[str] = None,
                   description: Optional[str] = None,
                   name: Optional[str] = None,
                   timeouts: Optional[CustomRoleTimeoutsArgs] = None)
    func NewCustomRole(ctx *Context, name string, args CustomRoleArgs, opts ...ResourceOption) (*CustomRole, error)
    public CustomRole(string name, CustomRoleArgs args, CustomResourceOptions? opts = null)
    public CustomRole(String name, CustomRoleArgs args)
    public CustomRole(String name, CustomRoleArgs args, CustomResourceOptions options)
    
    type: sysdig:CustomRole
    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 CustomRoleArgs
    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 CustomRoleArgs
    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 CustomRoleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CustomRoleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CustomRoleArgs
    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 customRoleResource = new Sysdig.CustomRole("customRoleResource", new()
    {
        Permissions = new Sysdig.Inputs.CustomRolePermissionsArgs
        {
            MonitorPermissions = new[]
            {
                "string",
            },
            SecurePermissions = new[]
            {
                "string",
            },
        },
        CustomRoleId = "string",
        Description = "string",
        Name = "string",
        Timeouts = new Sysdig.Inputs.CustomRoleTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Read = "string",
            Update = "string",
        },
    });
    
    example, err := sysdig.NewCustomRole(ctx, "customRoleResource", &sysdig.CustomRoleArgs{
    	Permissions: &sysdig.CustomRolePermissionsArgs{
    		MonitorPermissions: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		SecurePermissions: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	CustomRoleId: pulumi.String("string"),
    	Description:  pulumi.String("string"),
    	Name:         pulumi.String("string"),
    	Timeouts: &sysdig.CustomRoleTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Read:   pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    })
    
    var customRoleResource = new CustomRole("customRoleResource", CustomRoleArgs.builder()
        .permissions(CustomRolePermissionsArgs.builder()
            .monitorPermissions("string")
            .securePermissions("string")
            .build())
        .customRoleId("string")
        .description("string")
        .name("string")
        .timeouts(CustomRoleTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .read("string")
            .update("string")
            .build())
        .build());
    
    custom_role_resource = sysdig.CustomRole("customRoleResource",
        permissions={
            "monitor_permissions": ["string"],
            "secure_permissions": ["string"],
        },
        custom_role_id="string",
        description="string",
        name="string",
        timeouts={
            "create": "string",
            "delete": "string",
            "read": "string",
            "update": "string",
        })
    
    const customRoleResource = new sysdig.CustomRole("customRoleResource", {
        permissions: {
            monitorPermissions: ["string"],
            securePermissions: ["string"],
        },
        customRoleId: "string",
        description: "string",
        name: "string",
        timeouts: {
            create: "string",
            "delete": "string",
            read: "string",
            update: "string",
        },
    });
    
    type: sysdig:CustomRole
    properties:
        customRoleId: string
        description: string
        name: string
        permissions:
            monitorPermissions:
                - string
            securePermissions:
                - string
        timeouts:
            create: string
            delete: string
            read: string
            update: string
    

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

    Permissions CustomRolePermissions
    Block to define monitor and secure permissions.
    CustomRoleId string
    Description string
    Additional long description.
    Name string
    The custom role name.
    Timeouts CustomRoleTimeouts
    Permissions CustomRolePermissionsArgs
    Block to define monitor and secure permissions.
    CustomRoleId string
    Description string
    Additional long description.
    Name string
    The custom role name.
    Timeouts CustomRoleTimeoutsArgs
    permissions CustomRolePermissions
    Block to define monitor and secure permissions.
    customRoleId String
    description String
    Additional long description.
    name String
    The custom role name.
    timeouts CustomRoleTimeouts
    permissions CustomRolePermissions
    Block to define monitor and secure permissions.
    customRoleId string
    description string
    Additional long description.
    name string
    The custom role name.
    timeouts CustomRoleTimeouts
    permissions CustomRolePermissionsArgs
    Block to define monitor and secure permissions.
    custom_role_id str
    description str
    Additional long description.
    name str
    The custom role name.
    timeouts CustomRoleTimeoutsArgs
    permissions Property Map
    Block to define monitor and secure permissions.
    customRoleId String
    description String
    Additional long description.
    name String
    The custom role name.
    timeouts Property Map

    Outputs

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

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

    Look up Existing CustomRole Resource

    Get an existing CustomRole 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?: CustomRoleState, opts?: CustomResourceOptions): CustomRole
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            custom_role_id: Optional[str] = None,
            description: Optional[str] = None,
            name: Optional[str] = None,
            permissions: Optional[CustomRolePermissionsArgs] = None,
            timeouts: Optional[CustomRoleTimeoutsArgs] = None) -> CustomRole
    func GetCustomRole(ctx *Context, name string, id IDInput, state *CustomRoleState, opts ...ResourceOption) (*CustomRole, error)
    public static CustomRole Get(string name, Input<string> id, CustomRoleState? state, CustomResourceOptions? opts = null)
    public static CustomRole get(String name, Output<String> id, CustomRoleState state, CustomResourceOptions options)
    resources:  _:    type: sysdig:CustomRole    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:
    CustomRoleId string
    Description string
    Additional long description.
    Name string
    The custom role name.
    Permissions CustomRolePermissions
    Block to define monitor and secure permissions.
    Timeouts CustomRoleTimeouts
    CustomRoleId string
    Description string
    Additional long description.
    Name string
    The custom role name.
    Permissions CustomRolePermissionsArgs
    Block to define monitor and secure permissions.
    Timeouts CustomRoleTimeoutsArgs
    customRoleId String
    description String
    Additional long description.
    name String
    The custom role name.
    permissions CustomRolePermissions
    Block to define monitor and secure permissions.
    timeouts CustomRoleTimeouts
    customRoleId string
    description string
    Additional long description.
    name string
    The custom role name.
    permissions CustomRolePermissions
    Block to define monitor and secure permissions.
    timeouts CustomRoleTimeouts
    custom_role_id str
    description str
    Additional long description.
    name str
    The custom role name.
    permissions CustomRolePermissionsArgs
    Block to define monitor and secure permissions.
    timeouts CustomRoleTimeoutsArgs
    customRoleId String
    description String
    Additional long description.
    name String
    The custom role name.
    permissions Property Map
    Block to define monitor and secure permissions.
    timeouts Property Map

    Supporting Types

    CustomRolePermissions, CustomRolePermissionsArgs

    MonitorPermissions List<string>
    Set of Monitor permissions assigned to the role. Check GET /api/permissions to get the list of available values
    SecurePermissions List<string>
    Set of Secure permissions assigned to the role. Check GET /api/permissions to get the list of available values.
    MonitorPermissions []string
    Set of Monitor permissions assigned to the role. Check GET /api/permissions to get the list of available values
    SecurePermissions []string
    Set of Secure permissions assigned to the role. Check GET /api/permissions to get the list of available values.
    monitorPermissions List<String>
    Set of Monitor permissions assigned to the role. Check GET /api/permissions to get the list of available values
    securePermissions List<String>
    Set of Secure permissions assigned to the role. Check GET /api/permissions to get the list of available values.
    monitorPermissions string[]
    Set of Monitor permissions assigned to the role. Check GET /api/permissions to get the list of available values
    securePermissions string[]
    Set of Secure permissions assigned to the role. Check GET /api/permissions to get the list of available values.
    monitor_permissions Sequence[str]
    Set of Monitor permissions assigned to the role. Check GET /api/permissions to get the list of available values
    secure_permissions Sequence[str]
    Set of Secure permissions assigned to the role. Check GET /api/permissions to get the list of available values.
    monitorPermissions List<String>
    Set of Monitor permissions assigned to the role. Check GET /api/permissions to get the list of available values
    securePermissions List<String>
    Set of Secure permissions assigned to the role. Check GET /api/permissions to get the list of available values.

    CustomRoleTimeouts, CustomRoleTimeoutsArgs

    Create string
    Delete string
    Read string
    Update string
    Create string
    Delete string
    Read string
    Update string
    create String
    delete String
    read String
    update String
    create string
    delete string
    read string
    update string
    create str
    delete str
    read str
    update str
    create String
    delete String
    read String
    update String

    Import

    Sysdig group mapping can be imported using the ID, e.g.

    $ pulumi import sysdig:index/customRole:CustomRole my_custom_role 50
    

    To learn more about importing existing cloud resources, see Importing resources.

    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