import * as pulumi from "@pulumi/pulumi"; /** * This resource provides the Dynamic Group resource in Oracle Cloud Infrastructure Identity service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/identity/latest/DynamicGroup * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/identity * * Creates a new dynamic group in your tenancy. * * You must specify your tenancy's OCID as the compartment ID in the request object (remember that the tenancy * is simply the root compartment). Notice that IAM resources (users, groups, compartments, and some policies) * reside within the tenancy itself, unlike cloud resources such as compute instances, which typically * reside within compartments inside the tenancy. For information about OCIDs, see * [Resource Identifiers](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * * You must also specify a *name* for the dynamic group, which must be unique across all dynamic groups in your * tenancy, and cannot be changed. Note that this name has to be also unique across all groups in your tenancy. * You can use this name or the OCID when writing policies that apply to the dynamic group. For more information * about policies, see [How Policies Work](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/policies.htm). * * You must also specify a *description* for the dynamic group (although it can be an empty string). It does not * have to be unique, and you can change it anytime with [UpdateDynamicGroup](https://docs.cloud.oracle.com/iaas/api/#/en/identity/20160918/DynamicGroup/UpdateDynamicGroup). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testDynamicGroup = new oci.identity.DynamicGroup("test_dynamic_group", { * compartmentId: tenancyOcid, * description: dynamicGroupDescription, * matchingRule: dynamicGroupMatchingRule, * name: dynamicGroupName, * definedTags: { * "Operations.CostCenter": "42", * }, * freeformTags: { * Department: "Finance", * }, * }); * ``` * * ## Import * * DynamicGroups can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:Identity/dynamicGroup:DynamicGroup test_dynamic_group "id" * ``` */ export declare class DynamicGroup extends pulumi.CustomResource { /** * Get an existing DynamicGroup 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?: DynamicGroupState, opts?: pulumi.CustomResourceOptions): DynamicGroup; /** * Returns true if the given object is an instance of DynamicGroup. 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 DynamicGroup; /** * The OCID of the tenancy containing the group. */ readonly compartmentId: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) The description you assign to the group during creation. Does not have to be unique, and it's changeable. */ readonly description: pulumi.Output; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * The detailed status of INACTIVE lifecycleState. */ readonly inactiveState: pulumi.Output; /** * (Updatable) The matching rule to dynamically match an instance certificate to this dynamic group. For rule syntax, see [Managing Dynamic Groups](https://docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingdynamicgroups.htm). */ readonly matchingRule: pulumi.Output; /** * The name you assign to the group during creation. The name must be unique across all groups in the tenancy and cannot be changed. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ readonly name: pulumi.Output; /** * The group's current state. */ readonly state: pulumi.Output; /** * Date and time the group was created, in the format defined by RFC3339. Example: `2016-08-25T21:10:29.600Z` */ readonly timeCreated: pulumi.Output; /** * Create a DynamicGroup 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: DynamicGroupArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DynamicGroup resources. */ export interface DynamicGroupState { /** * The OCID of the tenancy containing the group. */ compartmentId?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The description you assign to the group during creation. Does not have to be unique, and it's changeable. */ description?: pulumi.Input; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The detailed status of INACTIVE lifecycleState. */ inactiveState?: pulumi.Input; /** * (Updatable) The matching rule to dynamically match an instance certificate to this dynamic group. For rule syntax, see [Managing Dynamic Groups](https://docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingdynamicgroups.htm). */ matchingRule?: pulumi.Input; /** * The name you assign to the group during creation. The name must be unique across all groups in the tenancy and cannot be changed. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ name?: pulumi.Input; /** * The group's current state. */ state?: pulumi.Input; /** * Date and time the group was created, in the format defined by RFC3339. Example: `2016-08-25T21:10:29.600Z` */ timeCreated?: pulumi.Input; } /** * The set of arguments for constructing a DynamicGroup resource. */ export interface DynamicGroupArgs { /** * The OCID of the tenancy containing the group. */ compartmentId: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The description you assign to the group during creation. Does not have to be unique, and it's changeable. */ description: pulumi.Input; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The matching rule to dynamically match an instance certificate to this dynamic group. For rule syntax, see [Managing Dynamic Groups](https://docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingdynamicgroups.htm). */ matchingRule: pulumi.Input; /** * The name you assign to the group during creation. The name must be unique across all groups in the tenancy and cannot be changed. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ name?: pulumi.Input; } //# sourceMappingURL=dynamicGroup.d.ts.map