1. Packages
  2. Vcd Provider
  3. API Docs
  4. CatalogAccessControl
vcd 3.14.1 published on Monday, Apr 14, 2025 by vmware

vcd.CatalogAccessControl

Explore with Pulumi AI

vcd logo
vcd 3.14.1 published on Monday, Apr 14, 2025 by vmware

    Create CatalogAccessControl Resource

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

    Constructor syntax

    new CatalogAccessControl(name: string, args: CatalogAccessControlArgs, opts?: CustomResourceOptions);
    @overload
    def CatalogAccessControl(resource_name: str,
                             args: CatalogAccessControlArgs,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def CatalogAccessControl(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             catalog_id: Optional[str] = None,
                             shared_with_everyone: Optional[bool] = None,
                             catalog_access_control_id: Optional[str] = None,
                             everyone_access_level: Optional[str] = None,
                             org: Optional[str] = None,
                             read_only_shared_with_all_orgs: Optional[bool] = None,
                             shared_withs: Optional[Sequence[CatalogAccessControlSharedWithArgs]] = None)
    func NewCatalogAccessControl(ctx *Context, name string, args CatalogAccessControlArgs, opts ...ResourceOption) (*CatalogAccessControl, error)
    public CatalogAccessControl(string name, CatalogAccessControlArgs args, CustomResourceOptions? opts = null)
    public CatalogAccessControl(String name, CatalogAccessControlArgs args)
    public CatalogAccessControl(String name, CatalogAccessControlArgs args, CustomResourceOptions options)
    
    type: vcd:CatalogAccessControl
    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 CatalogAccessControlArgs
    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 CatalogAccessControlArgs
    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 CatalogAccessControlArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CatalogAccessControlArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CatalogAccessControlArgs
    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 catalogAccessControlResource = new Vcd.CatalogAccessControl("catalogAccessControlResource", new()
    {
        CatalogId = "string",
        SharedWithEveryone = false,
        CatalogAccessControlId = "string",
        EveryoneAccessLevel = "string",
        Org = "string",
        ReadOnlySharedWithAllOrgs = false,
        SharedWiths = new[]
        {
            new Vcd.Inputs.CatalogAccessControlSharedWithArgs
            {
                AccessLevel = "string",
                GroupId = "string",
                OrgId = "string",
                SubjectName = "string",
                UserId = "string",
            },
        },
    });
    
    example, err := vcd.NewCatalogAccessControl(ctx, "catalogAccessControlResource", &vcd.CatalogAccessControlArgs{
    	CatalogId:                 pulumi.String("string"),
    	SharedWithEveryone:        pulumi.Bool(false),
    	CatalogAccessControlId:    pulumi.String("string"),
    	EveryoneAccessLevel:       pulumi.String("string"),
    	Org:                       pulumi.String("string"),
    	ReadOnlySharedWithAllOrgs: pulumi.Bool(false),
    	SharedWiths: vcd.CatalogAccessControlSharedWithArray{
    		&vcd.CatalogAccessControlSharedWithArgs{
    			AccessLevel: pulumi.String("string"),
    			GroupId:     pulumi.String("string"),
    			OrgId:       pulumi.String("string"),
    			SubjectName: pulumi.String("string"),
    			UserId:      pulumi.String("string"),
    		},
    	},
    })
    
    var catalogAccessControlResource = new CatalogAccessControl("catalogAccessControlResource", CatalogAccessControlArgs.builder()
        .catalogId("string")
        .sharedWithEveryone(false)
        .catalogAccessControlId("string")
        .everyoneAccessLevel("string")
        .org("string")
        .readOnlySharedWithAllOrgs(false)
        .sharedWiths(CatalogAccessControlSharedWithArgs.builder()
            .accessLevel("string")
            .groupId("string")
            .orgId("string")
            .subjectName("string")
            .userId("string")
            .build())
        .build());
    
    catalog_access_control_resource = vcd.CatalogAccessControl("catalogAccessControlResource",
        catalog_id="string",
        shared_with_everyone=False,
        catalog_access_control_id="string",
        everyone_access_level="string",
        org="string",
        read_only_shared_with_all_orgs=False,
        shared_withs=[{
            "access_level": "string",
            "group_id": "string",
            "org_id": "string",
            "subject_name": "string",
            "user_id": "string",
        }])
    
    const catalogAccessControlResource = new vcd.CatalogAccessControl("catalogAccessControlResource", {
        catalogId: "string",
        sharedWithEveryone: false,
        catalogAccessControlId: "string",
        everyoneAccessLevel: "string",
        org: "string",
        readOnlySharedWithAllOrgs: false,
        sharedWiths: [{
            accessLevel: "string",
            groupId: "string",
            orgId: "string",
            subjectName: "string",
            userId: "string",
        }],
    });
    
    type: vcd:CatalogAccessControl
    properties:
        catalogAccessControlId: string
        catalogId: string
        everyoneAccessLevel: string
        org: string
        readOnlySharedWithAllOrgs: false
        sharedWithEveryone: false
        sharedWiths:
            - accessLevel: string
              groupId: string
              orgId: string
              subjectName: string
              userId: string
    

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

    CatalogId string
    A unique identifier for the Catalog.
    SharedWithEveryone bool
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    CatalogAccessControlId string
    EveryoneAccessLevel string
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    Org string
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    ReadOnlySharedWithAllOrgs bool
    If true, the catalog is shared as read-only with all organizations.
    SharedWiths List<CatalogAccessControlSharedWith>
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.
    CatalogId string
    A unique identifier for the Catalog.
    SharedWithEveryone bool
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    CatalogAccessControlId string
    EveryoneAccessLevel string
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    Org string
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    ReadOnlySharedWithAllOrgs bool
    If true, the catalog is shared as read-only with all organizations.
    SharedWiths []CatalogAccessControlSharedWithArgs
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.
    catalogId String
    A unique identifier for the Catalog.
    sharedWithEveryone Boolean
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    catalogAccessControlId String
    everyoneAccessLevel String
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    org String
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    readOnlySharedWithAllOrgs Boolean
    If true, the catalog is shared as read-only with all organizations.
    sharedWiths List<CatalogAccessControlSharedWith>
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.
    catalogId string
    A unique identifier for the Catalog.
    sharedWithEveryone boolean
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    catalogAccessControlId string
    everyoneAccessLevel string
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    org string
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    readOnlySharedWithAllOrgs boolean
    If true, the catalog is shared as read-only with all organizations.
    sharedWiths CatalogAccessControlSharedWith[]
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.
    catalog_id str
    A unique identifier for the Catalog.
    shared_with_everyone bool
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    catalog_access_control_id str
    everyone_access_level str
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    org str
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    read_only_shared_with_all_orgs bool
    If true, the catalog is shared as read-only with all organizations.
    shared_withs Sequence[CatalogAccessControlSharedWithArgs]
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.
    catalogId String
    A unique identifier for the Catalog.
    sharedWithEveryone Boolean
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    catalogAccessControlId String
    everyoneAccessLevel String
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    org String
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    readOnlySharedWithAllOrgs Boolean
    If true, the catalog is shared as read-only with all organizations.
    sharedWiths List<Property Map>
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.

    Outputs

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

    Get an existing CatalogAccessControl 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?: CatalogAccessControlState, opts?: CustomResourceOptions): CatalogAccessControl
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            catalog_access_control_id: Optional[str] = None,
            catalog_id: Optional[str] = None,
            everyone_access_level: Optional[str] = None,
            org: Optional[str] = None,
            read_only_shared_with_all_orgs: Optional[bool] = None,
            shared_with_everyone: Optional[bool] = None,
            shared_withs: Optional[Sequence[CatalogAccessControlSharedWithArgs]] = None) -> CatalogAccessControl
    func GetCatalogAccessControl(ctx *Context, name string, id IDInput, state *CatalogAccessControlState, opts ...ResourceOption) (*CatalogAccessControl, error)
    public static CatalogAccessControl Get(string name, Input<string> id, CatalogAccessControlState? state, CustomResourceOptions? opts = null)
    public static CatalogAccessControl get(String name, Output<String> id, CatalogAccessControlState state, CustomResourceOptions options)
    resources:  _:    type: vcd:CatalogAccessControl    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:
    CatalogAccessControlId string
    CatalogId string
    A unique identifier for the Catalog.
    EveryoneAccessLevel string
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    Org string
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    ReadOnlySharedWithAllOrgs bool
    If true, the catalog is shared as read-only with all organizations.
    SharedWithEveryone bool
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    SharedWiths List<CatalogAccessControlSharedWith>
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.
    CatalogAccessControlId string
    CatalogId string
    A unique identifier for the Catalog.
    EveryoneAccessLevel string
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    Org string
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    ReadOnlySharedWithAllOrgs bool
    If true, the catalog is shared as read-only with all organizations.
    SharedWithEveryone bool
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    SharedWiths []CatalogAccessControlSharedWithArgs
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.
    catalogAccessControlId String
    catalogId String
    A unique identifier for the Catalog.
    everyoneAccessLevel String
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    org String
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    readOnlySharedWithAllOrgs Boolean
    If true, the catalog is shared as read-only with all organizations.
    sharedWithEveryone Boolean
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    sharedWiths List<CatalogAccessControlSharedWith>
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.
    catalogAccessControlId string
    catalogId string
    A unique identifier for the Catalog.
    everyoneAccessLevel string
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    org string
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    readOnlySharedWithAllOrgs boolean
    If true, the catalog is shared as read-only with all organizations.
    sharedWithEveryone boolean
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    sharedWiths CatalogAccessControlSharedWith[]
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.
    catalog_access_control_id str
    catalog_id str
    A unique identifier for the Catalog.
    everyone_access_level str
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    org str
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    read_only_shared_with_all_orgs bool
    If true, the catalog is shared as read-only with all organizations.
    shared_with_everyone bool
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    shared_withs Sequence[CatalogAccessControlSharedWithArgs]
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.
    catalogAccessControlId String
    catalogId String
    A unique identifier for the Catalog.
    everyoneAccessLevel String
    Access level when the Catalog is shared with everyone (it can only be set to ReadOnly). Required if shared_with_everyone is set.
    org String
    The name of organization to which the Catalog belongs. Optional if defined at provider level.
    readOnlySharedWithAllOrgs Boolean
    If true, the catalog is shared as read-only with all organizations.
    sharedWithEveryone Boolean
    Whether the Catalog is shared with everyone. If any shared_with blocks are included, this property must be set to false.
    sharedWiths List<Property Map>
    one or more blocks defining a subject (one of Organization, User, or Group) to which we are sharing. See shared_with below for detail. It cannot be used if shared_with_everyone is true.

    Supporting Types

    CatalogAccessControlSharedWith, CatalogAccessControlSharedWithArgs

    AccessLevel string
    The access level for the user or group to which we are sharing. (One of ReadOnly, Change, FullControl, but it can only be ReadOnly when we share to an Organization)
    GroupId string
    The ID of a group with which we are sharing. Required if user_id or org_id is not set.
    OrgId string
    The ID of a group with which we are sharing. Required if user_id or group_id is not set.
    SubjectName string
    the name of the subject (Org, group, or user) with which we are sharing.
    UserId string
    The ID of a user with which we are sharing. Required if group_id or org_id is not set.
    AccessLevel string
    The access level for the user or group to which we are sharing. (One of ReadOnly, Change, FullControl, but it can only be ReadOnly when we share to an Organization)
    GroupId string
    The ID of a group with which we are sharing. Required if user_id or org_id is not set.
    OrgId string
    The ID of a group with which we are sharing. Required if user_id or group_id is not set.
    SubjectName string
    the name of the subject (Org, group, or user) with which we are sharing.
    UserId string
    The ID of a user with which we are sharing. Required if group_id or org_id is not set.
    accessLevel String
    The access level for the user or group to which we are sharing. (One of ReadOnly, Change, FullControl, but it can only be ReadOnly when we share to an Organization)
    groupId String
    The ID of a group with which we are sharing. Required if user_id or org_id is not set.
    orgId String
    The ID of a group with which we are sharing. Required if user_id or group_id is not set.
    subjectName String
    the name of the subject (Org, group, or user) with which we are sharing.
    userId String
    The ID of a user with which we are sharing. Required if group_id or org_id is not set.
    accessLevel string
    The access level for the user or group to which we are sharing. (One of ReadOnly, Change, FullControl, but it can only be ReadOnly when we share to an Organization)
    groupId string
    The ID of a group with which we are sharing. Required if user_id or org_id is not set.
    orgId string
    The ID of a group with which we are sharing. Required if user_id or group_id is not set.
    subjectName string
    the name of the subject (Org, group, or user) with which we are sharing.
    userId string
    The ID of a user with which we are sharing. Required if group_id or org_id is not set.
    access_level str
    The access level for the user or group to which we are sharing. (One of ReadOnly, Change, FullControl, but it can only be ReadOnly when we share to an Organization)
    group_id str
    The ID of a group with which we are sharing. Required if user_id or org_id is not set.
    org_id str
    The ID of a group with which we are sharing. Required if user_id or group_id is not set.
    subject_name str
    the name of the subject (Org, group, or user) with which we are sharing.
    user_id str
    The ID of a user with which we are sharing. Required if group_id or org_id is not set.
    accessLevel String
    The access level for the user or group to which we are sharing. (One of ReadOnly, Change, FullControl, but it can only be ReadOnly when we share to an Organization)
    groupId String
    The ID of a group with which we are sharing. Required if user_id or org_id is not set.
    orgId String
    The ID of a group with which we are sharing. Required if user_id or group_id is not set.
    subjectName String
    the name of the subject (Org, group, or user) with which we are sharing.
    userId String
    The ID of a user with which we are sharing. Required if group_id or org_id is not set.

    Package Details

    Repository
    vcd vmware/terraform-provider-vcd
    License
    Notes
    This Pulumi package is based on the vcd Terraform Provider.
    vcd logo
    vcd 3.14.1 published on Monday, Apr 14, 2025 by vmware