Class: AWSCDK::InternetMonitor::CfnMonitorProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::InternetMonitor::CfnMonitorProps
- Defined in:
- internet_monitor/cfn_monitor_props.rb
Overview
Properties for defining a CfnMonitor.
Instance Attribute Summary collapse
-
#health_events_config ⇒ AWSCDK::IResolvable, ...
readonly
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.
-
#include_linked_accounts ⇒ Boolean, ...
readonly
A boolean option that you can set to
TRUEto include monitors for linked accounts in a list of monitors, when you've set up cross-account sharing in Internet Monitor. -
#internet_measurements_log_delivery ⇒ AWSCDK::IResolvable, ...
readonly
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.
-
#linked_account_id ⇒ String?
readonly
The account ID for an account that you've set up cross-account sharing for in Internet Monitor.
-
#max_city_networks_to_monitor ⇒ Numeric?
readonly
The maximum number of city-networks to monitor for your resources.
-
#monitor_name ⇒ String
readonly
The name of the monitor.
-
#resources ⇒ Array<String>?
readonly
The resources that have been added for the monitor, listed by their Amazon Resource Names (ARNs).
-
#resources_to_add ⇒ Array<String>?
readonly
The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs).
-
#resources_to_remove ⇒ Array<String>?
readonly
The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs).
-
#status ⇒ String?
readonly
The status of a monitor.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
The tags for a monitor, listed as a set of key:value pairs.
-
#traffic_percentage_to_monitor ⇒ Numeric?
readonly
The percentage of the internet-facing traffic for your application that you want to monitor.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(monitor_name:, health_events_config: nil, include_linked_accounts: nil, internet_measurements_log_delivery: nil, linked_account_id: nil, max_city_networks_to_monitor: nil, resources: nil, resources_to_add: nil, resources_to_remove: nil, status: nil, tags: nil, traffic_percentage_to_monitor: nil) ⇒ CfnMonitorProps
constructor
A new instance of CfnMonitorProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(monitor_name:, health_events_config: nil, include_linked_accounts: nil, internet_measurements_log_delivery: nil, linked_account_id: nil, max_city_networks_to_monitor: nil, resources: nil, resources_to_add: nil, resources_to_remove: nil, status: nil, tags: nil, traffic_percentage_to_monitor: nil) ⇒ CfnMonitorProps
Returns a new instance of CfnMonitorProps.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'internet_monitor/cfn_monitor_props.rb', line 21 def initialize(monitor_name:, health_events_config: nil, include_linked_accounts: nil, internet_measurements_log_delivery: nil, linked_account_id: nil, max_city_networks_to_monitor: nil, resources: nil, resources_to_add: nil, resources_to_remove: nil, status: nil, tags: nil, traffic_percentage_to_monitor: nil) @monitor_name = monitor_name Jsii::Type.check_type(@monitor_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "monitorName") @health_events_config = health_events_config.is_a?(Hash) ? ::AWSCDK::InternetMonitor::CfnMonitor::HealthEventsConfigProperty.new(**health_events_config.transform_keys(&:to_sym)) : health_events_config Jsii::Type.check_type(@health_events_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pbnRlcm5ldG1vbml0b3IuQ2ZuTW9uaXRvci5IZWFsdGhFdmVudHNDb25maWdQcm9wZXJ0eSJ9XX19")), "healthEventsConfig") unless @health_events_config.nil? @include_linked_accounts = include_linked_accounts Jsii::Type.check_type(@include_linked_accounts, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "includeLinkedAccounts") unless @include_linked_accounts.nil? @internet_measurements_log_delivery = internet_measurements_log_delivery.is_a?(Hash) ? ::AWSCDK::InternetMonitor::CfnMonitor::InternetMeasurementsLogDeliveryProperty.new(**internet_measurements_log_delivery.transform_keys(&:to_sym)) : internet_measurements_log_delivery Jsii::Type.check_type(@internet_measurements_log_delivery, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pbnRlcm5ldG1vbml0b3IuQ2ZuTW9uaXRvci5JbnRlcm5ldE1lYXN1cmVtZW50c0xvZ0RlbGl2ZXJ5UHJvcGVydHkifV19fQ==")), "internetMeasurementsLogDelivery") unless @internet_measurements_log_delivery.nil? @linked_account_id = linked_account_id Jsii::Type.check_type(@linked_account_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "linkedAccountId") unless @linked_account_id.nil? @max_city_networks_to_monitor = max_city_networks_to_monitor Jsii::Type.check_type(@max_city_networks_to_monitor, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxCityNetworksToMonitor") unless @max_city_networks_to_monitor.nil? @resources = resources Jsii::Type.check_type(@resources, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "resources") unless @resources.nil? @resources_to_add = resources_to_add Jsii::Type.check_type(@resources_to_add, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "resourcesToAdd") unless @resources_to_add.nil? @resources_to_remove = resources_to_remove Jsii::Type.check_type(@resources_to_remove, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "resourcesToRemove") unless @resources_to_remove.nil? @status = status Jsii::Type.check_type(@status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "status") unless @status.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @traffic_percentage_to_monitor = traffic_percentage_to_monitor Jsii::Type.check_type(@traffic_percentage_to_monitor, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "trafficPercentageToMonitor") unless @traffic_percentage_to_monitor.nil? end |
Instance Attribute Details
#health_events_config ⇒ AWSCDK::IResolvable, ... (readonly)
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 in the Internet Monitor section of the CloudWatch User Guide .
69 70 71 |
# File 'internet_monitor/cfn_monitor_props.rb', line 69 def health_events_config @health_events_config end |
#include_linked_accounts ⇒ Boolean, ... (readonly)
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 in the Amazon CloudWatch User Guide.
76 77 78 |
# File 'internet_monitor/cfn_monitor_props.rb', line 76 def include_linked_accounts @include_linked_accounts end |
#internet_measurements_log_delivery ⇒ AWSCDK::IResolvable, ... (readonly)
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).
83 84 85 |
# File 'internet_monitor/cfn_monitor_props.rb', line 83 def internet_measurements_log_delivery @internet_measurements_log_delivery end |
#linked_account_id ⇒ String? (readonly)
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 in the Amazon CloudWatch User Guide.
90 91 92 |
# File 'internet_monitor/cfn_monitor_props.rb', line 90 def linked_account_id @linked_account_id end |
#max_city_networks_to_monitor ⇒ Numeric? (readonly)
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 .
99 100 101 |
# File 'internet_monitor/cfn_monitor_props.rb', line 99 def max_city_networks_to_monitor @max_city_networks_to_monitor end |
#monitor_name ⇒ String (readonly)
The name of the monitor.
A monitor name can contain only alphanumeric characters, dashes (-), periods (.), and underscores (_).
54 55 56 |
# File 'internet_monitor/cfn_monitor_props.rb', line 54 def monitor_name @monitor_name end |
#resources ⇒ Array<String>? (readonly)
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
Resourcesfield when you update a monitor, theResourcesToAddandResourcesToRemovefields must be empty.
108 109 110 |
# File 'internet_monitor/cfn_monitor_props.rb', line 108 def resources @resources end |
#resources_to_add ⇒ Array<String>? (readonly)
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
Resourcesfield is empty.
121 122 123 |
# File 'internet_monitor/cfn_monitor_props.rb', line 121 def resources_to_add @resources_to_add end |
#resources_to_remove ⇒ Array<String>? (readonly)
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
Resourcesfield is empty.
128 129 130 |
# File 'internet_monitor/cfn_monitor_props.rb', line 128 def resources_to_remove @resources_to_remove end |
#status ⇒ String? (readonly)
The status of a monitor.
The accepted values that you can specify for Status are ACTIVE and INACTIVE .
135 136 137 |
# File 'internet_monitor/cfn_monitor_props.rb', line 135 def status @status end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
The tags for a monitor, listed as a set of key:value pairs.
140 141 142 |
# File 'internet_monitor/cfn_monitor_props.rb', line 140 def @tags end |
#traffic_percentage_to_monitor ⇒ Numeric? (readonly)
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.
147 148 149 |
# File 'internet_monitor/cfn_monitor_props.rb', line 147 def traffic_percentage_to_monitor @traffic_percentage_to_monitor end |
Class Method Details
.jsii_properties ⇒ Object
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
# File 'internet_monitor/cfn_monitor_props.rb', line 149 def self.jsii_properties { :monitor_name => "monitorName", :health_events_config => "healthEventsConfig", :include_linked_accounts => "includeLinkedAccounts", :internet_measurements_log_delivery => "internetMeasurementsLogDelivery", :linked_account_id => "linkedAccountId", :max_city_networks_to_monitor => "maxCityNetworksToMonitor", :resources => "resources", :resources_to_add => "resourcesToAdd", :resources_to_remove => "resourcesToRemove", :status => "status", :tags => "tags", :traffic_percentage_to_monitor => "trafficPercentageToMonitor", } end |
Instance Method Details
#to_jsii ⇒ Object
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
# File 'internet_monitor/cfn_monitor_props.rb', line 166 def to_jsii result = {} result.merge!({ "monitorName" => @monitor_name, "healthEventsConfig" => @health_events_config, "includeLinkedAccounts" => @include_linked_accounts, "internetMeasurementsLogDelivery" => @internet_measurements_log_delivery, "linkedAccountId" => @linked_account_id, "maxCityNetworksToMonitor" => @max_city_networks_to_monitor, "resources" => @resources, "resourcesToAdd" => @resources_to_add, "resourcesToRemove" => @resources_to_remove, "status" => @status, "tags" => @tags, "trafficPercentageToMonitor" => @traffic_percentage_to_monitor, }) result.compact end |