import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Cluster Placement Group resource in Oracle Cloud Infrastructure Cluster Placement Groups service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/clusterplacementgroups/latest/ClusterPlacementGroup * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/cluster_placement_groups * * Creates a new cluster placement group in the specified compartment. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testClusterPlacementGroup = new oci.clusterplacementgroups.ClusterPlacementGroup("test_cluster_placement_group", { * availabilityDomain: clusterPlacementGroupAvailabilityDomain, * clusterPlacementGroupType: clusterPlacementGroupClusterPlacementGroupType, * compartmentId: compartmentId, * description: clusterPlacementGroupDescription, * name: clusterPlacementGroupName, * capabilities: { * items: [{ * name: clusterPlacementGroupCapabilitiesItemsName, * service: clusterPlacementGroupCapabilitiesItemsService, * additionalDetails: { * serviceType: clusterPlacementGroupCapabilitiesItemsAdditionalDetailsServiceType, * clusterPlacementGroupCount: Number(clusterPlacementGroupCapabilitiesItemsAdditionalDetailsClusterPlacementGroupCount), * memoryInGbs: clusterPlacementGroupCapabilitiesItemsAdditionalDetailsMemoryInGbs, * nvmes: Number(clusterPlacementGroupCapabilitiesItemsAdditionalDetailsNvmes), * ocpus: clusterPlacementGroupCapabilitiesItemsAdditionalDetailsOcpus, * }, * }], * }, * definedTags: { * "foo-namespace.bar-key": "value", * }, * freeformTags: { * "bar-key": "value", * }, * opcDryRun: clusterPlacementGroupOpcDryRun === "true", * placementInstruction: { * type: clusterPlacementGroupPlacementInstructionType, * value: clusterPlacementGroupPlacementInstructionValue, * }, * }); * ``` * * ## Import * * ClusterPlacementGroups can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:ClusterPlacementGroups/clusterPlacementGroup:ClusterPlacementGroup test_cluster_placement_group "id" * ``` */ export declare class ClusterPlacementGroup extends pulumi.CustomResource { /** * Get an existing ClusterPlacementGroup 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?: ClusterPlacementGroupState, opts?: pulumi.CustomResourceOptions): ClusterPlacementGroup; /** * Returns true if the given object is an instance of ClusterPlacementGroup. 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 ClusterPlacementGroup; /** * The availability domain where you want to create the cluster placement group. */ readonly availabilityDomain: pulumi.Output; /** * A list of resources that you can create in a cluster placement group. */ readonly capabilities: pulumi.Output; /** * ClusterPlacementGroup Identifier. */ readonly clusterPlacementGroupType: pulumi.Output; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want to create the cluster placement group. */ readonly compartmentId: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) A description of the cluster placement group. */ readonly description: pulumi.Output; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * A message describing the current state in more detail. For example, lifecycle details for a resource in a Failed state might include information to act on. */ readonly lifecycleDetails: pulumi.Output; /** * The friendly name of the cluster placement group. */ readonly name: pulumi.Output; /** * When set to `true`, the request performs validation on the submitted data without modifying configuration item details. */ readonly opcDryRun: pulumi.Output; /** * Details that inform cluster placement group provisioning. */ readonly placementInstruction: pulumi.Output; /** * (Updatable) The target state for the Cluster Placement Group. Could be set to `ACTIVE` or `INACTIVE`. * * ** 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 state: pulumi.Output; /** * System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}` */ readonly systemTags: pulumi.Output<{ [key: string]: string; }>; /** * The time the cluster placement group was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. */ readonly timeCreated: pulumi.Output; /** * The time the cluster placement group was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. */ readonly timeUpdated: pulumi.Output; /** * Create a ClusterPlacementGroup 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: ClusterPlacementGroupArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ClusterPlacementGroup resources. */ export interface ClusterPlacementGroupState { /** * The availability domain where you want to create the cluster placement group. */ availabilityDomain?: pulumi.Input; /** * A list of resources that you can create in a cluster placement group. */ capabilities?: pulumi.Input; /** * ClusterPlacementGroup Identifier. */ clusterPlacementGroupType?: pulumi.Input; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want to create the cluster placement group. */ compartmentId?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A description of the cluster placement group. */ description?: pulumi.Input; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * A message describing the current state in more detail. For example, lifecycle details for a resource in a Failed state might include information to act on. */ lifecycleDetails?: pulumi.Input; /** * The friendly name of the cluster placement group. */ name?: pulumi.Input; /** * When set to `true`, the request performs validation on the submitted data without modifying configuration item details. */ opcDryRun?: pulumi.Input; /** * Details that inform cluster placement group provisioning. */ placementInstruction?: pulumi.Input; /** * (Updatable) The target state for the Cluster Placement Group. Could be set to `ACTIVE` or `INACTIVE`. * * ** 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 */ state?: pulumi.Input; /** * System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}` */ systemTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The time the cluster placement group was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. */ timeCreated?: pulumi.Input; /** * The time the cluster placement group was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. */ timeUpdated?: pulumi.Input; } /** * The set of arguments for constructing a ClusterPlacementGroup resource. */ export interface ClusterPlacementGroupArgs { /** * The availability domain where you want to create the cluster placement group. */ availabilityDomain: pulumi.Input; /** * A list of resources that you can create in a cluster placement group. */ capabilities?: pulumi.Input; /** * ClusterPlacementGroup Identifier. */ clusterPlacementGroupType: pulumi.Input; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment where you want to create the cluster placement group. */ compartmentId: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A description of the cluster placement group. */ description: pulumi.Input; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The friendly name of the cluster placement group. */ name?: pulumi.Input; /** * When set to `true`, the request performs validation on the submitted data without modifying configuration item details. */ opcDryRun?: pulumi.Input; /** * Details that inform cluster placement group provisioning. */ placementInstruction?: pulumi.Input; /** * (Updatable) The target state for the Cluster Placement Group. Could be set to `ACTIVE` or `INACTIVE`. * * ** 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 */ state?: pulumi.Input; } //# sourceMappingURL=clusterPlacementGroup.d.ts.map