@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon CloudWatch Application Insights
@version 2018-11-25
@auth AWS SigV4
@endpoints 33
@hint download_for_search
@toc root(33)

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str, WorkloadConfiguration: WorkloadConfiguration}
@returns(200) {WorkloadId: str?, WorkloadConfiguration: WorkloadConfiguration?{WorkloadName: str?, Tier: str?, Configuration: str?}}

@endpoint POST /
@optional {ResourceGroupName: str, OpsCenterEnabled: bool, CWEMonitorEnabled: bool, OpsItemSNSTopicArn: str, Tags: [Tag], AutoConfigEnabled: bool, AutoCreate: bool, GroupingType: str, AttachMissingPermission: bool}
@returns(200) {ApplicationInfo: ApplicationInfo?{AccountId: str?, ResourceGroupName: str?, LifeCycle: str?, OpsItemSNSTopicArn: str?, OpsCenterEnabled: bool?, CWEMonitorEnabled: bool?, Remarks: str?, AutoConfigEnabled: bool?, DiscoveryType: str?, AttachMissingPermission: bool?}}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str, ResourceList: [str]}

@endpoint POST /
@required {ResourceGroupName: str, PatternSetName: str, PatternName: str, Pattern: str, Rank: int}
@returns(200) {LogPattern: LogPattern?{PatternSetName: str?, PatternName: str?, Pattern: str?, Rank: int?}, ResourceGroupName: str?}

@endpoint POST /
@required {ResourceGroupName: str}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str}

@endpoint POST /
@required {ResourceGroupName: str, PatternSetName: str, PatternName: str}

@endpoint POST /
@required {ResourceGroupName: str}
@optional {AccountId: str}
@returns(200) {ApplicationInfo: ApplicationInfo?{AccountId: str?, ResourceGroupName: str?, LifeCycle: str?, OpsItemSNSTopicArn: str?, OpsCenterEnabled: bool?, CWEMonitorEnabled: bool?, Remarks: str?, AutoConfigEnabled: bool?, DiscoveryType: str?, AttachMissingPermission: bool?}}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str}
@optional {AccountId: str}
@returns(200) {ApplicationComponent: ApplicationComponent?{ComponentName: str?, ComponentRemarks: str?, ResourceType: str?, OsType: str?, Tier: str?, Monitor: bool?, DetectedWorkload: map<str,map<str,str>>?}, ResourceList: [str]?}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str}
@optional {AccountId: str}
@returns(200) {Monitor: bool?, Tier: str?, ComponentConfiguration: str?}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str, Tier: str}
@optional {WorkloadName: str, RecommendationType: str}
@returns(200) {ComponentConfiguration: str?}

@endpoint POST /
@required {ResourceGroupName: str, PatternSetName: str, PatternName: str}
@optional {AccountId: str}
@returns(200) {ResourceGroupName: str?, AccountId: str?, LogPattern: LogPattern?{PatternSetName: str?, PatternName: str?, Pattern: str?, Rank: int?}}

@endpoint POST /
@required {ObservationId: str}
@optional {AccountId: str}
@returns(200) {Observation: Observation?{Id: str?, StartTime: str(timestamp)?, EndTime: str(timestamp)?, SourceType: str?, SourceARN: str?, LogGroup: str?, LineTime: str(timestamp)?, LogText: str?, LogFilter: str?, MetricNamespace: str?, MetricName: str?, Unit: str?, Value: num(f64)?, CloudWatchEventId: str?, CloudWatchEventSource: str?, CloudWatchEventDetailType: str?, HealthEventArn: str?, HealthService: str?, HealthEventTypeCode: str?, HealthEventTypeCategory: str?, HealthEventDescription: str?, CodeDeployDeploymentId: str?, CodeDeployDeploymentGroup: str?, CodeDeployState: str?, CodeDeployApplication: str?, CodeDeployInstanceGroupId: str?, Ec2State: str?, RdsEventCategories: str?, RdsEventMessage: str?, S3EventName: str?, StatesExecutionArn: str?, StatesArn: str?, StatesStatus: str?, StatesInput: str?, EbsEvent: str?, EbsResult: str?, EbsCause: str?, EbsRequestId: str?, XRayFaultPercent: int?, XRayThrottlePercent: int?, XRayErrorPercent: int?, XRayRequestCount: int?, XRayRequestAverageLatency: int(i64)?, XRayNodeName: str?, XRayNodeType: str?}}

