UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

197 lines (196 loc) • 14.9 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * Represents a monitor, which defines the monitoring boundaries for measurements that Internet Monitor publishes information about for an application */ export declare class Monitor extends pulumi.CustomResource { /** * Get an existing Monitor 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<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Monitor; /** * Returns true if the given object is an instance of Monitor. 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 Monitor; /** * The time when the monitor was created. */ readonly createdAt: pulumi.Output<string>; /** * A complex type with the configuration information that determines the threshold and other conditions for when Internet Monitor creates a health event for an overall performance or availability issue, across an application's geographies. * * Defines the percentages, for overall performance scores and availability scores for an application, that are the thresholds for when Internet Monitor creates a health event. You can override the defaults to set a custom threshold for overall performance or availability scores, or both. * * You can also set thresholds for local health scores,, where Internet Monitor creates a health event when scores cross a threshold for one or more city-networks, in addition to creating an event when an overall score crosses a threshold. * * If you don't set a health event threshold, the default value is 95%. * * For local thresholds, you also set a minimum percentage of overall traffic that is impacted by an issue before Internet Monitor creates an event. In addition, you can disable local thresholds, for performance scores, availability scores, or both. * * For more information, see [Change health event thresholds](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) in the Internet Monitor section of the *CloudWatch User Guide* . */ readonly healthEventsConfig: pulumi.Output<outputs.internetmonitor.MonitorHealthEventsConfig | undefined>; /** * A boolean option that you can set to `TRUE` to include monitors for linked accounts in a list of monitors, when you've set up cross-account sharing in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide. */ readonly includeLinkedAccounts: pulumi.Output<boolean | undefined>; /** * Publish internet measurements for a monitor for all city-networks (up to the 500,000 service limit) to another location, such as an Amazon S3 bucket. Measurements are also published to Amazon CloudWatch Logs for the first 500 (by traffic volume) city-networks (client locations and ASNs, typically internet service providers or ISPs). */ readonly internetMeasurementsLogDelivery: pulumi.Output<outputs.internetmonitor.MonitorInternetMeasurementsLogDelivery | undefined>; /** * The account ID for an account that you've set up cross-account sharing for in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide. */ readonly linkedAccountId: pulumi.Output<string | undefined>; /** * The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network, such as an internet service provider, that clients access the resources through. * * For more information, see [Choosing a city-network maximum value](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMCityNetworksMaximum.html) in *Using Amazon CloudWatch Internet Monitor* . */ readonly maxCityNetworksToMonitor: pulumi.Output<number | undefined>; /** * The last time that the monitor was modified. */ readonly modifiedAt: pulumi.Output<string>; /** * The Amazon Resource Name (ARN) of the monitor. */ readonly monitorArn: pulumi.Output<string>; /** * The name of the monitor. A monitor name can contain only alphanumeric characters, dashes (-), periods (.), and underscores (_). */ readonly monitorName: pulumi.Output<string>; /** * The health of data processing for the monitor. For more information, see `ProcessingStatus` under [MonitorListMember](https://docs.aws.amazon.com/internet-monitor/latest/api/API_MonitorListMember.html) in the *Amazon CloudWatch Internet Monitor API Reference* . */ readonly processingStatus: pulumi.Output<enums.internetmonitor.MonitorProcessingStatusCode>; /** * Additional information about the health of the data processing for the monitor. */ readonly processingStatusInfo: pulumi.Output<string>; /** * The resources that have been added for the monitor, listed by their Amazon Resource Names (ARNs). Use this option to add or remove resources when making an update. * * > Be aware that if you include content in the `Resources` field when you update a monitor, the `ResourcesToAdd` and `ResourcesToRemove` fields must be empty. */ readonly resources: pulumi.Output<string[] | undefined>; /** * The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs). Resources can be Amazon Virtual Private Cloud VPCs, Network Load Balancers (NLBs), Amazon CloudFront distributions, or Amazon WorkSpaces directories. * * You can add a combination of VPCs and CloudFront distributions, or you can add WorkSpaces directories, or you can add NLBs. You can't add NLBs or WorkSpaces directories together with any other resources. * * If you add only VPC resources, at least one VPC must have an Internet Gateway attached to it, to make sure that it has internet connectivity. * * > You can specify this field for a monitor update only if the `Resources` field is empty. */ readonly resourcesToAdd: pulumi.Output<string[] | undefined>; /** * The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs) * * > You can specify this field for a monitor update only if the `Resources` field is empty. */ readonly resourcesToRemove: pulumi.Output<string[] | undefined>; /** * The status of a monitor. The accepted values that you can specify for `Status` are `ACTIVE` and `INACTIVE` . */ readonly status: pulumi.Output<enums.internetmonitor.MonitorConfigState | undefined>; /** * The tags for a monitor, listed as a set of *key:value* pairs. */ readonly tags: pulumi.Output<outputs.Tag[] | undefined>; /** * The percentage of the internet-facing traffic for your application that you want to monitor. You can also, optionally, set a limit for the number of city-networks (client locations and ASNs, typically internet service providers) that Internet Monitor will monitor traffic for. The city-networks maximum limit caps the number of city-networks that Internet Monitor monitors for your application, regardless of the percentage of traffic that you choose to monitor. */ readonly trafficPercentageToMonitor: pulumi.Output<number | undefined>; /** * Create a Monitor 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?: MonitorArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Monitor resource. */ export interface MonitorArgs { /** * A complex type with the configuration information that determines the threshold and other conditions for when Internet Monitor creates a health event for an overall performance or availability issue, across an application's geographies. * * Defines the percentages, for overall performance scores and availability scores for an application, that are the thresholds for when Internet Monitor creates a health event. You can override the defaults to set a custom threshold for overall performance or availability scores, or both. * * You can also set thresholds for local health scores,, where Internet Monitor creates a health event when scores cross a threshold for one or more city-networks, in addition to creating an event when an overall score crosses a threshold. * * If you don't set a health event threshold, the default value is 95%. * * For local thresholds, you also set a minimum percentage of overall traffic that is impacted by an issue before Internet Monitor creates an event. In addition, you can disable local thresholds, for performance scores, availability scores, or both. * * For more information, see [Change health event thresholds](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-overview.html#IMUpdateThresholdFromOverview) in the Internet Monitor section of the *CloudWatch User Guide* . */ healthEventsConfig?: pulumi.Input<inputs.internetmonitor.MonitorHealthEventsConfigArgs>; /** * A boolean option that you can set to `TRUE` to include monitors for linked accounts in a list of monitors, when you've set up cross-account sharing in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide. */ includeLinkedAccounts?: pulumi.Input<boolean>; /** * Publish internet measurements for a monitor for all city-networks (up to the 500,000 service limit) to another location, such as an Amazon S3 bucket. Measurements are also published to Amazon CloudWatch Logs for the first 500 (by traffic volume) city-networks (client locations and ASNs, typically internet service providers or ISPs). */ internetMeasurementsLogDelivery?: pulumi.Input<inputs.internetmonitor.MonitorInternetMeasurementsLogDeliveryArgs>; /** * The account ID for an account that you've set up cross-account sharing for in Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see [Internet Monitor cross-account observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html) in the Amazon CloudWatch User Guide. */ linkedAccountId?: pulumi.Input<string>; /** * The maximum number of city-networks to monitor for your resources. A city-network is the location (city) where clients access your application resources from and the network, such as an internet service provider, that clients access the resources through. * * For more information, see [Choosing a city-network maximum value](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/IMCityNetworksMaximum.html) in *Using Amazon CloudWatch Internet Monitor* . */ maxCityNetworksToMonitor?: pulumi.Input<number>; /** * The name of the monitor. A monitor name can contain only alphanumeric characters, dashes (-), periods (.), and underscores (_). */ monitorName?: pulumi.Input<string>; /** * The resources that have been added for the monitor, listed by their Amazon Resource Names (ARNs). Use this option to add or remove resources when making an update. * * > Be aware that if you include content in the `Resources` field when you update a monitor, the `ResourcesToAdd` and `ResourcesToRemove` fields must be empty. */ resources?: pulumi.Input<pulumi.Input<string>[]>; /** * The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs). Resources can be Amazon Virtual Private Cloud VPCs, Network Load Balancers (NLBs), Amazon CloudFront distributions, or Amazon WorkSpaces directories. * * You can add a combination of VPCs and CloudFront distributions, or you can add WorkSpaces directories, or you can add NLBs. You can't add NLBs or WorkSpaces directories together with any other resources. * * If you add only VPC resources, at least one VPC must have an Internet Gateway attached to it, to make sure that it has internet connectivity. * * > You can specify this field for a monitor update only if the `Resources` field is empty. */ resourcesToAdd?: pulumi.Input<pulumi.Input<string>[]>; /** * The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs) * * > You can specify this field for a monitor update only if the `Resources` field is empty. */ resourcesToRemove?: pulumi.Input<pulumi.Input<string>[]>; /** * The status of a monitor. The accepted values that you can specify for `Status` are `ACTIVE` and `INACTIVE` . */ status?: pulumi.Input<enums.internetmonitor.MonitorConfigState>; /** * The tags for a monitor, listed as a set of *key:value* pairs. */ tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>; /** * The percentage of the internet-facing traffic for your application that you want to monitor. You can also, optionally, set a limit for the number of city-networks (client locations and ASNs, typically internet service providers) that Internet Monitor will monitor traffic for. The city-networks maximum limit caps the number of city-networks that Internet Monitor monitors for your application, regardless of the percentage of traffic that you choose to monitor. */ trafficPercentageToMonitor?: pulumi.Input<number>; }