awsapplicationinsights

package
v1.153.1-devpreview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnApplication_CFN_RESOURCE_TYPE_NAME

func CfnApplication_CFN_RESOURCE_TYPE_NAME() *string

func CfnApplication_IsCfnElement

func CfnApplication_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnApplication_IsCfnResource

func CfnApplication_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnApplication_IsConstruct

func CfnApplication_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func NewCfnApplication_Override

func NewCfnApplication_Override(c CfnApplication, scope awscdk.Construct, id *string, props *CfnApplicationProps)

Create a new `AWS::ApplicationInsights::Application`.

Types

type CfnApplication

type CfnApplication interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Returns the Amazon Resource Name (ARN) of the application, such as `arn:aws:applicationinsights:us-east-1:123456789012:application/resource-group/my_resource_group` .
	AttrApplicationArn() *string
	// If set to `true` , the application components will be configured with the monitoring configuration recommended by Application Insights.
	AutoConfigurationEnabled() interface{}
	SetAutoConfigurationEnabled(val interface{})
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// The monitoring settings of the components.
	ComponentMonitoringSettings() interface{}
	SetComponentMonitoringSettings(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// Describes a custom component by grouping similar standalone instances to monitor.
	CustomComponents() interface{}
	SetCustomComponents(val interface{})
	// Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as `instance terminated` , `failed deployment` , and others.
	CweMonitorEnabled() interface{}
	SetCweMonitorEnabled(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The log pattern sets.
	LogPatternSets() interface{}
	SetLogPatternSets(val interface{})
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// Indicates whether Application Insights will create OpsItems for any problem that is detected by Application Insights for an application.
	OpsCenterEnabled() interface{}
	SetOpsCenterEnabled(val interface{})
	// The SNS topic provided to Application Insights that is associated with the created OpsItems to receive SNS notifications for opsItem updates.
	OpsItemSnsTopicArn() *string
	SetOpsItemSnsTopicArn(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// The name of the resource group used for the application.
	ResourceGroupName() *string
	SetResourceGroupName(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// An array of `Tags` .
	Tags() awscdk.TagManager
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::ApplicationInsights::Application`.

The `AWS::ApplicationInsights::Application` resource adds an application that is created from a resource group.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
cfnApplication := applicationinsights.NewCfnApplication(this, jsii.String("MyCfnApplication"), &cfnApplicationProps{
	resourceGroupName: jsii.String("resourceGroupName"),

	// the properties below are optional
	autoConfigurationEnabled: jsii.Boolean(false),
	componentMonitoringSettings: []interface{}{
		&componentMonitoringSettingProperty{
			componentConfigurationMode: jsii.String("componentConfigurationMode"),
			tier: jsii.String("tier"),

			// the properties below are optional
			componentArn: jsii.String("componentArn"),
			componentName: jsii.String("componentName"),
			customComponentConfiguration: &componentConfigurationProperty{
				configurationDetails: &configurationDetailsProperty{
					alarmMetrics: []interface{}{
						&alarmMetricProperty{
							alarmMetricName: jsii.String("alarmMetricName"),
						},
					},
					alarms: []interface{}{
						&alarmProperty{
							alarmName: jsii.String("alarmName"),

							// the properties below are optional
							severity: jsii.String("severity"),
						},
					},
					haClusterPrometheusExporter: &hAClusterPrometheusExporterProperty{
						prometheusPort: jsii.String("prometheusPort"),
					},
					hanaPrometheusExporter: &hANAPrometheusExporterProperty{
						agreeToInstallHanadbClient: jsii.Boolean(false),
						hanaPort: jsii.String("hanaPort"),
						hanaSecretName: jsii.String("hanaSecretName"),
						hanasid: jsii.String("hanasid"),

						// the properties below are optional
						prometheusPort: jsii.String("prometheusPort"),
					},
					jmxPrometheusExporter: &jMXPrometheusExporterProperty{
						hostPort: jsii.String("hostPort"),
						jmxurl: jsii.String("jmxurl"),
						prometheusPort: jsii.String("prometheusPort"),
					},
					logs: []interface{}{
						&logProperty{
							logType: jsii.String("logType"),

							// the properties below are optional
							encoding: jsii.String("encoding"),
							logGroupName: jsii.String("logGroupName"),
							logPath: jsii.String("logPath"),
							patternSet: jsii.String("patternSet"),
						},
					},
					windowsEvents: []interface{}{
						&windowsEventProperty{
							eventLevels: []*string{
								jsii.String("eventLevels"),
							},
							eventName: jsii.String("eventName"),
							logGroupName: jsii.String("logGroupName"),

							// the properties below are optional
							patternSet: jsii.String("patternSet"),
						},
					},
				},
				subComponentTypeConfigurations: []interface{}{
					&subComponentTypeConfigurationProperty{
						subComponentConfigurationDetails: &subComponentConfigurationDetailsProperty{
							alarmMetrics: []interface{}{
								&alarmMetricProperty{
									alarmMetricName: jsii.String("alarmMetricName"),
								},
							},
							logs: []interface{}{
								&logProperty{
									logType: jsii.String("logType"),

									// the properties below are optional
									encoding: jsii.String("encoding"),
									logGroupName: jsii.String("logGroupName"),
									logPath: jsii.String("logPath"),
									patternSet: jsii.String("patternSet"),
								},
							},
							windowsEvents: []interface{}{
								&windowsEventProperty{
									eventLevels: []*string{
										jsii.String("eventLevels"),
									},
									eventName: jsii.String("eventName"),
									logGroupName: jsii.String("logGroupName"),

									// the properties below are optional
									patternSet: jsii.String("patternSet"),
								},
							},
						},
						subComponentType: jsii.String("subComponentType"),
					},
				},
			},
			defaultOverwriteComponentConfiguration: &componentConfigurationProperty{
				configurationDetails: &configurationDetailsProperty{
					alarmMetrics: []interface{}{
						&alarmMetricProperty{
							alarmMetricName: jsii.String("alarmMetricName"),
						},
					},
					alarms: []interface{}{
						&alarmProperty{
							alarmName: jsii.String("alarmName"),

							// the properties below are optional
							severity: jsii.String("severity"),
						},
					},
					haClusterPrometheusExporter: &hAClusterPrometheusExporterProperty{
						prometheusPort: jsii.String("prometheusPort"),
					},
					hanaPrometheusExporter: &hANAPrometheusExporterProperty{
						agreeToInstallHanadbClient: jsii.Boolean(false),
						hanaPort: jsii.String("hanaPort"),
						hanaSecretName: jsii.String("hanaSecretName"),
						hanasid: jsii.String("hanasid"),

						// the properties below are optional
						prometheusPort: jsii.String("prometheusPort"),
					},
					jmxPrometheusExporter: &jMXPrometheusExporterProperty{
						hostPort: jsii.String("hostPort"),
						jmxurl: jsii.String("jmxurl"),
						prometheusPort: jsii.String("prometheusPort"),
					},
					logs: []interface{}{
						&logProperty{
							logType: jsii.String("logType"),

							// the properties below are optional
							encoding: jsii.String("encoding"),
							logGroupName: jsii.String("logGroupName"),
							logPath: jsii.String("logPath"),
							patternSet: jsii.String("patternSet"),
						},
					},
					windowsEvents: []interface{}{
						&windowsEventProperty{
							eventLevels: []*string{
								jsii.String("eventLevels"),
							},
							eventName: jsii.String("eventName"),
							logGroupName: jsii.String("logGroupName"),

							// the properties below are optional
							patternSet: jsii.String("patternSet"),
						},
					},
				},
				subComponentTypeConfigurations: []interface{}{
					&subComponentTypeConfigurationProperty{
						subComponentConfigurationDetails: &subComponentConfigurationDetailsProperty{
							alarmMetrics: []interface{}{
								&alarmMetricProperty{
									alarmMetricName: jsii.String("alarmMetricName"),
								},
							},
							logs: []interface{}{
								&logProperty{
									logType: jsii.String("logType"),

									// the properties below are optional
									encoding: jsii.String("encoding"),
									logGroupName: jsii.String("logGroupName"),
									logPath: jsii.String("logPath"),
									patternSet: jsii.String("patternSet"),
								},
							},
							windowsEvents: []interface{}{
								&windowsEventProperty{
									eventLevels: []*string{
										jsii.String("eventLevels"),
									},
									eventName: jsii.String("eventName"),
									logGroupName: jsii.String("logGroupName"),

									// the properties below are optional
									patternSet: jsii.String("patternSet"),
								},
							},
						},
						subComponentType: jsii.String("subComponentType"),
					},
				},
			},
		},
	},
	customComponents: []interface{}{
		&customComponentProperty{
			componentName: jsii.String("componentName"),
			resourceList: []*string{
				jsii.String("resourceList"),
			},
		},
	},
	cweMonitorEnabled: jsii.Boolean(false),
	logPatternSets: []interface{}{
		&logPatternSetProperty{
			logPatterns: []interface{}{
				&logPatternProperty{
					pattern: jsii.String("pattern"),
					patternName: jsii.String("patternName"),
					rank: jsii.Number(123),
				},
			},
			patternSetName: jsii.String("patternSetName"),
		},
	},
	opsCenterEnabled: jsii.Boolean(false),
	opsItemSnsTopicArn: jsii.String("opsItemSnsTopicArn"),
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
})

func NewCfnApplication

func NewCfnApplication(scope awscdk.Construct, id *string, props *CfnApplicationProps) CfnApplication

Create a new `AWS::ApplicationInsights::Application`.

type CfnApplicationProps

type CfnApplicationProps struct {
	// The name of the resource group used for the application.
	ResourceGroupName *string `json:"resourceGroupName" yaml:"resourceGroupName"`
	// If set to `true` , the application components will be configured with the monitoring configuration recommended by Application Insights.
	AutoConfigurationEnabled interface{} `json:"autoConfigurationEnabled" yaml:"autoConfigurationEnabled"`
	// The monitoring settings of the components.
	ComponentMonitoringSettings interface{} `json:"componentMonitoringSettings" yaml:"componentMonitoringSettings"`
	// Describes a custom component by grouping similar standalone instances to monitor.
	CustomComponents interface{} `json:"customComponents" yaml:"customComponents"`
	// Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as `instance terminated` , `failed deployment` , and others.
	CweMonitorEnabled interface{} `json:"cweMonitorEnabled" yaml:"cweMonitorEnabled"`
	// The log pattern sets.
	LogPatternSets interface{} `json:"logPatternSets" yaml:"logPatternSets"`
	// Indicates whether Application Insights will create OpsItems for any problem that is detected by Application Insights for an application.
	OpsCenterEnabled interface{} `json:"opsCenterEnabled" yaml:"opsCenterEnabled"`
	// The SNS topic provided to Application Insights that is associated with the created OpsItems to receive SNS notifications for opsItem updates.
	OpsItemSnsTopicArn *string `json:"opsItemSnsTopicArn" yaml:"opsItemSnsTopicArn"`
	// An array of `Tags` .
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnApplication`.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
cfnApplicationProps := &cfnApplicationProps{
	resourceGroupName: jsii.String("resourceGroupName"),

	// the properties below are optional
	autoConfigurationEnabled: jsii.Boolean(false),
	componentMonitoringSettings: []interface{}{
		&componentMonitoringSettingProperty{
			componentConfigurationMode: jsii.String("componentConfigurationMode"),
			tier: jsii.String("tier"),

			// the properties below are optional
			componentArn: jsii.String("componentArn"),
			componentName: jsii.String("componentName"),
			customComponentConfiguration: &componentConfigurationProperty{
				configurationDetails: &configurationDetailsProperty{
					alarmMetrics: []interface{}{
						&alarmMetricProperty{
							alarmMetricName: jsii.String("alarmMetricName"),
						},
					},
					alarms: []interface{}{
						&alarmProperty{
							alarmName: jsii.String("alarmName"),

							// the properties below are optional
							severity: jsii.String("severity"),
						},
					},
					haClusterPrometheusExporter: &hAClusterPrometheusExporterProperty{
						prometheusPort: jsii.String("prometheusPort"),
					},
					hanaPrometheusExporter: &hANAPrometheusExporterProperty{
						agreeToInstallHanadbClient: jsii.Boolean(false),
						hanaPort: jsii.String("hanaPort"),
						hanaSecretName: jsii.String("hanaSecretName"),
						hanasid: jsii.String("hanasid"),

						// the properties below are optional
						prometheusPort: jsii.String("prometheusPort"),
					},
					jmxPrometheusExporter: &jMXPrometheusExporterProperty{
						hostPort: jsii.String("hostPort"),
						jmxurl: jsii.String("jmxurl"),
						prometheusPort: jsii.String("prometheusPort"),
					},
					logs: []interface{}{
						&logProperty{
							logType: jsii.String("logType"),

							// the properties below are optional
							encoding: jsii.String("encoding"),
							logGroupName: jsii.String("logGroupName"),
							logPath: jsii.String("logPath"),
							patternSet: jsii.String("patternSet"),
						},
					},
					windowsEvents: []interface{}{
						&windowsEventProperty{
							eventLevels: []*string{
								jsii.String("eventLevels"),
							},
							eventName: jsii.String("eventName"),
							logGroupName: jsii.String("logGroupName"),

							// the properties below are optional
							patternSet: jsii.String("patternSet"),
						},
					},
				},
				subComponentTypeConfigurations: []interface{}{
					&subComponentTypeConfigurationProperty{
						subComponentConfigurationDetails: &subComponentConfigurationDetailsProperty{
							alarmMetrics: []interface{}{
								&alarmMetricProperty{
									alarmMetricName: jsii.String("alarmMetricName"),
								},
							},
							logs: []interface{}{
								&logProperty{
									logType: jsii.String("logType"),

									// the properties below are optional
									encoding: jsii.String("encoding"),
									logGroupName: jsii.String("logGroupName"),
									logPath: jsii.String("logPath"),
									patternSet: jsii.String("patternSet"),
								},
							},
							windowsEvents: []interface{}{
								&windowsEventProperty{
									eventLevels: []*string{
										jsii.String("eventLevels"),
									},
									eventName: jsii.String("eventName"),
									logGroupName: jsii.String("logGroupName"),

									// the properties below are optional
									patternSet: jsii.String("patternSet"),
								},
							},
						},
						subComponentType: jsii.String("subComponentType"),
					},
				},
			},
			defaultOverwriteComponentConfiguration: &componentConfigurationProperty{
				configurationDetails: &configurationDetailsProperty{
					alarmMetrics: []interface{}{
						&alarmMetricProperty{
							alarmMetricName: jsii.String("alarmMetricName"),
						},
					},
					alarms: []interface{}{
						&alarmProperty{
							alarmName: jsii.String("alarmName"),

							// the properties below are optional
							severity: jsii.String("severity"),
						},
					},
					haClusterPrometheusExporter: &hAClusterPrometheusExporterProperty{
						prometheusPort: jsii.String("prometheusPort"),
					},
					hanaPrometheusExporter: &hANAPrometheusExporterProperty{
						agreeToInstallHanadbClient: jsii.Boolean(false),
						hanaPort: jsii.String("hanaPort"),
						hanaSecretName: jsii.String("hanaSecretName"),
						hanasid: jsii.String("hanasid"),

						// the properties below are optional
						prometheusPort: jsii.String("prometheusPort"),
					},
					jmxPrometheusExporter: &jMXPrometheusExporterProperty{
						hostPort: jsii.String("hostPort"),
						jmxurl: jsii.String("jmxurl"),
						prometheusPort: jsii.String("prometheusPort"),
					},
					logs: []interface{}{
						&logProperty{
							logType: jsii.String("logType"),

							// the properties below are optional
							encoding: jsii.String("encoding"),
							logGroupName: jsii.String("logGroupName"),
							logPath: jsii.String("logPath"),
							patternSet: jsii.String("patternSet"),
						},
					},
					windowsEvents: []interface{}{
						&windowsEventProperty{
							eventLevels: []*string{
								jsii.String("eventLevels"),
							},
							eventName: jsii.String("eventName"),
							logGroupName: jsii.String("logGroupName"),

							// the properties below are optional
							patternSet: jsii.String("patternSet"),
						},
					},
				},
				subComponentTypeConfigurations: []interface{}{
					&subComponentTypeConfigurationProperty{
						subComponentConfigurationDetails: &subComponentConfigurationDetailsProperty{
							alarmMetrics: []interface{}{
								&alarmMetricProperty{
									alarmMetricName: jsii.String("alarmMetricName"),
								},
							},
							logs: []interface{}{
								&logProperty{
									logType: jsii.String("logType"),

									// the properties below are optional
									encoding: jsii.String("encoding"),
									logGroupName: jsii.String("logGroupName"),
									logPath: jsii.String("logPath"),
									patternSet: jsii.String("patternSet"),
								},
							},
							windowsEvents: []interface{}{
								&windowsEventProperty{
									eventLevels: []*string{
										jsii.String("eventLevels"),
									},
									eventName: jsii.String("eventName"),
									logGroupName: jsii.String("logGroupName"),

									// the properties below are optional
									patternSet: jsii.String("patternSet"),
								},
							},
						},
						subComponentType: jsii.String("subComponentType"),
					},
				},
			},
		},
	},
	customComponents: []interface{}{
		&customComponentProperty{
			componentName: jsii.String("componentName"),
			resourceList: []*string{
				jsii.String("resourceList"),
			},
		},
	},
	cweMonitorEnabled: jsii.Boolean(false),
	logPatternSets: []interface{}{
		&logPatternSetProperty{
			logPatterns: []interface{}{
				&logPatternProperty{
					pattern: jsii.String("pattern"),
					patternName: jsii.String("patternName"),
					rank: jsii.Number(123),
				},
			},
			patternSetName: jsii.String("patternSetName"),
		},
	},
	opsCenterEnabled: jsii.Boolean(false),
	opsItemSnsTopicArn: jsii.String("opsItemSnsTopicArn"),
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
}

type CfnApplication_AlarmMetricProperty

type CfnApplication_AlarmMetricProperty struct {
	// The name of the metric to be monitored for the component.
	//
	// For metrics supported by Application Insights, see [Logs and metrics supported by Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-logs-and-metrics.html) .
	AlarmMetricName *string `json:"alarmMetricName" yaml:"alarmMetricName"`
}

The `AWS::ApplicationInsights::Application AlarmMetric` property type defines a metric to monitor for the component.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
alarmMetricProperty := &alarmMetricProperty{
	alarmMetricName: jsii.String("alarmMetricName"),
}

type CfnApplication_AlarmProperty

type CfnApplication_AlarmProperty struct {
	// The name of the CloudWatch alarm to be monitored for the component.
	AlarmName *string `json:"alarmName" yaml:"alarmName"`
	// Indicates the degree of outage when the alarm goes off.
	Severity *string `json:"severity" yaml:"severity"`
}

The `AWS::ApplicationInsights::Application Alarm` property type defines a CloudWatch alarm to be monitored for the component.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
alarmProperty := &alarmProperty{
	alarmName: jsii.String("alarmName"),

	// the properties below are optional
	severity: jsii.String("severity"),
}

type CfnApplication_ComponentConfigurationProperty

type CfnApplication_ComponentConfigurationProperty struct {
	// The configuration settings.
	ConfigurationDetails interface{} `json:"configurationDetails" yaml:"configurationDetails"`
	// Sub-component configurations of the component.
	SubComponentTypeConfigurations interface{} `json:"subComponentTypeConfigurations" yaml:"subComponentTypeConfigurations"`
}

The `AWS::ApplicationInsights::Application ComponentConfiguration` property type defines the configuration settings of the component.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
componentConfigurationProperty := &componentConfigurationProperty{
	configurationDetails: &configurationDetailsProperty{
		alarmMetrics: []interface{}{
			&alarmMetricProperty{
				alarmMetricName: jsii.String("alarmMetricName"),
			},
		},
		alarms: []interface{}{
			&alarmProperty{
				alarmName: jsii.String("alarmName"),

				// the properties below are optional
				severity: jsii.String("severity"),
			},
		},
		haClusterPrometheusExporter: &hAClusterPrometheusExporterProperty{
			prometheusPort: jsii.String("prometheusPort"),
		},
		hanaPrometheusExporter: &hANAPrometheusExporterProperty{
			agreeToInstallHanadbClient: jsii.Boolean(false),
			hanaPort: jsii.String("hanaPort"),
			hanaSecretName: jsii.String("hanaSecretName"),
			hanasid: jsii.String("hanasid"),

			// the properties below are optional
			prometheusPort: jsii.String("prometheusPort"),
		},
		jmxPrometheusExporter: &jMXPrometheusExporterProperty{
			hostPort: jsii.String("hostPort"),
			jmxurl: jsii.String("jmxurl"),
			prometheusPort: jsii.String("prometheusPort"),
		},
		logs: []interface{}{
			&logProperty{
				logType: jsii.String("logType"),

				// the properties below are optional
				encoding: jsii.String("encoding"),
				logGroupName: jsii.String("logGroupName"),
				logPath: jsii.String("logPath"),
				patternSet: jsii.String("patternSet"),
			},
		},
		windowsEvents: []interface{}{
			&windowsEventProperty{
				eventLevels: []*string{
					jsii.String("eventLevels"),
				},
				eventName: jsii.String("eventName"),
				logGroupName: jsii.String("logGroupName"),

				// the properties below are optional
				patternSet: jsii.String("patternSet"),
			},
		},
	},
	subComponentTypeConfigurations: []interface{}{
		&subComponentTypeConfigurationProperty{
			subComponentConfigurationDetails: &subComponentConfigurationDetailsProperty{
				alarmMetrics: []interface{}{
					&alarmMetricProperty{
						alarmMetricName: jsii.String("alarmMetricName"),
					},
				},
				logs: []interface{}{
					&logProperty{
						logType: jsii.String("logType"),

						// the properties below are optional
						encoding: jsii.String("encoding"),
						logGroupName: jsii.String("logGroupName"),
						logPath: jsii.String("logPath"),
						patternSet: jsii.String("patternSet"),
					},
				},
				windowsEvents: []interface{}{
					&windowsEventProperty{
						eventLevels: []*string{
							jsii.String("eventLevels"),
						},
						eventName: jsii.String("eventName"),
						logGroupName: jsii.String("logGroupName"),

						// the properties below are optional
						patternSet: jsii.String("patternSet"),
					},
				},
			},
			subComponentType: jsii.String("subComponentType"),
		},
	},
}

type CfnApplication_ComponentMonitoringSettingProperty

type CfnApplication_ComponentMonitoringSettingProperty struct {
	// Component monitoring can be configured in one of the following three modes:.
	//
	// - `DEFAULT` : The component will be configured with the recommended default monitoring settings of the selected `Tier` .
	// - `CUSTOM` : The component will be configured with the customized monitoring settings that are specified in `CustomComponentConfiguration` . If used, `CustomComponentConfiguration` must be provided.
	// - `DEFAULT_WITH_OVERWRITE` : The component will be configured with the recommended default monitoring settings of the selected `Tier` , and merged with customized overwrite settings that are specified in `DefaultOverwriteComponentConfiguration` . If used, `DefaultOverwriteComponentConfiguration` must be provided.
	ComponentConfigurationMode *string `json:"componentConfigurationMode" yaml:"componentConfigurationMode"`
	// The tier of the application component.
	//
	// Supported tiers include `DOT_NET_CORE` , `DOT_NET_WORKER` , `DOT_NET_WEB` , `SQL_SERVER` , `SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP` , `SQL_SERVER_FAILOVER_CLUSTER_INSTANCE` , `MYSQL` , `POSTGRESQL` , `JAVA_JMX` , `ORACLE` , `SAP_HANA_MULTI_NODE` , `SAP_HANA_SINGLE_NODE` , `SAP_HANA_HIGH_AVAILABILITY` , `SHAREPOINT` . `ACTIVE_DIRECTORY` , and `DEFAULT` .
	Tier *string `json:"tier" yaml:"tier"`
	// The ARN of the component.
	ComponentArn *string `json:"componentArn" yaml:"componentArn"`
	// The name of the component.
	ComponentName *string `json:"componentName" yaml:"componentName"`
	// Customized monitoring settings.
	//
	// Required if CUSTOM mode is configured in `ComponentConfigurationMode` .
	CustomComponentConfiguration interface{} `json:"customComponentConfiguration" yaml:"customComponentConfiguration"`
	// Customized overwrite monitoring settings.
	//
	// Required if CUSTOM mode is configured in `ComponentConfigurationMode` .
	DefaultOverwriteComponentConfiguration interface{} `json:"defaultOverwriteComponentConfiguration" yaml:"defaultOverwriteComponentConfiguration"`
}

The `AWS::ApplicationInsights::Application ComponentMonitoringSetting` property type defines the monitoring setting of the component.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
componentMonitoringSettingProperty := &componentMonitoringSettingProperty{
	componentConfigurationMode: jsii.String("componentConfigurationMode"),
	tier: jsii.String("tier"),

	// the properties below are optional
	componentArn: jsii.String("componentArn"),
	componentName: jsii.String("componentName"),
	customComponentConfiguration: &componentConfigurationProperty{
		configurationDetails: &configurationDetailsProperty{
			alarmMetrics: []interface{}{
				&alarmMetricProperty{
					alarmMetricName: jsii.String("alarmMetricName"),
				},
			},
			alarms: []interface{}{
				&alarmProperty{
					alarmName: jsii.String("alarmName"),

					// the properties below are optional
					severity: jsii.String("severity"),
				},
			},
			haClusterPrometheusExporter: &hAClusterPrometheusExporterProperty{
				prometheusPort: jsii.String("prometheusPort"),
			},
			hanaPrometheusExporter: &hANAPrometheusExporterProperty{
				agreeToInstallHanadbClient: jsii.Boolean(false),
				hanaPort: jsii.String("hanaPort"),
				hanaSecretName: jsii.String("hanaSecretName"),
				hanasid: jsii.String("hanasid"),

				// the properties below are optional
				prometheusPort: jsii.String("prometheusPort"),
			},
			jmxPrometheusExporter: &jMXPrometheusExporterProperty{
				hostPort: jsii.String("hostPort"),
				jmxurl: jsii.String("jmxurl"),
				prometheusPort: jsii.String("prometheusPort"),
			},
			logs: []interface{}{
				&logProperty{
					logType: jsii.String("logType"),

					// the properties below are optional
					encoding: jsii.String("encoding"),
					logGroupName: jsii.String("logGroupName"),
					logPath: jsii.String("logPath"),
					patternSet: jsii.String("patternSet"),
				},
			},
			windowsEvents: []interface{}{
				&windowsEventProperty{
					eventLevels: []*string{
						jsii.String("eventLevels"),
					},
					eventName: jsii.String("eventName"),
					logGroupName: jsii.String("logGroupName"),

					// the properties below are optional
					patternSet: jsii.String("patternSet"),
				},
			},
		},
		subComponentTypeConfigurations: []interface{}{
			&subComponentTypeConfigurationProperty{
				subComponentConfigurationDetails: &subComponentConfigurationDetailsProperty{
					alarmMetrics: []interface{}{
						&alarmMetricProperty{
							alarmMetricName: jsii.String("alarmMetricName"),
						},
					},
					logs: []interface{}{
						&logProperty{
							logType: jsii.String("logType"),

							// the properties below are optional
							encoding: jsii.String("encoding"),
							logGroupName: jsii.String("logGroupName"),
							logPath: jsii.String("logPath"),
							patternSet: jsii.String("patternSet"),
						},
					},
					windowsEvents: []interface{}{
						&windowsEventProperty{
							eventLevels: []*string{
								jsii.String("eventLevels"),
							},
							eventName: jsii.String("eventName"),
							logGroupName: jsii.String("logGroupName"),

							// the properties below are optional
							patternSet: jsii.String("patternSet"),
						},
					},
				},
				subComponentType: jsii.String("subComponentType"),
			},
		},
	},
	defaultOverwriteComponentConfiguration: &componentConfigurationProperty{
		configurationDetails: &configurationDetailsProperty{
			alarmMetrics: []interface{}{
				&alarmMetricProperty{
					alarmMetricName: jsii.String("alarmMetricName"),
				},
			},
			alarms: []interface{}{
				&alarmProperty{
					alarmName: jsii.String("alarmName"),

					// the properties below are optional
					severity: jsii.String("severity"),
				},
			},
			haClusterPrometheusExporter: &hAClusterPrometheusExporterProperty{
				prometheusPort: jsii.String("prometheusPort"),
			},
			hanaPrometheusExporter: &hANAPrometheusExporterProperty{
				agreeToInstallHanadbClient: jsii.Boolean(false),
				hanaPort: jsii.String("hanaPort"),
				hanaSecretName: jsii.String("hanaSecretName"),
				hanasid: jsii.String("hanasid"),

				// the properties below are optional
				prometheusPort: jsii.String("prometheusPort"),
			},
			jmxPrometheusExporter: &jMXPrometheusExporterProperty{
				hostPort: jsii.String("hostPort"),
				jmxurl: jsii.String("jmxurl"),
				prometheusPort: jsii.String("prometheusPort"),
			},
			logs: []interface{}{
				&logProperty{
					logType: jsii.String("logType"),

					// the properties below are optional
					encoding: jsii.String("encoding"),
					logGroupName: jsii.String("logGroupName"),
					logPath: jsii.String("logPath"),
					patternSet: jsii.String("patternSet"),
				},
			},
			windowsEvents: []interface{}{
				&windowsEventProperty{
					eventLevels: []*string{
						jsii.String("eventLevels"),
					},
					eventName: jsii.String("eventName"),
					logGroupName: jsii.String("logGroupName"),

					// the properties below are optional
					patternSet: jsii.String("patternSet"),
				},
			},
		},
		subComponentTypeConfigurations: []interface{}{
			&subComponentTypeConfigurationProperty{
				subComponentConfigurationDetails: &subComponentConfigurationDetailsProperty{
					alarmMetrics: []interface{}{
						&alarmMetricProperty{
							alarmMetricName: jsii.String("alarmMetricName"),
						},
					},
					logs: []interface{}{
						&logProperty{
							logType: jsii.String("logType"),

							// the properties below are optional
							encoding: jsii.String("encoding"),
							logGroupName: jsii.String("logGroupName"),
							logPath: jsii.String("logPath"),
							patternSet: jsii.String("patternSet"),
						},
					},
					windowsEvents: []interface{}{
						&windowsEventProperty{
							eventLevels: []*string{
								jsii.String("eventLevels"),
							},
							eventName: jsii.String("eventName"),
							logGroupName: jsii.String("logGroupName"),

							// the properties below are optional
							patternSet: jsii.String("patternSet"),
						},
					},
				},
				subComponentType: jsii.String("subComponentType"),
			},
		},
	},
}

type CfnApplication_ConfigurationDetailsProperty

type CfnApplication_ConfigurationDetailsProperty struct {
	// A list of metrics to monitor for the component.
	//
	// All component types can use `AlarmMetrics` .
	AlarmMetrics interface{} `json:"alarmMetrics" yaml:"alarmMetrics"`
	// A list of alarms to monitor for the component.
	//
	// All component types can use `Alarm` .
	Alarms interface{} `json:"alarms" yaml:"alarms"`
	// The HA cluster Prometheus Exporter settings.
	HaClusterPrometheusExporter interface{} `json:"haClusterPrometheusExporter" yaml:"haClusterPrometheusExporter"`
	// The HANA DB Prometheus Exporter settings.
	HanaPrometheusExporter interface{} `json:"hanaPrometheusExporter" yaml:"hanaPrometheusExporter"`
	// A list of Java metrics to monitor for the component.
	JmxPrometheusExporter interface{} `json:"jmxPrometheusExporter" yaml:"jmxPrometheusExporter"`
	// A list of logs to monitor for the component.
	//
	// Only Amazon EC2 instances can use `Logs` .
	Logs interface{} `json:"logs" yaml:"logs"`
	// A list of Windows Events to monitor for the component.
	//
	// Only Amazon EC2 instances running on Windows can use `WindowsEvents` .
	WindowsEvents interface{} `json:"windowsEvents" yaml:"windowsEvents"`
}

The `AWS::ApplicationInsights::Application ConfigurationDetails` property type specifies the configuration settings.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
configurationDetailsProperty := &configurationDetailsProperty{
	alarmMetrics: []interface{}{
		&alarmMetricProperty{
			alarmMetricName: jsii.String("alarmMetricName"),
		},
	},
	alarms: []interface{}{
		&alarmProperty{
			alarmName: jsii.String("alarmName"),

			// the properties below are optional
			severity: jsii.String("severity"),
		},
	},
	haClusterPrometheusExporter: &hAClusterPrometheusExporterProperty{
		prometheusPort: jsii.String("prometheusPort"),
	},
	hanaPrometheusExporter: &hANAPrometheusExporterProperty{
		agreeToInstallHanadbClient: jsii.Boolean(false),
		hanaPort: jsii.String("hanaPort"),
		hanaSecretName: jsii.String("hanaSecretName"),
		hanasid: jsii.String("hanasid"),

		// the properties below are optional
		prometheusPort: jsii.String("prometheusPort"),
	},
	jmxPrometheusExporter: &jMXPrometheusExporterProperty{
		hostPort: jsii.String("hostPort"),
		jmxurl: jsii.String("jmxurl"),
		prometheusPort: jsii.String("prometheusPort"),
	},
	logs: []interface{}{
		&logProperty{
			logType: jsii.String("logType"),

			// the properties below are optional
			encoding: jsii.String("encoding"),
			logGroupName: jsii.String("logGroupName"),
			logPath: jsii.String("logPath"),
			patternSet: jsii.String("patternSet"),
		},
	},
	windowsEvents: []interface{}{
		&windowsEventProperty{
			eventLevels: []*string{
				jsii.String("eventLevels"),
			},
			eventName: jsii.String("eventName"),
			logGroupName: jsii.String("logGroupName"),

			// the properties below are optional
			patternSet: jsii.String("patternSet"),
		},
	},
}

type CfnApplication_CustomComponentProperty

type CfnApplication_CustomComponentProperty struct {
	// The name of the component.
	ComponentName *string `json:"componentName" yaml:"componentName"`
	// The list of resource ARNs that belong to the component.
	ResourceList *[]*string `json:"resourceList" yaml:"resourceList"`
}

The `AWS::ApplicationInsights::Application CustomComponent` property type describes a custom component by grouping similar standalone instances to monitor.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
customComponentProperty := &customComponentProperty{
	componentName: jsii.String("componentName"),
	resourceList: []*string{
		jsii.String("resourceList"),
	},
}

type CfnApplication_HAClusterPrometheusExporterProperty

type CfnApplication_HAClusterPrometheusExporterProperty struct {
	// The target port to which Prometheus sends metrics.
	//
	// If not specified, the default port 9668 is used.
	PrometheusPort *string `json:"prometheusPort" yaml:"prometheusPort"`
}

The `AWS::ApplicationInsights::Application HAClusterPrometheusExporter` property type defines the HA cluster Prometheus Exporter settings.

For more information, see the [component configuration](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/component-config-sections.html#component-configuration-prometheus) in the CloudWatch Application Insights documentation.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
hAClusterPrometheusExporterProperty := &hAClusterPrometheusExporterProperty{
	prometheusPort: jsii.String("prometheusPort"),
}

type CfnApplication_HANAPrometheusExporterProperty

type CfnApplication_HANAPrometheusExporterProperty struct {
	// Designates whether you agree to install the HANA DB client.
	AgreeToInstallHanadbClient interface{} `json:"agreeToInstallHanadbClient" yaml:"agreeToInstallHanadbClient"`
	// The HANA database port by which the exporter will query HANA metrics.
	HanaPort *string `json:"hanaPort" yaml:"hanaPort"`
	// The AWS Secrets Manager secret that stores HANA monitoring user credentials.
	//
	// The HANA Prometheus exporter uses these credentials to connect to the database and query HANA metrics.
	HanaSecretName *string `json:"hanaSecretName" yaml:"hanaSecretName"`
	// The three-character SAP system ID (SID) of the SAP HANA system.
	Hanasid *string `json:"hanasid" yaml:"hanasid"`
	// The target port to which Prometheus sends metrics.
	//
	// If not specified, the default port 9668 is used.
	PrometheusPort *string `json:"prometheusPort" yaml:"prometheusPort"`
}

The `AWS::ApplicationInsights::Application HANAPrometheusExporter` property type defines the HANA DB Prometheus Exporter settings.

For more information, see the [component configuration](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/component-config-sections.html#component-configuration-prometheus) in the CloudWatch Application Insights documentation.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
hANAPrometheusExporterProperty := &hANAPrometheusExporterProperty{
	agreeToInstallHanadbClient: jsii.Boolean(false),
	hanaPort: jsii.String("hanaPort"),
	hanaSecretName: jsii.String("hanaSecretName"),
	hanasid: jsii.String("hanasid"),

	// the properties below are optional
	prometheusPort: jsii.String("prometheusPort"),
}

type CfnApplication_JMXPrometheusExporterProperty

type CfnApplication_JMXPrometheusExporterProperty struct {
	// The host and port to connect to through remote JMX.
	//
	// Only one of `jmxURL` and `hostPort` can be specified.
	HostPort *string `json:"hostPort" yaml:"hostPort"`
	// The complete JMX URL to connect to.
	Jmxurl *string `json:"jmxurl" yaml:"jmxurl"`
	// The target port to send Prometheus metrics to.
	//
	// If not specified, the default port `9404` is used.
	PrometheusPort *string `json:"prometheusPort" yaml:"prometheusPort"`
}

The `AWS::ApplicationInsights::Application JMXPrometheusExporter` property type defines the JMXPrometheus Exporter configuration.

For more information, see the [component configuration](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/component-config-sections.html#component-configuration-prometheus) in the CloudWatch Application Insights documentation.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
jMXPrometheusExporterProperty := &jMXPrometheusExporterProperty{
	hostPort: jsii.String("hostPort"),
	jmxurl: jsii.String("jmxurl"),
	prometheusPort: jsii.String("prometheusPort"),
}

type CfnApplication_LogPatternProperty

type CfnApplication_LogPatternProperty struct {
	// A regular expression that defines the log pattern.
	//
	// A log pattern can contain up to 50 characters, and it cannot be empty.
	Pattern *string `json:"pattern" yaml:"pattern"`
	// The name of the log pattern.
	//
	// A log pattern name can contain up to 50 characters, and it cannot be empty. The characters can be Unicode letters, digits, or one of the following symbols: period, dash, underscore.
	PatternName *string `json:"patternName" yaml:"patternName"`
	// The rank of the log pattern.
	Rank *float64 `json:"rank" yaml:"rank"`
}

The `AWS::ApplicationInsights::Application LogPattern` property type specifies an object that defines the log patterns that belong to a `LogPatternSet` .

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
logPatternProperty := &logPatternProperty{
	pattern: jsii.String("pattern"),
	patternName: jsii.String("patternName"),
	rank: jsii.Number(123),
}

type CfnApplication_LogPatternSetProperty

type CfnApplication_LogPatternSetProperty struct {
	// A list of objects that define the log patterns that belong to `LogPatternSet` .
	LogPatterns interface{} `json:"logPatterns" yaml:"logPatterns"`
	// The name of the log pattern.
	//
	// A log pattern name can contain up to 30 characters, and it cannot be empty. The characters can be Unicode letters, digits, or one of the following symbols: period, dash, underscore.
	PatternSetName *string `json:"patternSetName" yaml:"patternSetName"`
}

The `AWS::ApplicationInsights::Application LogPatternSet` property type specifies the log pattern set.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
logPatternSetProperty := &logPatternSetProperty{
	logPatterns: []interface{}{
		&logPatternProperty{
			pattern: jsii.String("pattern"),
			patternName: jsii.String("patternName"),
			rank: jsii.Number(123),
		},
	},
	patternSetName: jsii.String("patternSetName"),
}

type CfnApplication_LogProperty

type CfnApplication_LogProperty struct {
	// The log type decides the log patterns against which Application Insights analyzes the log.
	//
	// The log type is selected from the following: `SQL_SERVER` , `MYSQL` , `MYSQL_SLOW_QUERY` , `POSTGRESQL` , `ORACLE_ALERT` , `ORACLE_LISTENER` , `IIS` , `APPLICATION` , `WINDOWS_EVENTS` , `WINDOWS_EVENTS_ACTIVE_DIRECTORY` , `WINDOWS_EVENTS_DNS` , `WINDOWS_EVENTS_IIS` , `WINDOWS_EVENTS_SHAREPOINT` , `SQL_SERVER_ALWAYSON_AVAILABILITY_GROUP` , `SQL_SERVER_FAILOVER_CLUSTER_INSTANCE` , `STEP_FUNCTION` , `API_GATEWAY_ACCESS` , `API_GATEWAY_EXECUTION` , `SAP_HANA_LOGS` , `SAP_HANA_TRACE` , `SAP_HANA_HIGH_AVAILABILITY` , and `DEFAULT` .
	LogType *string `json:"logType" yaml:"logType"`
	// The type of encoding of the logs to be monitored.
	//
	// The specified encoding should be included in the list of CloudWatch agent supported encodings. If not provided, CloudWatch Application Insights uses the default encoding type for the log type:
	//
	// - `APPLICATION/DEFAULT` : utf-8 encoding
	// - `SQL_SERVER` : utf-16 encoding
	// - `IIS` : ascii encoding.
	Encoding *string `json:"encoding" yaml:"encoding"`
	// The CloudWatch log group name to be associated with the monitored log.
	LogGroupName *string `json:"logGroupName" yaml:"logGroupName"`
	// The path of the logs to be monitored.
	//
	// The log path must be an absolute Windows or Linux system file path. For more information, see [CloudWatch Agent Configuration File: Logs Section](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html#CloudWatch-Agent-Configuration-File-Logssection) .
	LogPath *string `json:"logPath" yaml:"logPath"`
	// The log pattern set.
	PatternSet *string `json:"patternSet" yaml:"patternSet"`
}

The `AWS::ApplicationInsights::Application Log` property type specifies a log to monitor for the component.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
logProperty := &logProperty{
	logType: jsii.String("logType"),

	// the properties below are optional
	encoding: jsii.String("encoding"),
	logGroupName: jsii.String("logGroupName"),
	logPath: jsii.String("logPath"),
	patternSet: jsii.String("patternSet"),
}

type CfnApplication_SubComponentConfigurationDetailsProperty

type CfnApplication_SubComponentConfigurationDetailsProperty struct {
	// A list of metrics to monitor for the component.
	//
	// All component types can use `AlarmMetrics` .
	AlarmMetrics interface{} `json:"alarmMetrics" yaml:"alarmMetrics"`
	// A list of logs to monitor for the component.
	//
	// Only Amazon EC2 instances can use `Logs` .
	Logs interface{} `json:"logs" yaml:"logs"`
	// A list of Windows Events to monitor for the component.
	//
	// Only Amazon EC2 instances running on Windows can use `WindowsEvents` .
	WindowsEvents interface{} `json:"windowsEvents" yaml:"windowsEvents"`
}

The `AWS::ApplicationInsights::Application SubComponentConfigurationDetails` property type specifies the configuration settings of the sub-components.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
subComponentConfigurationDetailsProperty := &subComponentConfigurationDetailsProperty{
	alarmMetrics: []interface{}{
		&alarmMetricProperty{
			alarmMetricName: jsii.String("alarmMetricName"),
		},
	},
	logs: []interface{}{
		&logProperty{
			logType: jsii.String("logType"),

			// the properties below are optional
			encoding: jsii.String("encoding"),
			logGroupName: jsii.String("logGroupName"),
			logPath: jsii.String("logPath"),
			patternSet: jsii.String("patternSet"),
		},
	},
	windowsEvents: []interface{}{
		&windowsEventProperty{
			eventLevels: []*string{
				jsii.String("eventLevels"),
			},
			eventName: jsii.String("eventName"),
			logGroupName: jsii.String("logGroupName"),

			// the properties below are optional
			patternSet: jsii.String("patternSet"),
		},
	},
}

type CfnApplication_SubComponentTypeConfigurationProperty

type CfnApplication_SubComponentTypeConfigurationProperty struct {
	// The configuration settings of the sub-components.
	SubComponentConfigurationDetails interface{} `json:"subComponentConfigurationDetails" yaml:"subComponentConfigurationDetails"`
	// The sub-component type.
	SubComponentType *string `json:"subComponentType" yaml:"subComponentType"`
}

The `AWS::ApplicationInsights::Application SubComponentTypeConfiguration` property type specifies the sub-component configurations for a component.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
subComponentTypeConfigurationProperty := &subComponentTypeConfigurationProperty{
	subComponentConfigurationDetails: &subComponentConfigurationDetailsProperty{
		alarmMetrics: []interface{}{
			&alarmMetricProperty{
				alarmMetricName: jsii.String("alarmMetricName"),
			},
		},
		logs: []interface{}{
			&logProperty{
				logType: jsii.String("logType"),

				// the properties below are optional
				encoding: jsii.String("encoding"),
				logGroupName: jsii.String("logGroupName"),
				logPath: jsii.String("logPath"),
				patternSet: jsii.String("patternSet"),
			},
		},
		windowsEvents: []interface{}{
			&windowsEventProperty{
				eventLevels: []*string{
					jsii.String("eventLevels"),
				},
				eventName: jsii.String("eventName"),
				logGroupName: jsii.String("logGroupName"),

				// the properties below are optional
				patternSet: jsii.String("patternSet"),
			},
		},
	},
	subComponentType: jsii.String("subComponentType"),
}

type CfnApplication_WindowsEventProperty

type CfnApplication_WindowsEventProperty struct {
	// The levels of event to log.
	//
	// You must specify each level to log. Possible values include `INFORMATION` , `WARNING` , `ERROR` , `CRITICAL` , and `VERBOSE` . This field is required for each type of Windows Event to log.
	EventLevels *[]*string `json:"eventLevels" yaml:"eventLevels"`
	// The type of Windows Events to log, equivalent to the Windows Event log channel name.
	//
	// For example, System, Security, CustomEventName, and so on. This field is required for each type of Windows event to log.
	EventName *string `json:"eventName" yaml:"eventName"`
	// The CloudWatch log group name to be associated with the monitored log.
	LogGroupName *string `json:"logGroupName" yaml:"logGroupName"`
	// The log pattern set.
	PatternSet *string `json:"patternSet" yaml:"patternSet"`
}

The `AWS::ApplicationInsights::Application WindowsEvent` property type specifies a Windows Event to monitor for the component.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import applicationinsights "github.com/aws/aws-cdk-go/awscdk/aws_applicationinsights"
windowsEventProperty := &windowsEventProperty{
	eventLevels: []*string{
		jsii.String("eventLevels"),
	},
	eventName: jsii.String("eventName"),
	logGroupName: jsii.String("logGroupName"),

	// the properties below are optional
	patternSet: jsii.String("patternSet"),
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL