import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * A custom metric published by your devices to Device Defender. * * ## Example Usage * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const batteryPercentageMetric = new aws_native.iot.CustomMetric("batteryPercentageMetric", { * metricName: "batteryPercentage", * displayName: "Remaining battery percentage", * metricType: aws_native.iot.CustomMetricMetricType.Number, * }); * * ``` */ export declare class CustomMetric extends pulumi.CustomResource { /** * Get an existing CustomMetric 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): CustomMetric; /** * Returns true if the given object is an instance of CustomMetric. 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 CustomMetric; /** * Field represents a friendly name in the console for the custom metric; it doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. Can be updated once defined. */ readonly displayName: pulumi.Output; /** * The Amazon Resource Number (ARN) of the custom metric. */ readonly metricArn: pulumi.Output; /** * The name of the custom metric. This will be used in the metric report submitted from the device/thing. Shouldn't begin with aws: . Cannot be updated once defined. */ readonly metricName: pulumi.Output; /** * The type of the custom metric. Types include string-list, ip-address-list, number-list, and number. */ readonly metricType: pulumi.Output; /** * An array of key-value pairs to apply to this resource. */ readonly tags: pulumi.Output; /** * Create a CustomMetric 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: CustomMetricArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a CustomMetric resource. */ export interface CustomMetricArgs { /** * Field represents a friendly name in the console for the custom metric; it doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. Can be updated once defined. */ displayName?: pulumi.Input; /** * The name of the custom metric. This will be used in the metric report submitted from the device/thing. Shouldn't begin with aws: . Cannot be updated once defined. */ metricName?: pulumi.Input; /** * The type of the custom metric. Types include string-list, ip-address-list, number-list, and number. */ metricType: pulumi.Input; /** * An array of key-value pairs to apply to this resource. */ tags?: pulumi.Input[]>; }