1. Packages
  2. Athenz Provider
  3. API Docs
  4. RoleMembers
athenz 1.0.45 published on Tuesday, Apr 15, 2025 by athenz

athenz.RoleMembers

Explore with Pulumi AI

athenz logo
athenz 1.0.45 published on Tuesday, Apr 15, 2025 by athenz

    athenz.RoleMembers provides an Athenz role resource.

    Example Usage

    IMPORTANT NOTE: please do NOT use json syntax but only hcl syntax

    import * as pulumi from "@pulumi/pulumi";
    import * as athenz from "@pulumi/athenz";
    
    const fooRole = new athenz.RoleMembers("fooRole", {
        auditRef: "manage role membership",
        domain: "some_domain",
        members: [
            {
                expiration: "2022-12-29 23:59:59",
                name: "domain1.user1",
                review: "2023-12-29 23:59:59",
            },
            {
                expiration: "2022-12-29 23:59:59",
                name: "domain2.user2",
                review: "2023-12-29 23:59:59",
            },
            {
                expiration: "2022-12-29 23:59:59",
                name: "domain3.user3",
                review: "2023-12-29 23:59:59",
            },
        ],
    });
    
    import pulumi
    import pulumi_athenz as athenz
    
    foo_role = athenz.RoleMembers("fooRole",
        audit_ref="manage role membership",
        domain="some_domain",
        members=[
            {
                "expiration": "2022-12-29 23:59:59",
                "name": "domain1.user1",
                "review": "2023-12-29 23:59:59",
            },
            {
                "expiration": "2022-12-29 23:59:59",
                "name": "domain2.user2",
                "review": "2023-12-29 23:59:59",
            },
            {
                "expiration": "2022-12-29 23:59:59",
                "name": "domain3.user3",
                "review": "2023-12-29 23:59:59",
            },
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/athenz/athenz"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := athenz.NewRoleMembers(ctx, "fooRole", &athenz.RoleMembersArgs{
    			AuditRef: pulumi.String("manage role membership"),
    			Domain:   pulumi.String("some_domain"),
    			Members: athenz.RoleMembersMemberArray{
    				&athenz.RoleMembersMemberArgs{
    					Expiration: pulumi.String("2022-12-29 23:59:59"),
    					Name:       pulumi.String("domain1.user1"),
    					Review:     pulumi.String("2023-12-29 23:59:59"),
    				},
    				&athenz.RoleMembersMemberArgs{
    					Expiration: pulumi.String("2022-12-29 23:59:59"),
    					Name:       pulumi.String("domain2.user2"),
    					Review:     pulumi.String("2023-12-29 23:59:59"),
    				},
    				&athenz.RoleMembersMemberArgs{
    					Expiration: pulumi.String("2022-12-29 23:59:59"),
    					Name:       pulumi.String("domain3.user3"),
    					Review:     pulumi.String("2023-12-29 23:59:59"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Athenz = Pulumi.Athenz;
    
    return await Deployment.RunAsync(() => 
    {
        var fooRole = new Athenz.RoleMembers("fooRole", new()
        {
            AuditRef = "manage role membership",
            Domain = "some_domain",
            Members = new[]
            {
                new Athenz.Inputs.RoleMembersMemberArgs
                {
                    Expiration = "2022-12-29 23:59:59",
                    Name = "domain1.user1",
                    Review = "2023-12-29 23:59:59",
                },
                new Athenz.Inputs.RoleMembersMemberArgs
                {
                    Expiration = "2022-12-29 23:59:59",
                    Name = "domain2.user2",
                    Review = "2023-12-29 23:59:59",
                },
                new Athenz.Inputs.RoleMembersMemberArgs
                {
                    Expiration = "2022-12-29 23:59:59",
                    Name = "domain3.user3",
                    Review = "2023-12-29 23:59:59",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.athenz.RoleMembers;
    import com.pulumi.athenz.RoleMembersArgs;
    import com.pulumi.athenz.inputs.RoleMembersMemberArgs;
    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 fooRole = new RoleMembers("fooRole", RoleMembersArgs.builder()
                .auditRef("manage role membership")
                .domain("some_domain")
                .members(            
                    RoleMembersMemberArgs.builder()
                        .expiration("2022-12-29 23:59:59")
                        .name("domain1.user1")
                        .review("2023-12-29 23:59:59")
                        .build(),
                    RoleMembersMemberArgs.builder()
                        .expiration("2022-12-29 23:59:59")
                        .name("domain2.user2")
                        .review("2023-12-29 23:59:59")
                        .build(),
                    RoleMembersMemberArgs.builder()
                        .expiration("2022-12-29 23:59:59")
                        .name("domain3.user3")
                        .review("2023-12-29 23:59:59")
                        .build())
                .build());
    
        }
    }
    
    resources:
      fooRole:
        type: athenz:RoleMembers
        properties:
          auditRef: manage role membership
          domain: some_domain
          members:
            - expiration: 2022-12-29 23:59:59
              name: domain1.user1
              review: 2023-12-29 23:59:59
            - expiration: 2022-12-29 23:59:59
              name: domain2.user2
              review: 2023-12-29 23:59:59
            - expiration: 2022-12-29 23:59:59
              name: domain3.user3
              review: 2023-12-29 23:59:59
    

    Create RoleMembers Resource

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

    Constructor syntax

    new RoleMembers(name: string, args: RoleMembersArgs, opts?: CustomResourceOptions);
    @overload
    def RoleMembers(resource_name: str,
                    args: RoleMembersArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def RoleMembers(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    domain: Optional[str] = None,
                    audit_ref: Optional[str] = None,
                    members: Optional[Sequence[RoleMembersMemberArgs]] = None,
                    name: Optional[str] = None,
                    role_members_id: Optional[str] = None)
    func NewRoleMembers(ctx *Context, name string, args RoleMembersArgs, opts ...ResourceOption) (*RoleMembers, error)
    public RoleMembers(string name, RoleMembersArgs args, CustomResourceOptions? opts = null)
    public RoleMembers(String name, RoleMembersArgs args)
    public RoleMembers(String name, RoleMembersArgs args, CustomResourceOptions options)
    
    type: athenz:RoleMembers
    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 RoleMembersArgs
    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 RoleMembersArgs
    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 RoleMembersArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RoleMembersArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RoleMembersArgs
    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 roleMembersResource = new Athenz.RoleMembers("roleMembersResource", new()
    {
        Domain = "string",
        AuditRef = "string",
        Members = new[]
        {
            new Athenz.Inputs.RoleMembersMemberArgs
            {
                Name = "string",
                Expiration = "string",
                Review = "string",
            },
        },
        Name = "string",
        RoleMembersId = "string",
    });
    
    example, err := athenz.NewRoleMembers(ctx, "roleMembersResource", &athenz.RoleMembersArgs{
    	Domain:   pulumi.String("string"),
    	AuditRef: pulumi.String("string"),
    	Members: athenz.RoleMembersMemberArray{
    		&athenz.RoleMembersMemberArgs{
    			Name:       pulumi.String("string"),
    			Expiration: pulumi.String("string"),
    			Review:     pulumi.String("string"),
    		},
    	},
    	Name:          pulumi.String("string"),
    	RoleMembersId: pulumi.String("string"),
    })
    
    var roleMembersResource = new RoleMembers("roleMembersResource", RoleMembersArgs.builder()
        .domain("string")
        .auditRef("string")
        .members(RoleMembersMemberArgs.builder()
            .name("string")
            .expiration("string")
            .review("string")
            .build())
        .name("string")
        .roleMembersId("string")
        .build());
    
    role_members_resource = athenz.RoleMembers("roleMembersResource",
        domain="string",
        audit_ref="string",
        members=[{
            "name": "string",
            "expiration": "string",
            "review": "string",
        }],
        name="string",
        role_members_id="string")
    
    const roleMembersResource = new athenz.RoleMembers("roleMembersResource", {
        domain: "string",
        auditRef: "string",
        members: [{
            name: "string",
            expiration: "string",
            review: "string",
        }],
        name: "string",
        roleMembersId: "string",
    });
    
    type: athenz:RoleMembers
    properties:
        auditRef: string
        domain: string
        members:
            - expiration: string
              name: string
              review: string
        name: string
        roleMembersId: string
    

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

    Domain string
    Name of the domain that role belongs to
    AuditRef string
    string containing audit specification or ticket number.
    Members List<RoleMembersMember>
    A set of Athenz principal members
    Name string
    Name of the role
    RoleMembersId string
    The ID of this resource.
    Domain string
    Name of the domain that role belongs to
    AuditRef string
    string containing audit specification or ticket number.
    Members []RoleMembersMemberArgs
    A set of Athenz principal members
    Name string
    Name of the role
    RoleMembersId string
    The ID of this resource.
    domain String
    Name of the domain that role belongs to
    auditRef String
    string containing audit specification or ticket number.
    members List<RoleMembersMember>
    A set of Athenz principal members
    name String
    Name of the role
    roleMembersId String
    The ID of this resource.
    domain string
    Name of the domain that role belongs to
    auditRef string
    string containing audit specification or ticket number.
    members RoleMembersMember[]
    A set of Athenz principal members
    name string
    Name of the role
    roleMembersId string
    The ID of this resource.
    domain str
    Name of the domain that role belongs to
    audit_ref str
    string containing audit specification or ticket number.
    members Sequence[RoleMembersMemberArgs]
    A set of Athenz principal members
    name str
    Name of the role
    role_members_id str
    The ID of this resource.
    domain String
    Name of the domain that role belongs to
    auditRef String
    string containing audit specification or ticket number.
    members List<Property Map>
    A set of Athenz principal members
    name String
    Name of the role
    roleMembersId String
    The ID of this resource.

    Outputs

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

    Get an existing RoleMembers 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?: RoleMembersState, opts?: CustomResourceOptions): RoleMembers
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            audit_ref: Optional[str] = None,
            domain: Optional[str] = None,
            members: Optional[Sequence[RoleMembersMemberArgs]] = None,
            name: Optional[str] = None,
            role_members_id: Optional[str] = None) -> RoleMembers
    func GetRoleMembers(ctx *Context, name string, id IDInput, state *RoleMembersState, opts ...ResourceOption) (*RoleMembers, error)
    public static RoleMembers Get(string name, Input<string> id, RoleMembersState? state, CustomResourceOptions? opts = null)
    public static RoleMembers get(String name, Output<String> id, RoleMembersState state, CustomResourceOptions options)
    resources:  _:    type: athenz:RoleMembers    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:
    AuditRef string
    string containing audit specification or ticket number.
    Domain string
    Name of the domain that role belongs to
    Members List<RoleMembersMember>
    A set of Athenz principal members
    Name string
    Name of the role
    RoleMembersId string
    The ID of this resource.
    AuditRef string
    string containing audit specification or ticket number.
    Domain string
    Name of the domain that role belongs to
    Members []RoleMembersMemberArgs
    A set of Athenz principal members
    Name string
    Name of the role
    RoleMembersId string
    The ID of this resource.
    auditRef String
    string containing audit specification or ticket number.
    domain String
    Name of the domain that role belongs to
    members List<RoleMembersMember>
    A set of Athenz principal members
    name String
    Name of the role
    roleMembersId String
    The ID of this resource.
    auditRef string
    string containing audit specification or ticket number.
    domain string
    Name of the domain that role belongs to
    members RoleMembersMember[]
    A set of Athenz principal members
    name string
    Name of the role
    roleMembersId string
    The ID of this resource.
    audit_ref str
    string containing audit specification or ticket number.
    domain str
    Name of the domain that role belongs to
    members Sequence[RoleMembersMemberArgs]
    A set of Athenz principal members
    name str
    Name of the role
    role_members_id str
    The ID of this resource.
    auditRef String
    string containing audit specification or ticket number.
    domain String
    Name of the domain that role belongs to
    members List<Property Map>
    A set of Athenz principal members
    name String
    Name of the role
    roleMembersId String
    The ID of this resource.

    Supporting Types

    RoleMembersMember, RoleMembersMemberArgs

    Name string
    • The name of the Athenz principal member. must be in this format: user.<userid> or <domain>.<service> or <domain>:group.<group>.
    Expiration string
    • The expiration time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    Review string
    • The review time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    Name string
    • The name of the Athenz principal member. must be in this format: user.<userid> or <domain>.<service> or <domain>:group.<group>.
    Expiration string
    • The expiration time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    Review string
    • The review time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    name String
    • The name of the Athenz principal member. must be in this format: user.<userid> or <domain>.<service> or <domain>:group.<group>.
    expiration String
    • The expiration time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    review String
    • The review time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    name string
    • The name of the Athenz principal member. must be in this format: user.<userid> or <domain>.<service> or <domain>:group.<group>.
    expiration string
    • The expiration time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    review string
    • The review time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    name str
    • The name of the Athenz principal member. must be in this format: user.<userid> or <domain>.<service> or <domain>:group.<group>.
    expiration str
    • The expiration time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    review str
    • The review time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    name String
    • The name of the Athenz principal member. must be in this format: user.<userid> or <domain>.<service> or <domain>:group.<group>.
    expiration String
    • The expiration time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>
    review String
    • The review time in UTC of the Athenz principal member. must be in this format: <yyyy>-<mm>-<dd> <hh>:<MM>:<ss>

    Package Details

    Repository
    athenz athenz/terraform-provider-athenz
    License
    Notes
    This Pulumi package is based on the athenz Terraform Provider.
    athenz logo
    athenz 1.0.45 published on Tuesday, Apr 15, 2025 by athenz