import * as pulumi from "@pulumi/pulumi"; /** * The `vsphere.TagCategory` resource can be used to create and manage tag * categories, which determine how tags are grouped together and applied to * specific objects. * * For more information about tags, click [here][ext-tags-general]. * * [ext-tags-general]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/vsphere-tags-and-attributes.html * * ## Example Usage * * This example creates a tag category named `test-category`, with * single cardinality (meaning that only one tag in this category can be assigned * to an object at any given time). Tags in this category can only be assigned to * VMs and datastores. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vsphere from "@pulumi/vsphere"; * * const category = new vsphere.TagCategory("category", { * name: "test-category", * description: "Managed by Pulumi", * cardinality: "SINGLE", * associableTypes: [ * "VirtualMachine", * "Datastore", * ], * }); * ``` * * ## Import * * An existing tag category can be imported into this resource via * * its name, using the following command: * * [docs-import]: https://developer.hashicorp.com/terraform/cli/import * * ```sh * $ pulumi import vsphere:index/tagCategory:TagCategory category terraform-test-category * ``` */ export declare class TagCategory extends pulumi.CustomResource { /** * Get an existing TagCategory resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: TagCategoryState, opts?: pulumi.CustomResourceOptions): TagCategory; /** * Returns true if the given object is an instance of TagCategory. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is TagCategory; /** * A list object types that this category is * valid to be assigned to. For a full list, click * here. */ readonly associableTypes: pulumi.Output; /** * The number of tags that can be assigned from this * category to a single object at once. Can be one of `SINGLE` (object can only * be assigned one tag in this category), to `MULTIPLE` (object can be assigned * multiple tags in this category). Forces a new resource if changed. */ readonly cardinality: pulumi.Output; /** * A description for the category. * * > **NOTE:** You can add associable types to a category, but you cannot remove * them. Attempting to do so will result in an error. */ readonly description: pulumi.Output; /** * The name of the category. */ readonly name: pulumi.Output; /** * Create a TagCategory resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: TagCategoryArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering TagCategory resources. */ export interface TagCategoryState { /** * A list object types that this category is * valid to be assigned to. For a full list, click * here. */ associableTypes?: pulumi.Input[]>; /** * The number of tags that can be assigned from this * category to a single object at once. Can be one of `SINGLE` (object can only * be assigned one tag in this category), to `MULTIPLE` (object can be assigned * multiple tags in this category). Forces a new resource if changed. */ cardinality?: pulumi.Input; /** * A description for the category. * * > **NOTE:** You can add associable types to a category, but you cannot remove * them. Attempting to do so will result in an error. */ description?: pulumi.Input; /** * The name of the category. */ name?: pulumi.Input; } /** * The set of arguments for constructing a TagCategory resource. */ export interface TagCategoryArgs { /** * A list object types that this category is * valid to be assigned to. For a full list, click * here. */ associableTypes: pulumi.Input[]>; /** * The number of tags that can be assigned from this * category to a single object at once. Can be one of `SINGLE` (object can only * be assigned one tag in this category), to `MULTIPLE` (object can be assigned * multiple tags in this category). Forces a new resource if changed. */ cardinality: pulumi.Input; /** * A description for the category. * * > **NOTE:** You can add associable types to a category, but you cannot remove * them. Attempting to do so will result in an error. */ description?: pulumi.Input; /** * The name of the category. */ name?: pulumi.Input; }