java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:57.481Z") @Stability(Stable) public class CfnMonitor extends CfnResource implements IInspectable
A CloudFormation AWS::InternetMonitor::Monitor.

The AWS::InternetMonitor::Monitor resource is an Internet Monitor resource type that contains information about how you create a monitor in Amazon CloudWatch Internet Monitor. A monitor in Internet Monitor provides visibility into performance and availability between your applications hosted on AWS and your end users, using a traffic profile that it creates based on the application resources that you add: Virtual Private Clouds (VPCs), Amazon CloudFront distributions, or WorkSpaces directories.

Internet Monitor also alerts you to internet issues that impact your application in the city-networks (geographies and networks) where your end users use it. With Internet Monitor, you can quickly pinpoint the locations and providers that are affected, so that you can address the issue.

For more information, see Using Amazon CloudWatch Internet Monitor in the Amazon CloudWatch User Guide .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.internetmonitor.*;
 CfnMonitor cfnMonitor = CfnMonitor.Builder.create(this, "MyCfnMonitor")
         .monitorName("monitorName")
         // the properties below are optional
         .internetMeasurementsLogDelivery(InternetMeasurementsLogDeliveryProperty.builder()
                 .s3Config(S3ConfigProperty.builder()
                         .bucketName("bucketName")
                         .bucketPrefix("bucketPrefix")
                         .logDeliveryStatus("logDeliveryStatus")
                         .build())
                 .build())
         .maxCityNetworksToMonitor(123)
         .resources(List.of("resources"))
         .resourcesToAdd(List.of("resourcesToAdd"))
         .resourcesToRemove(List.of("resourcesToRemove"))
         .status("status")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .trafficPercentageToMonitor(123)
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnMonitor

      protected CfnMonitor(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnMonitor

      protected CfnMonitor(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnMonitor

      @Stability(Stable) public CfnMonitor(@NotNull Construct scope, @NotNull String id, @NotNull CfnMonitorProps props)
      Create a new AWS::InternetMonitor::Monitor.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrCreatedAt

      @Stability(Stable) @NotNull public String getAttrCreatedAt()
      The time when the monitor was created.
    • getAttrModifiedAt

      @Stability(Stable) @NotNull public String getAttrModifiedAt()
      The last time that the monitor was modified.
    • getAttrMonitorArn

      @Stability(Stable) @NotNull public String getAttrMonitorArn()
      The Amazon Resource Name (ARN) of the monitor.
    • getAttrProcessingStatus

      @Stability(Stable) @NotNull public String getAttrProcessingStatus()
      The health of data processing for the monitor.

      For more information, see ProcessingStatus under MonitorListMember in the Amazon CloudWatch Internet Monitor API Reference .

    • getAttrProcessingStatusInfo

      @Stability(Stable) @NotNull public String getAttrProcessingStatusInfo()
      Additional information about the health of the data processing for the monitor.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      The tags for a monitor, listed as a set of key:value pairs.
    • getMonitorName

      @Stability(Stable) @NotNull public String getMonitorName()
      The name of the monitor.

      A monitor name can contain only alphanumeric characters, dashes (-), periods (.), and underscores (_).

    • setMonitorName

      @Stability(Stable) public void setMonitorName(@NotNull String value)
      The name of the monitor.

      A monitor name can contain only alphanumeric characters, dashes (-), periods (.), and underscores (_).

    • getInternetMeasurementsLogDelivery

      @Stability(Stable) @Nullable public Object getInternetMeasurementsLogDelivery()
      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).

    • setInternetMeasurementsLogDelivery

      @Stability(Stable) public void setInternetMeasurementsLogDelivery(@Nullable CfnMonitor.InternetMeasurementsLogDeliveryProperty value)
      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).

    • setInternetMeasurementsLogDelivery

      @Stability(Stable) public void setInternetMeasurementsLogDelivery(@Nullable IResolvable value)
      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).

    • getMaxCityNetworksToMonitor

      @Stability(Stable) @Nullable public Number getMaxCityNetworksToMonitor()
      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 in Using Amazon CloudWatch Internet Monitor .

    • setMaxCityNetworksToMonitor

      @Stability(Stable) public void setMaxCityNetworksToMonitor(@Nullable Number value)
      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 in Using Amazon CloudWatch Internet Monitor .

    • getResources

      @Stability(Stable) @Nullable public List<String> getResources()
      The resources that have been added for the monitor, listed by their Amazon Resource Names (ARNs).
    • setResources

      @Stability(Stable) public void setResources(@Nullable List<String> value)
      The resources that have been added for the monitor, listed by their Amazon Resource Names (ARNs).
    • getResourcesToAdd

      @Stability(Stable) @Nullable public List<String> getResourcesToAdd()
      The resources to add to a monitor, which you provide as a set of Amazon Resource Names (ARNs).

      You can add a combination of Virtual Private Clouds (VPCs) and Amazon CloudFront distributions, or you can add WorkSpaces directories. You can't add all three types of 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.

    • setResourcesToAdd

      @Stability(Stable) public void setResourcesToAdd(@Nullable List<String> value)
      The resources to add to a monitor, which you provide as a set of Amazon Resource Names (ARNs).

      You can add a combination of Virtual Private Clouds (VPCs) and Amazon CloudFront distributions, or you can add WorkSpaces directories. You can't add all three types of 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.

    • getResourcesToRemove

      @Stability(Stable) @Nullable public List<String> getResourcesToRemove()
      The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs).
    • setResourcesToRemove

      @Stability(Stable) public void setResourcesToRemove(@Nullable List<String> value)
      The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs).
    • getStatus

      @Stability(Stable) @Nullable public String getStatus()
      The status of a monitor.

      The accepted values that you can specify for Status are ACTIVE and INACTIVE .

    • setStatus

      @Stability(Stable) public void setStatus(@Nullable String value)
      The status of a monitor.

      The accepted values that you can specify for Status are ACTIVE and INACTIVE .

    • getTrafficPercentageToMonitor

      @Stability(Stable) @Nullable public Number getTrafficPercentageToMonitor()
      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.

    • setTrafficPercentageToMonitor

      @Stability(Stable) public void setTrafficPercentageToMonitor(@Nullable Number value)
      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.