/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * The monitoring setting of the component. */ export type ComponentMonitoringSetting = { /** * The name of the component. */ ComponentName?: string; /** * The ARN of the compnonent. */ ComponentARN?: string; /** * The tier of the application component. */ Tier: string; /** * The component monitoring configuration mode. */ ComponentConfigurationMode: "DEFAULT" | "DEFAULT_WITH_OVERWRITE" | "CUSTOM"; DefaultOverwriteComponentConfiguration?: ComponentConfiguration; CustomComponentConfiguration?: ComponentConfiguration1; } & ComponentMonitoringSetting1; /** * The level of event to log. */ export type EventLevel = "INFORMATION" | "WARNING" | "ERROR" | "CRITICAL" | "VERBOSE"; export type ComponentMonitoringSetting1 = | { [k: string]: unknown; } | { [k: string]: unknown; }; /** * Resource schema for AWS::ApplicationInsights::Application */ export interface AwsApplicationinsightsApplication { /** * The name of the resource group. */ ResourceGroupName: string; /** * The ARN of the ApplicationInsights application. */ ApplicationARN?: string; /** * Indicates whether Application Insights can listen to CloudWatch events for the application resources. */ CWEMonitorEnabled?: boolean; /** * When set to true, creates opsItems for any problems detected on an application. */ OpsCenterEnabled?: boolean; /** * The SNS topic provided to Application Insights that is associated to the created opsItem. */ OpsItemSNSTopicArn?: string; /** * The tags of Application Insights application. * * @minItems 1 */ Tags?: [Tag, ...Tag[]]; /** * The custom grouped components. * * @minItems 1 */ CustomComponents?: [CustomComponent, ...CustomComponent[]]; /** * The log pattern sets. * * @minItems 1 */ LogPatternSets?: [LogPatternSet, ...LogPatternSet[]]; /** * If set to true, application will be configured with recommended monitoring configuration. */ AutoConfigurationEnabled?: boolean; /** * The monitoring settings of the components. * * @minItems 1 */ ComponentMonitoringSettings?: [ComponentMonitoringSetting, ...ComponentMonitoringSetting1[]]; /** * The grouping type of the application */ GroupingType?: "ACCOUNT_BASED"; } /** * A key-value pair to associate with a resource. */ export interface Tag { /** * The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. */ Key: string; /** * The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. */ Value: string; } /** * The custom grouped component. */ export interface CustomComponent { /** * The name of the component. */ ComponentName: string; /** * The list of resource ARNs that belong to the component. * * @minItems 1 */ ResourceList: [string, ...string[]]; } /** * The log pattern set. */ export interface LogPatternSet { /** * The name of the log pattern set. */ PatternSetName: string; /** * The log patterns of a set. * * @minItems 1 */ LogPatterns: [LogPattern, ...LogPattern[]]; } /** * The log pattern. */ export interface LogPattern { /** * The name of the log pattern. */ PatternName: string; /** * The log pattern. */ Pattern: string; /** * Rank of the log pattern. */ Rank: number; } /** * The overwritten settings on default component monitoring configuration. */ export interface ComponentConfiguration { ConfigurationDetails?: ConfigurationDetails; /** * Sub component configurations of the component. * * @minItems 1 */ SubComponentTypeConfigurations?: [SubComponentTypeConfiguration, ...SubComponentTypeConfiguration[]]; } /** * The configuration settings */ export interface ConfigurationDetails { /** * A list of metrics to monitor for the component. */ AlarmMetrics?: AlarmMetric[]; /** * A list of logs to monitor for the component. */ Logs?: Log[]; /** * A list of Windows Events to log. */ WindowsEvents?: WindowsEvent[]; /** * A list of alarms to monitor for the component. */ Alarms?: Alarm[]; JMXPrometheusExporter?: JMXPrometheusExporter; HANAPrometheusExporter?: HANAPrometheusExporter; HAClusterPrometheusExporter?: HAClusterPrometheusExporter; } /** * A metric to be monitored for the component. */ export interface AlarmMetric { /** * The name of the metric to be monitored for the component. */ AlarmMetricName: string; } /** * A log to be monitored for the component. */ export interface Log { /** * The CloudWatch log group name to be associated to the monitored log. */ LogGroupName?: string; /** * The path of the logs to be monitored. */ LogPath?: string; /** * The log type decides the log patterns against which Application Insights analyzes the log. */ LogType: string; /** * The type of encoding of the logs to be monitored. */ Encoding?: "utf-8" | "utf-16" | "ascii"; /** * The name of the log pattern set. */ PatternSet?: string; } /** * A Windows Event to be monitored for the component. */ export interface WindowsEvent { /** * The CloudWatch log group name to be associated to the monitored log. */ LogGroupName: string; /** * The type of Windows Events to log. */ EventName: string; /** * The levels of event to log. * * @minItems 1 */ EventLevels: [EventLevel, ...EventLevel[]]; /** * The name of the log pattern set. */ PatternSet?: string; } /** * A CloudWatch alarm to be monitored for the component. */ export interface Alarm { /** * The name of the CloudWatch alarm to be monitored for the component. */ AlarmName: string; /** * Indicates the degree of outage when the alarm goes off. */ Severity?: "HIGH" | "MEDIUM" | "LOW"; } /** * The JMX Prometheus Exporter settings. */ export interface JMXPrometheusExporter { /** * JMX service URL. */ JMXURL?: string; /** * Java agent host port */ HostPort?: string; /** * Prometheus exporter port. */ PrometheusPort?: string; } /** * The HANA DB Prometheus Exporter settings. */ export interface HANAPrometheusExporter { /** * HANA DB SID. */ HANASID: string; /** * The HANA DB port. */ HANAPort: string; /** * The secret name which manages the HANA DB credentials e.g. { * "username": "<>", * "password": "<>" * }. */ HANASecretName: string; /** * A flag which indicates agreeing to install SAP HANA DB client. */ AgreeToInstallHANADBClient: boolean; /** * Prometheus exporter port. */ PrometheusPort?: string; } /** * The HA cluster Prometheus Exporter settings. */ export interface HAClusterPrometheusExporter { /** * Prometheus exporter port. */ PrometheusPort?: string; } /** * One type sub component configurations for the component. */ export interface SubComponentTypeConfiguration { /** * The sub component type. */ SubComponentType: "AWS::EC2::Instance" | "AWS::EC2::Volume"; SubComponentConfigurationDetails: SubComponentConfigurationDetails; } /** * The configuration settings of sub components. */ export interface SubComponentConfigurationDetails { /** * A list of metrics to monitor for the component. */ AlarmMetrics?: AlarmMetric[]; /** * A list of logs to monitor for the component. */ Logs?: Log[]; /** * A list of Windows Events to log. */ WindowsEvents?: WindowsEvent[]; } /** * The monitoring configuration of the component. */ export interface ComponentConfiguration1 { ConfigurationDetails?: ConfigurationDetails; /** * Sub component configurations of the component. * * @minItems 1 */ SubComponentTypeConfigurations?: [SubComponentTypeConfiguration, ...SubComponentTypeConfiguration[]]; }