BatchCreateRumMetricDefinitions

enum_MetricDestination := [ "CloudWatch", "Evidently" ]

valid {
    input.Body.Destination == enum_MetricDestination[_]
    input.Body.DestinationArn == STRING
    input.Body.MetricDefinitions[_].DimensionKeys.STRING == STRING
    input.Body.MetricDefinitions[_].EventPattern == STRING
    input.Body.MetricDefinitions[_].Name == STRING
    input.Body.MetricDefinitions[_].Namespace == STRING
    input.Body.MetricDefinitions[_].UnitLabel == STRING
    input.Body.MetricDefinitions[_].ValueKey == STRING
    input.ReqMap.AppMonitorName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchDeleteRumMetricDefinitions

enum_MetricDestination := [ "CloudWatch", "Evidently" ]

valid {
    input.ReqMap.AppMonitorName == STRING
    input.Qs.destination == enum_MetricDestination[_]
    input.Qs.destinationArn == STRING
    input.Qs.metricDefinitionIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchGetRumMetricDefinitions

enum_MetricDestination := [ "CloudWatch", "Evidently" ]

valid {
    input.ReqMap.AppMonitorName == STRING
    input.Qs.destination == enum_MetricDestination[_]
    input.Qs.destinationArn == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAppMonitor

enum_CustomEventsStatus := [ "ENABLED", "DISABLED" ]
enum_Telemetry := [ "errors", "performance", "http" ]

valid {
    input.Body.AppMonitorConfiguration.AllowCookies == BOOLEAN
    input.Body.AppMonitorConfiguration.EnableXRay == BOOLEAN
    input.Body.AppMonitorConfiguration.ExcludedPages[_] == STRING
    input.Body.AppMonitorConfiguration.FavoritePages[_] == STRING
    input.Body.AppMonitorConfiguration.GuestRoleArn == STRING
    input.Body.AppMonitorConfiguration.IdentityPoolId == STRING
    input.Body.AppMonitorConfiguration.IncludedPages[_] == STRING
    input.Body.AppMonitorConfiguration.SessionSampleRate == DOUBLE
    input.Body.AppMonitorConfiguration.Telemetries[_] == enum_Telemetry[_]
    input.Body.CustomEvents.Status == enum_CustomEventsStatus[_]
    input.Body.CwLogEnabled == BOOLEAN
    input.Body.Domain == STRING
    input.Body.Name == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAppMonitor

valid {
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteRumMetricsDestination

enum_MetricDestination := [ "CloudWatch", "Evidently" ]

valid {
    input.ReqMap.AppMonitorName == STRING
    input.Qs.destination == enum_MetricDestination[_]
    input.Qs.destinationArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAppMonitor

valid {
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAppMonitorData

valid {
    input.Body.Filters[_].Name == STRING
    input.Body.Filters[_].Values[_] == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.TimeRange.After == LONG
    input.Body.TimeRange.Before == LONG
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAppMonitors

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListRumMetricsDestinations

valid {
    input.ReqMap.AppMonitorName == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.ReqMap.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutRumEvents

valid {
    input.Body.AppMonitorDetails.id == STRING
    input.Body.AppMonitorDetails.name == STRING
    input.Body.AppMonitorDetails.version == STRING
    input.Body.BatchId == STRING
    input.Body.RumEvents[_].details == STRING
    input.Body.RumEvents[_].id == STRING
    input.Body.RumEvents[_].metadata == STRING
    input.Body.RumEvents[_].timestamp == TIMESTAMP
    input.Body.RumEvents[_].type == STRING
    input.Body.UserDetails.sessionId == STRING
    input.Body.UserDetails.userId == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutRumMetricsDestination

enum_MetricDestination := [ "CloudWatch", "Evidently" ]

valid {
    input.Body.Destination == enum_MetricDestination[_]
    input.Body.DestinationArn == STRING
    input.Body.IamRoleArn == STRING
    input.ReqMap.AppMonitorName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.Tags.STRING == STRING
    input.ReqMap.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.ReqMap.ResourceArn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAppMonitor

enum_CustomEventsStatus := [ "ENABLED", "DISABLED" ]
enum_Telemetry := [ "errors", "performance", "http" ]

valid {
    input.Body.AppMonitorConfiguration.AllowCookies == BOOLEAN
    input.Body.AppMonitorConfiguration.EnableXRay == BOOLEAN
    input.Body.AppMonitorConfiguration.ExcludedPages[_] == STRING
    input.Body.AppMonitorConfiguration.FavoritePages[_] == STRING
    input.Body.AppMonitorConfiguration.GuestRoleArn == STRING
    input.Body.AppMonitorConfiguration.IdentityPoolId == STRING
    input.Body.AppMonitorConfiguration.IncludedPages[_] == STRING
    input.Body.AppMonitorConfiguration.SessionSampleRate == DOUBLE
    input.Body.AppMonitorConfiguration.Telemetries[_] == enum_Telemetry[_]
    input.Body.CustomEvents.Status == enum_CustomEventsStatus[_]
    input.Body.CwLogEnabled == BOOLEAN
    input.Body.Domain == STRING
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateRumMetricDefinition

enum_MetricDestination := [ "CloudWatch", "Evidently" ]

valid {
    input.Body.Destination == enum_MetricDestination[_]
    input.Body.DestinationArn == STRING
    input.Body.MetricDefinition.DimensionKeys.STRING == STRING
    input.Body.MetricDefinition.EventPattern == STRING
    input.Body.MetricDefinition.Name == STRING
    input.Body.MetricDefinition.Namespace == STRING
    input.Body.MetricDefinition.UnitLabel == STRING
    input.Body.MetricDefinition.ValueKey == STRING
    input.Body.MetricDefinitionId == STRING
    input.ReqMap.AppMonitorName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}