import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Metric Extension resource in Oracle Cloud Infrastructure Stack Monitoring service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/stack-monitoring/latest/MetricExtension * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/stack_monitoring * * Creates a new metric extension resource for a given compartment * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testMetricExtension = new oci.stackmonitoring.MetricExtension("test_metric_extension", { * collectionRecurrences: metricExtensionCollectionRecurrences, * compartmentId: compartmentId, * displayName: metricExtensionDisplayName, * metricLists: [{ * dataType: metricExtensionMetricListDataType, * name: metricExtensionMetricListName, * computeExpression: metricExtensionMetricListComputeExpression, * displayName: metricExtensionMetricListDisplayName, * isDimension: metricExtensionMetricListIsDimension === "true", * isHidden: metricExtensionMetricListIsHidden === "true", * metricCategory: metricExtensionMetricListMetricCategory, * unit: metricExtensionMetricListUnit, * }], * name: metricExtensionName, * queryProperties: { * collectionMethod: metricExtensionQueryPropertiesCollectionMethod, * arguments: metricExtensionQueryPropertiesArguments, * autoRowPrefix: metricExtensionQueryPropertiesAutoRowPrefix, * command: metricExtensionQueryPropertiesCommand, * delimiter: metricExtensionQueryPropertiesDelimiter, * identityMetric: metricExtensionQueryPropertiesIdentityMetric, * inParamDetails: [{ * inParamPosition: Number(metricExtensionQueryPropertiesInParamDetailsInParamPosition), * inParamValue: metricExtensionQueryPropertiesInParamDetailsInParamValue, * }], * isMetricServiceEnabled: metricExtensionQueryPropertiesIsMetricServiceEnabled === "true", * jmxAttributes: metricExtensionQueryPropertiesJmxAttributes, * managedBeanQuery: metricExtensionQueryPropertiesManagedBeanQuery, * outParamDetails: { * outParamName: metricExtensionQueryPropertiesOutParamDetailsOutParamName, * outParamPosition: Number(metricExtensionQueryPropertiesOutParamDetailsOutParamPosition), * outParamType: metricExtensionQueryPropertiesOutParamDetailsOutParamType, * }, * protocolType: metricExtensionQueryPropertiesProtocolType, * responseContentType: metricExtensionQueryPropertiesResponseContentType, * scriptDetails: { * content: metricExtensionQueryPropertiesScriptDetailsContent, * name: metricExtensionQueryPropertiesScriptDetailsName, * }, * sqlDetails: { * content: metricExtensionQueryPropertiesSqlDetailsContent, * scriptFileName: metricExtensionQueryPropertiesSqlDetailsScriptFileName, * }, * sqlType: metricExtensionQueryPropertiesSqlType, * startsWith: metricExtensionQueryPropertiesStartsWith, * url: metricExtensionQueryPropertiesUrl, * }, * resourceType: metricExtensionResourceType, * description: metricExtensionDescription, * }); * ``` * * ## Import * * MetricExtensions can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:StackMonitoring/metricExtension:MetricExtension test_metric_extension "id" * ``` */ export declare class MetricExtension extends pulumi.CustomResource { /** * Get an existing MetricExtension 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?: MetricExtensionState, opts?: pulumi.CustomResourceOptions): MetricExtension; /** * Returns true if the given object is an instance of MetricExtension. 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 MetricExtension; /** * Type of possible collection methods. */ readonly collectionMethod: pulumi.Output; /** * (Updatable) Schedule of metric extension should use RFC 5545 format i.e. recur-rule-part = "FREQ";INTERVAL where FREQ rule part identifies the type of recurrence rule. Valid values are "MINUTELY","HOURLY","DAILY" to specify repeating events based on an interval of a minute, an hour and a day or more. Example- FREQ=DAILY;INTERVAL=1 */ readonly collectionRecurrences: pulumi.Output; /** * (Updatable) Compartment Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) */ readonly compartmentId: pulumi.Output; /** * Created by user */ readonly createdBy: pulumi.Output; /** * (Updatable) Description of the metric extension. */ readonly description: pulumi.Output; /** * (Updatable) Metric Extension display name. */ readonly displayName: pulumi.Output; /** * List of resource details objects having resourceIds on which this metric extension is enabled. */ readonly enabledOnResources: pulumi.Output; /** * Count of resources on which this metric extension is enabled. */ readonly enabledOnResourcesCount: pulumi.Output; /** * Last updated by user */ readonly lastUpdatedBy: pulumi.Output; /** * (Updatable) List of metrics which are part of this metric extension */ readonly metricLists: pulumi.Output; /** * Metric Extension Resource name. */ readonly name: pulumi.Output; /** * (Updatable) An optional property when set to `true` triggers Publish of a metric extension. Once set to `true`, it cannot be changed back to `false`. Update of publishTrigger cannot be combined with other updates in the same request. A metric extension cannot be tested and its definition cannot be updated once it is marked published or publishTrigger is updated to `true`. * * ** 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 publishTrigger: pulumi.Output; /** * (Updatable) Collection method and query properties details of metric extension */ readonly queryProperties: pulumi.Output; /** * Resource type to which Metric Extension applies */ readonly resourceType: pulumi.Output; /** * The URI path that the user can do a GET on to access the metric extension metadata */ readonly resourceUri: pulumi.Output; /** * The current lifecycle state of the metric extension */ readonly state: pulumi.Output; /** * The current status of the metric extension i.e. whether it is Draft or Published */ readonly status: pulumi.Output; /** * Tenant Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) */ readonly tenantId: pulumi.Output; /** * Metric Extension creation time. An RFC3339 formatted datetime string. */ readonly timeCreated: pulumi.Output; /** * Metric Extension update time. An RFC3339 formatted datetime string. */ readonly timeUpdated: pulumi.Output; /** * Create a MetricExtension 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: MetricExtensionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MetricExtension resources. */ export interface MetricExtensionState { /** * Type of possible collection methods. */ collectionMethod?: pulumi.Input; /** * (Updatable) Schedule of metric extension should use RFC 5545 format i.e. recur-rule-part = "FREQ";INTERVAL where FREQ rule part identifies the type of recurrence rule. Valid values are "MINUTELY","HOURLY","DAILY" to specify repeating events based on an interval of a minute, an hour and a day or more. Example- FREQ=DAILY;INTERVAL=1 */ collectionRecurrences?: pulumi.Input; /** * (Updatable) Compartment Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) */ compartmentId?: pulumi.Input; /** * Created by user */ createdBy?: pulumi.Input; /** * (Updatable) Description of the metric extension. */ description?: pulumi.Input; /** * (Updatable) Metric Extension display name. */ displayName?: pulumi.Input; /** * List of resource details objects having resourceIds on which this metric extension is enabled. */ enabledOnResources?: pulumi.Input[] | undefined>; /** * Count of resources on which this metric extension is enabled. */ enabledOnResourcesCount?: pulumi.Input; /** * Last updated by user */ lastUpdatedBy?: pulumi.Input; /** * (Updatable) List of metrics which are part of this metric extension */ metricLists?: pulumi.Input[] | undefined>; /** * Metric Extension Resource name. */ name?: pulumi.Input; /** * (Updatable) An optional property when set to `true` triggers Publish of a metric extension. Once set to `true`, it cannot be changed back to `false`. Update of publishTrigger cannot be combined with other updates in the same request. A metric extension cannot be tested and its definition cannot be updated once it is marked published or publishTrigger is updated to `true`. * * ** 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 */ publishTrigger?: pulumi.Input; /** * (Updatable) Collection method and query properties details of metric extension */ queryProperties?: pulumi.Input; /** * Resource type to which Metric Extension applies */ resourceType?: pulumi.Input; /** * The URI path that the user can do a GET on to access the metric extension metadata */ resourceUri?: pulumi.Input; /** * The current lifecycle state of the metric extension */ state?: pulumi.Input; /** * The current status of the metric extension i.e. whether it is Draft or Published */ status?: pulumi.Input; /** * Tenant Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) */ tenantId?: pulumi.Input; /** * Metric Extension creation time. An RFC3339 formatted datetime string. */ timeCreated?: pulumi.Input; /** * Metric Extension update time. An RFC3339 formatted datetime string. */ timeUpdated?: pulumi.Input; } /** * The set of arguments for constructing a MetricExtension resource. */ export interface MetricExtensionArgs { /** * (Updatable) Schedule of metric extension should use RFC 5545 format i.e. recur-rule-part = "FREQ";INTERVAL where FREQ rule part identifies the type of recurrence rule. Valid values are "MINUTELY","HOURLY","DAILY" to specify repeating events based on an interval of a minute, an hour and a day or more. Example- FREQ=DAILY;INTERVAL=1 */ collectionRecurrences: pulumi.Input; /** * (Updatable) Compartment Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) */ compartmentId: pulumi.Input; /** * (Updatable) Description of the metric extension. */ description?: pulumi.Input; /** * (Updatable) Metric Extension display name. */ displayName: pulumi.Input; /** * (Updatable) List of metrics which are part of this metric extension */ metricLists: pulumi.Input[]>; /** * Metric Extension Resource name. */ name?: pulumi.Input; /** * (Updatable) An optional property when set to `true` triggers Publish of a metric extension. Once set to `true`, it cannot be changed back to `false`. Update of publishTrigger cannot be combined with other updates in the same request. A metric extension cannot be tested and its definition cannot be updated once it is marked published or publishTrigger is updated to `true`. * * ** 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 */ publishTrigger?: pulumi.Input; /** * (Updatable) Collection method and query properties details of metric extension */ queryProperties: pulumi.Input; /** * Resource type to which Metric Extension applies */ resourceType: pulumi.Input; } //# sourceMappingURL=metricExtension.d.ts.map