import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Profile resource in Oracle Cloud Infrastructure Optimizer service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/advisor/latest/Profile * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/optimizer * * Creates a new profile. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testProfile = new oci.optimizer.Profile("test_profile", { * compartmentId: compartmentId, * description: profileDescription, * levelsConfiguration: { * items: [{ * level: profileLevelsConfigurationItemsLevel, * recommendationId: testRecommendation.id, * }], * }, * name: profileName, * aggregationIntervalInDays: Number(profileAggregationIntervalInDays), * definedTags: { * "foo-namespace.bar-key": "value", * }, * freeformTags: { * "bar-key": "value", * }, * targetCompartments: { * items: profileTargetCompartmentsItems, * }, * targetTags: { * items: [{ * tagDefinitionName: profileTargetTagsItemsTagDefinitionName, * tagNamespaceName: testTagNamespace.name, * tagValueType: profileTargetTagsItemsTagValueType, * tagValues: profileTargetTagsItemsTagValues, * }], * }, * }); * ``` * * ## Import * * Profiles can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:Optimizer/profile:Profile test_profile "id" * ``` */ export declare class Profile extends pulumi.CustomResource { /** * Get an existing Profile 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?: ProfileState, opts?: pulumi.CustomResourceOptions): Profile; /** * Returns true if the given object is an instance of Profile. 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 Profile; /** * (Updatable) The time period over which to collect data for the recommendations, measured in number of days. */ readonly aggregationIntervalInDays: pulumi.Output; /** * The OCID of the tenancy. The tenancy is the root compartment. */ 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: `{"foo-namespace.bar-key": "value"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) Text describing the profile. Avoid entering confidential information. */ readonly description: pulumi.Output; /** * (Updatable) Simple key-value pair applied without any predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) A list of configuration levels for each recommendation. */ readonly levelsConfiguration: pulumi.Output; /** * (Updatable) The name assigned to the profile. Avoid entering confidential information. */ readonly name: pulumi.Output; /** * The profile's current state. */ readonly state: pulumi.Output; readonly systemTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) Optional. The compartments specified in the profile override for a recommendation. */ readonly targetCompartments: pulumi.Output; /** * (Updatable) Optional. The tags specified in the profile override for a recommendation. */ readonly targetTags: pulumi.Output; /** * The date and time the profile was created, in the format defined by RFC3339. */ readonly timeCreated: pulumi.Output; /** * The date and time the profile was last updated, in the format defined by RFC3339. */ readonly timeUpdated: pulumi.Output; /** * Create a Profile 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: ProfileArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Profile resources. */ export interface ProfileState { /** * (Updatable) The time period over which to collect data for the recommendations, measured in number of days. */ aggregationIntervalInDays?: pulumi.Input; /** * The OCID of the tenancy. The tenancy is the root compartment. */ 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: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) Text describing the profile. Avoid entering confidential information. */ description?: pulumi.Input; /** * (Updatable) Simple key-value pair applied without any predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A list of configuration levels for each recommendation. */ levelsConfiguration?: pulumi.Input; /** * (Updatable) The name assigned to the profile. Avoid entering confidential information. */ name?: pulumi.Input; /** * The profile's current state. */ state?: pulumi.Input; systemTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) Optional. The compartments specified in the profile override for a recommendation. */ targetCompartments?: pulumi.Input; /** * (Updatable) Optional. The tags specified in the profile override for a recommendation. */ targetTags?: pulumi.Input; /** * The date and time the profile was created, in the format defined by RFC3339. */ timeCreated?: pulumi.Input; /** * The date and time the profile was last updated, in the format defined by RFC3339. */ timeUpdated?: pulumi.Input; } /** * The set of arguments for constructing a Profile resource. */ export interface ProfileArgs { /** * (Updatable) The time period over which to collect data for the recommendations, measured in number of days. */ aggregationIntervalInDays?: pulumi.Input; /** * The OCID of the tenancy. The tenancy is the root compartment. */ 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: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) Text describing the profile. Avoid entering confidential information. */ description: pulumi.Input; /** * (Updatable) Simple key-value pair applied without any predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A list of configuration levels for each recommendation. */ levelsConfiguration: pulumi.Input; /** * (Updatable) The name assigned to the profile. Avoid entering confidential information. */ name?: pulumi.Input; /** * (Updatable) Optional. The compartments specified in the profile override for a recommendation. */ targetCompartments?: pulumi.Input; /** * (Updatable) Optional. The tags specified in the profile override for a recommendation. */ targetTags?: pulumi.Input; } //# sourceMappingURL=profile.d.ts.map