1. Packages
  2. Exoscale
  3. API Docs
  4. IamRole
Exoscale v0.57.0 published on Friday, Apr 19, 2024 by Pulumiverse

exoscale.IamRole

Explore with Pulumi AI

exoscale logo
Exoscale v0.57.0 published on Friday, Apr 19, 2024 by Pulumiverse

    Manage Exoscale IAM Role.

    Create IamRole Resource

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

    Constructor syntax

    new IamRole(name: string, args?: IamRoleArgs, opts?: CustomResourceOptions);
    @overload
    def IamRole(resource_name: str,
                args: Optional[IamRoleArgs] = None,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def IamRole(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                description: Optional[str] = None,
                editable: Optional[bool] = None,
                labels: Optional[Mapping[str, str]] = None,
                name: Optional[str] = None,
                permissions: Optional[Sequence[str]] = None,
                policy: Optional[IamRolePolicyArgs] = None,
                timeouts: Optional[IamRoleTimeoutsArgs] = None)
    func NewIamRole(ctx *Context, name string, args *IamRoleArgs, opts ...ResourceOption) (*IamRole, error)
    public IamRole(string name, IamRoleArgs? args = null, CustomResourceOptions? opts = null)
    public IamRole(String name, IamRoleArgs args)
    public IamRole(String name, IamRoleArgs args, CustomResourceOptions options)
    
    type: exoscale:IamRole
    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 IamRoleArgs
    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 IamRoleArgs
    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 IamRoleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IamRoleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IamRoleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var iamRoleResource = new Exoscale.IamRole("iamRoleResource", new()
    {
        Description = "string",
        Editable = false,
        Labels = 
        {
            { "string", "string" },
        },
        Name = "string",
        Permissions = new[]
        {
            "string",
        },
        Policy = new Exoscale.Inputs.IamRolePolicyArgs
        {
            DefaultServiceStrategy = "string",
            Services = 
            {
                { "string", new Exoscale.Inputs.IamRolePolicyServicesArgs
                {
                    Rules = new[]
                    {
                        new Exoscale.Inputs.IamRolePolicyServicesRuleArgs
                        {
                            Action = "string",
                            Expression = "string",
                        },
                    },
                    Type = "string",
                } },
            },
        },
        Timeouts = new Exoscale.Inputs.IamRoleTimeoutsArgs
        {
            Read = "string",
        },
    });
    
    example, err := exoscale.NewIamRole(ctx, "iamRoleResource", &exoscale.IamRoleArgs{
    	Description: pulumi.String("string"),
    	Editable:    pulumi.Bool(false),
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	Permissions: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Policy: &exoscale.IamRolePolicyArgs{
    		DefaultServiceStrategy: pulumi.String("string"),
    		Services: exoscale.IamRolePolicyServicesMap{
    			"string": &exoscale.IamRolePolicyServicesArgs{
    				Rules: exoscale.IamRolePolicyServicesRuleArray{
    					&exoscale.IamRolePolicyServicesRuleArgs{
    						Action:     pulumi.String("string"),
    						Expression: pulumi.String("string"),
    					},
    				},
    				Type: pulumi.String("string"),
    			},
    		},
    	},
    	Timeouts: &exoscale.IamRoleTimeoutsArgs{
    		Read: pulumi.String("string"),
    	},
    })
    
    var iamRoleResource = new IamRole("iamRoleResource", IamRoleArgs.builder()        
        .description("string")
        .editable(false)
        .labels(Map.of("string", "string"))
        .name("string")
        .permissions("string")
        .policy(IamRolePolicyArgs.builder()
            .defaultServiceStrategy("string")
            .services(Map.of("string", Map.ofEntries(
                Map.entry("rules", Map.ofEntries(
                    Map.entry("action", "string"),
                    Map.entry("expression", "string")
                )),
                Map.entry("type", "string")
            )))
            .build())
        .timeouts(IamRoleTimeoutsArgs.builder()
            .read("string")
            .build())
        .build());
    
    iam_role_resource = exoscale.IamRole("iamRoleResource",
        description="string",
        editable=False,
        labels={
            "string": "string",
        },
        name="string",
        permissions=["string"],
        policy=exoscale.IamRolePolicyArgs(
            default_service_strategy="string",
            services={
                "string": exoscale.IamRolePolicyServicesArgs(
                    rules=[exoscale.IamRolePolicyServicesRuleArgs(
                        action="string",
                        expression="string",
                    )],
                    type="string",
                ),
            },
        ),
        timeouts=exoscale.IamRoleTimeoutsArgs(
            read="string",
        ))
    
    const iamRoleResource = new exoscale.IamRole("iamRoleResource", {
        description: "string",
        editable: false,
        labels: {
            string: "string",
        },
        name: "string",
        permissions: ["string"],
        policy: {
            defaultServiceStrategy: "string",
            services: {
                string: {
                    rules: [{
                        action: "string",
                        expression: "string",
                    }],
                    type: "string",
                },
            },
        },
        timeouts: {
            read: "string",
        },
    });
    
    type: exoscale:IamRole
    properties:
        description: string
        editable: false
        labels:
            string: string
        name: string
        permissions:
            - string
        policy:
            defaultServiceStrategy: string
            services:
                string:
                    rules:
                        - action: string
                          expression: string
                    type: string
        timeouts:
            read: string
    

    IamRole Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The IamRole resource accepts the following input properties:

    Description string
    A free-form text describing the IAM Role
    Editable bool
    Defines if IAM Role Policy is editable or not.
    Labels Dictionary<string, string>
    IAM Role labels.
    Name string
    ❗Name of IAM Role.
    Permissions List<string>
    IAM Role permissions.
    Policy Pulumiverse.Exoscale.Inputs.IamRolePolicy
    IAM Policy.
    Timeouts Pulumiverse.Exoscale.Inputs.IamRoleTimeouts
    Description string
    A free-form text describing the IAM Role
    Editable bool
    Defines if IAM Role Policy is editable or not.
    Labels map[string]string
    IAM Role labels.
    Name string
    ❗Name of IAM Role.
    Permissions []string
    IAM Role permissions.
    Policy IamRolePolicyArgs
    IAM Policy.
    Timeouts IamRoleTimeoutsArgs
    description String
    A free-form text describing the IAM Role
    editable Boolean
    Defines if IAM Role Policy is editable or not.
    labels Map<String,String>
    IAM Role labels.
    name String
    ❗Name of IAM Role.
    permissions List<String>
    IAM Role permissions.
    policy IamRolePolicy
    IAM Policy.
    timeouts IamRoleTimeouts
    description string
    A free-form text describing the IAM Role
    editable boolean
    Defines if IAM Role Policy is editable or not.
    labels {[key: string]: string}
    IAM Role labels.
    name string
    ❗Name of IAM Role.
    permissions string[]
    IAM Role permissions.
    policy IamRolePolicy
    IAM Policy.
    timeouts IamRoleTimeouts
    description str
    A free-form text describing the IAM Role
    editable bool
    Defines if IAM Role Policy is editable or not.
    labels Mapping[str, str]
    IAM Role labels.
    name str
    ❗Name of IAM Role.
    permissions Sequence[str]
    IAM Role permissions.
    policy IamRolePolicyArgs
    IAM Policy.
    timeouts IamRoleTimeoutsArgs
    description String
    A free-form text describing the IAM Role
    editable Boolean
    Defines if IAM Role Policy is editable or not.
    labels Map<String>
    IAM Role labels.
    name String
    ❗Name of IAM Role.
    permissions List<String>
    IAM Role permissions.
    policy Property Map
    IAM Policy.
    timeouts Property Map

    Outputs

    All input properties are implicitly available as output properties. Additionally, the IamRole 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 IamRole Resource

    Get an existing IamRole 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?: IamRoleState, opts?: CustomResourceOptions): IamRole
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            description: Optional[str] = None,
            editable: Optional[bool] = None,
            labels: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            permissions: Optional[Sequence[str]] = None,
            policy: Optional[IamRolePolicyArgs] = None,
            timeouts: Optional[IamRoleTimeoutsArgs] = None) -> IamRole
    func GetIamRole(ctx *Context, name string, id IDInput, state *IamRoleState, opts ...ResourceOption) (*IamRole, error)
    public static IamRole Get(string name, Input<string> id, IamRoleState? state, CustomResourceOptions? opts = null)
    public static IamRole get(String name, Output<String> id, IamRoleState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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:
    Description string
    A free-form text describing the IAM Role
    Editable bool
    Defines if IAM Role Policy is editable or not.
    Labels Dictionary<string, string>
    IAM Role labels.
    Name string
    ❗Name of IAM Role.
    Permissions List<string>
    IAM Role permissions.
    Policy Pulumiverse.Exoscale.Inputs.IamRolePolicy
    IAM Policy.
    Timeouts Pulumiverse.Exoscale.Inputs.IamRoleTimeouts
    Description string
    A free-form text describing the IAM Role
    Editable bool
    Defines if IAM Role Policy is editable or not.
    Labels map[string]string
    IAM Role labels.
    Name string
    ❗Name of IAM Role.
    Permissions []string
    IAM Role permissions.
    Policy IamRolePolicyArgs
    IAM Policy.
    Timeouts IamRoleTimeoutsArgs
    description String
    A free-form text describing the IAM Role
    editable Boolean
    Defines if IAM Role Policy is editable or not.
    labels Map<String,String>
    IAM Role labels.
    name String
    ❗Name of IAM Role.
    permissions List<String>
    IAM Role permissions.
    policy IamRolePolicy
    IAM Policy.
    timeouts IamRoleTimeouts
    description string
    A free-form text describing the IAM Role
    editable boolean
    Defines if IAM Role Policy is editable or not.
    labels {[key: string]: string}
    IAM Role labels.
    name string
    ❗Name of IAM Role.
    permissions string[]
    IAM Role permissions.
    policy IamRolePolicy
    IAM Policy.
    timeouts IamRoleTimeouts
    description str
    A free-form text describing the IAM Role
    editable bool
    Defines if IAM Role Policy is editable or not.
    labels Mapping[str, str]
    IAM Role labels.
    name str
    ❗Name of IAM Role.
    permissions Sequence[str]
    IAM Role permissions.
    policy IamRolePolicyArgs
    IAM Policy.
    timeouts IamRoleTimeoutsArgs
    description String
    A free-form text describing the IAM Role
    editable Boolean
    Defines if IAM Role Policy is editable or not.
    labels Map<String>
    IAM Role labels.
    name String
    ❗Name of IAM Role.
    permissions List<String>
    IAM Role permissions.
    policy Property Map
    IAM Policy.
    timeouts Property Map

    Supporting Types

    IamRolePolicy, IamRolePolicyArgs

    DefaultServiceStrategy string
    Default service strategy (allow or deny).
    Services Dictionary<string, Pulumiverse.Exoscale.Inputs.IamRolePolicyServices>
    IAM policy services.
    DefaultServiceStrategy string
    Default service strategy (allow or deny).
    Services map[string]IamRolePolicyServices
    IAM policy services.
    defaultServiceStrategy String
    Default service strategy (allow or deny).
    services Map<String,IamRolePolicyServices>
    IAM policy services.
    defaultServiceStrategy string
    Default service strategy (allow or deny).
    services {[key: string]: IamRolePolicyServices}
    IAM policy services.
    default_service_strategy str
    Default service strategy (allow or deny).
    services Mapping[str, IamRolePolicyServices]
    IAM policy services.
    defaultServiceStrategy String
    Default service strategy (allow or deny).
    services Map<Property Map>
    IAM policy services.

    IamRolePolicyServices, IamRolePolicyServicesArgs

    Rules List<Pulumiverse.Exoscale.Inputs.IamRolePolicyServicesRule>
    List of IAM service rules (if type is rules).
    Type string
    Service type (rules, allow, or deny).
    Rules []IamRolePolicyServicesRule
    List of IAM service rules (if type is rules).
    Type string
    Service type (rules, allow, or deny).
    rules List<IamRolePolicyServicesRule>
    List of IAM service rules (if type is rules).
    type String
    Service type (rules, allow, or deny).
    rules IamRolePolicyServicesRule[]
    List of IAM service rules (if type is rules).
    type string
    Service type (rules, allow, or deny).
    rules Sequence[IamRolePolicyServicesRule]
    List of IAM service rules (if type is rules).
    type str
    Service type (rules, allow, or deny).
    rules List<Property Map>
    List of IAM service rules (if type is rules).
    type String
    Service type (rules, allow, or deny).

    IamRolePolicyServicesRule, IamRolePolicyServicesRuleArgs

    Action string
    IAM policy rule action (allow or deny).
    Expression string
    IAM policy rule expression.
    Resources List<string>

    Deprecated: This field is not suported. Specify resources using CEL expressions.

    Action string
    IAM policy rule action (allow or deny).
    Expression string
    IAM policy rule expression.
    Resources []string

    Deprecated: This field is not suported. Specify resources using CEL expressions.

    action String
    IAM policy rule action (allow or deny).
    expression String
    IAM policy rule expression.
    resources List<String>

    Deprecated: This field is not suported. Specify resources using CEL expressions.

    action string
    IAM policy rule action (allow or deny).
    expression string
    IAM policy rule expression.
    resources string[]

    Deprecated: This field is not suported. Specify resources using CEL expressions.

    action str
    IAM policy rule action (allow or deny).
    expression str
    IAM policy rule expression.
    resources Sequence[str]

    Deprecated: This field is not suported. Specify resources using CEL expressions.

    action String
    IAM policy rule action (allow or deny).
    expression String
    IAM policy rule expression.
    resources List<String>

    Deprecated: This field is not suported. Specify resources using CEL expressions.

    IamRoleTimeouts, IamRoleTimeoutsArgs

    Read string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    Read string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    read String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    read string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    read str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
    read String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.

    Package Details

    Repository
    exoscale pulumiverse/pulumi-exoscale
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the exoscale Terraform Provider.
    exoscale logo
    Exoscale v0.57.0 published on Friday, Apr 19, 2024 by Pulumiverse