Class: AWSCDK::RUM::CfnAppMonitorProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
rum/cfn_app_monitor_props.rb

Overview

Properties for defining a CfnAppMonitor.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, app_monitor_configuration: nil, custom_events: nil, cw_log_enabled: nil, deobfuscation_configuration: nil, domain: nil, domain_list: nil, platform: nil, resource_policy: nil, tags: nil) ⇒ CfnAppMonitorProps

Returns a new instance of CfnAppMonitorProps.

Parameters:



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'rum/cfn_app_monitor_props.rb', line 19

def initialize(name:, app_monitor_configuration: nil, custom_events: nil, cw_log_enabled: nil, deobfuscation_configuration: nil, domain: nil, domain_list: nil, platform: nil, resource_policy: nil, tags: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @app_monitor_configuration = app_monitor_configuration.is_a?(Hash) ? ::AWSCDK::RUM::CfnAppMonitor::AppMonitorConfigurationProperty.new(**app_monitor_configuration.transform_keys(&:to_sym)) : app_monitor_configuration
  Jsii::Type.check_type(@app_monitor_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ydW0uQ2ZuQXBwTW9uaXRvci5BcHBNb25pdG9yQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "appMonitorConfiguration") unless @app_monitor_configuration.nil?
  @custom_events = custom_events.is_a?(Hash) ? ::AWSCDK::RUM::CfnAppMonitor::CustomEventsProperty.new(**custom_events.transform_keys(&:to_sym)) : custom_events
  Jsii::Type.check_type(@custom_events, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ydW0uQ2ZuQXBwTW9uaXRvci5DdXN0b21FdmVudHNQcm9wZXJ0eSJ9XX19")), "customEvents") unless @custom_events.nil?
  @cw_log_enabled = cw_log_enabled
  Jsii::Type.check_type(@cw_log_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "cwLogEnabled") unless @cw_log_enabled.nil?
  @deobfuscation_configuration = deobfuscation_configuration.is_a?(Hash) ? ::AWSCDK::RUM::CfnAppMonitor::DeobfuscationConfigurationProperty.new(**deobfuscation_configuration.transform_keys(&:to_sym)) : deobfuscation_configuration
  Jsii::Type.check_type(@deobfuscation_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ydW0uQ2ZuQXBwTW9uaXRvci5EZW9iZnVzY2F0aW9uQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "deobfuscationConfiguration") unless @deobfuscation_configuration.nil?
  @domain = domain
  Jsii::Type.check_type(@domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domain") unless @domain.nil?
  @domain_list = domain_list
  Jsii::Type.check_type(@domain_list, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "domainList") unless @domain_list.nil?
  @platform = platform
  Jsii::Type.check_type(@platform, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "platform") unless @platform.nil?
  @resource_policy = resource_policy.is_a?(Hash) ? ::AWSCDK::RUM::CfnAppMonitor::ResourcePolicyProperty.new(**resource_policy.transform_keys(&:to_sym)) : resource_policy
  Jsii::Type.check_type(@resource_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ydW0uQ2ZuQXBwTW9uaXRvci5SZXNvdXJjZVBvbGljeVByb3BlcnR5In1dfX0=")), "resourcePolicy") unless @resource_policy.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#app_monitor_configurationAWSCDK::IResolvable, ... (readonly)

A structure that contains much of the configuration data for the app monitor.

If you are using Amazon Cognito for authorization, you must include this structure in your request, and it must include the ID of the Amazon Cognito identity pool to use for authorization. If you don't include AppMonitorConfiguration , you must set up your own authorization method. For more information, see Authorize your application to send data to AWS .

If you omit this argument, the sample rate used for CloudWatch RUM is set to 10% of the user sessions.



57
58
59
# File 'rum/cfn_app_monitor_props.rb', line 57

def app_monitor_configuration
  @app_monitor_configuration
end

#custom_eventsAWSCDK::IResolvable, ... (readonly)

Specifies whether this app monitor allows the web client to define and send custom events.

If you omit this parameter, custom events are DISABLED .



64
65
66
# File 'rum/cfn_app_monitor_props.rb', line 64

def custom_events
  @custom_events
end

#cw_log_enabledBoolean, ... (readonly)

Data collected by CloudWatch RUM is kept by RUM for 30 days and then deleted.

This parameter specifies whether CloudWatch RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges.

If you omit this parameter, the default is false .



73
74
75
# File 'rum/cfn_app_monitor_props.rb', line 73

def cw_log_enabled
  @cw_log_enabled
end

#deobfuscation_configurationAWSCDK::IResolvable, ... (readonly)

A structure that contains the configuration for how an app monitor can deobfuscate stack traces.



78
79
80
# File 'rum/cfn_app_monitor_props.rb', line 78

def deobfuscation_configuration
  @deobfuscation_configuration
end

#domainString? (readonly)

The top-level internet domain name for which your application has administrative authority.

This parameter or the DomainList parameter is required.



85
86
87
# File 'rum/cfn_app_monitor_props.rb', line 85

def domain
  @domain
end

#domain_listArray<String>? (readonly)

List the domain names for which your application has administrative authority. This parameter or the Domain parameter is required.

You can have a minimum of 1 and a maximum of 5 Domain under DomainList . Each Domain must be a minimum length of 1 and a maximum of 253 characters.



92
93
94
# File 'rum/cfn_app_monitor_props.rb', line 92

def domain_list
  @domain_list
end

#nameString (readonly)

A name for the app monitor.

This parameter is required.



48
49
50
# File 'rum/cfn_app_monitor_props.rb', line 48

def name
  @name
end

#platformString? (readonly)



95
96
97
# File 'rum/cfn_app_monitor_props.rb', line 95

def platform
  @platform
end

#resource_policyAWSCDK::IResolvable, ... (readonly)

Use this structure to assign a resource-based policy to a CloudWatch RUM app monitor to control access to it.

Each app monitor can have one resource-based policy. The maximum size of the policy is 4 KB. To learn more about using resource policies with RUM, see Using resource-based policies with CloudWatch RUM .



102
103
104
# File 'rum/cfn_app_monitor_props.rb', line 102

def resource_policy
  @resource_policy
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Assigns one or more tags (key-value pairs) to the app monitor.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can associate as many as 50 tags with an app monitor.

For more information, see Tagging AWS resources .



115
116
117
# File 'rum/cfn_app_monitor_props.rb', line 115

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'rum/cfn_app_monitor_props.rb', line 117

def self.jsii_properties
  {
    :name => "name",
    :app_monitor_configuration => "appMonitorConfiguration",
    :custom_events => "customEvents",
    :cw_log_enabled => "cwLogEnabled",
    :deobfuscation_configuration => "deobfuscationConfiguration",
    :domain => "domain",
    :domain_list => "domainList",
    :platform => "platform",
    :resource_policy => "resourcePolicy",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'rum/cfn_app_monitor_props.rb', line 132

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "appMonitorConfiguration" => @app_monitor_configuration,
    "customEvents" => @custom_events,
    "cwLogEnabled" => @cw_log_enabled,
    "deobfuscationConfiguration" => @deobfuscation_configuration,
    "domain" => @domain,
    "domainList" => @domain_list,
    "platform" => @platform,
    "resourcePolicy" => @resource_policy,
    "tags" => @tags,
  })
  result.compact
end