@endpoint POST /
@required {ProblemId: str}
@optional {AccountId: str}
@returns(200) {Problem: Problem?{Id: str?, Title: str?, Insights: str?, Status: str?, AffectedResource: str?, StartTime: str(timestamp)?, EndTime: str(timestamp)?, SeverityLevel: str?, AccountId: str?, ResourceGroupName: str?, Feedback: map<str,str>?, RecurringCount: int(i64)?, LastRecurrenceTime: str(timestamp)?, Visibility: str?, ResolutionMethod: str?}}

@endpoint POST /
@required {ProblemId: str}
@optional {AccountId: str}
@returns(200) {RelatedObservations: RelatedObservations?{ObservationList: [Observation]?}}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str, WorkloadId: str}
@optional {AccountId: str}
@returns(200) {WorkloadId: str?, WorkloadRemarks: str?, WorkloadConfiguration: WorkloadConfiguration?{WorkloadName: str?, Tier: str?, Configuration: str?}}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, AccountId: str}
@returns(200) {ApplicationInfoList: [ApplicationInfo]?, NextToken: str?}

@endpoint POST /
@required {ResourceGroupName: str}
@optional {MaxResults: int, NextToken: str, AccountId: str}
@returns(200) {ApplicationComponentList: [ApplicationComponent]?, NextToken: str?}

@endpoint POST /
@optional {ResourceGroupName: str, StartTime: str(timestamp), EndTime: str(timestamp), EventStatus: str, MaxResults: int, NextToken: str, AccountId: str}
@returns(200) {EventList: [ConfigurationEvent]?, NextToken: str?}

@endpoint POST /
@required {ResourceGroupName: str}
@optional {MaxResults: int, NextToken: str, AccountId: str}
@returns(200) {ResourceGroupName: str?, AccountId: str?, LogPatternSets: [str]?, NextToken: str?}

@endpoint POST /
@required {ResourceGroupName: str}
@optional {PatternSetName: str, MaxResults: int, NextToken: str, AccountId: str}
@returns(200) {ResourceGroupName: str?, AccountId: str?, LogPatterns: [LogPattern]?, NextToken: str?}

@endpoint POST /
@optional {AccountId: str, ResourceGroupName: str, StartTime: str(timestamp), EndTime: str(timestamp), MaxResults: int, NextToken: str, ComponentName: str, Visibility: str}
@returns(200) {ProblemList: [Problem]?, NextToken: str?, ResourceGroupName: str?, AccountId: str?}

@endpoint POST /
@required {ResourceARN: str}
@returns(200) {Tags: [Tag]?}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str}
@optional {MaxResults: int, NextToken: str, AccountId: str}
@returns(200) {WorkloadList: [Workload]?, NextToken: str?}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str, WorkloadId: str}

@endpoint POST /
@required {ResourceARN: str, Tags: [Tag]}

@endpoint POST /
@required {ResourceARN: str, TagKeys: [str]}

@endpoint POST /
@required {ResourceGroupName: str}
@optional {OpsCenterEnabled: bool, CWEMonitorEnabled: bool, OpsItemSNSTopicArn: str, RemoveSNSTopic: bool, AutoConfigEnabled: bool, AttachMissingPermission: bool}
@returns(200) {ApplicationInfo: ApplicationInfo?{AccountId: str?, ResourceGroupName: str?, LifeCycle: str?, OpsItemSNSTopicArn: str?, OpsCenterEnabled: bool?, CWEMonitorEnabled: bool?, Remarks: str?, AutoConfigEnabled: bool?, DiscoveryType: str?, AttachMissingPermission: bool?}}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str}
@optional {NewComponentName: str, ResourceList: [str]}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str}
@optional {Monitor: bool, Tier: str, ComponentConfiguration: str, AutoConfigEnabled: bool}

@endpoint POST /
@required {ResourceGroupName: str, PatternSetName: str, PatternName: str}
@optional {Pattern: str, Rank: int}
@returns(200) {ResourceGroupName: str?, LogPattern: LogPattern?{PatternSetName: str?, PatternName: str?, Pattern: str?, Rank: int?}}

@endpoint POST /
@required {ProblemId: str}
@optional {UpdateStatus: str, Visibility: str}

@endpoint POST /
@required {ResourceGroupName: str, ComponentName: str, WorkloadConfiguration: WorkloadConfiguration}
@optional {WorkloadId: str}
@returns(200) {WorkloadId: str?, WorkloadConfiguration: WorkloadConfiguration?{WorkloadName: str?, Tier: str?, Configuration: str?}}

@end
