INTERNETMONITOR

CreateMonitor

enum_LocalHealthEventsConfigStatus := [ "ENABLED", "DISABLED" ]
enum_LogDeliveryStatus := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.MonitorName == STRING
    input.Body.Resources[_] == STRING
    input.Body.ClientToken == STRING
    input.Body.Tags.STRING == STRING
    input.Body.MaxCityNetworksToMonitor == INTEGER
    input.Body.InternetMeasurementsLogDelivery.S3Config.BucketName == STRING
    input.Body.InternetMeasurementsLogDelivery.S3Config.BucketPrefix == STRING
    input.Body.InternetMeasurementsLogDelivery.S3Config.LogDeliveryStatus == enum_LogDeliveryStatus[_]
    input.Body.TrafficPercentageToMonitor == INTEGER
    input.Body.HealthEventsConfig.AvailabilityScoreThreshold == DOUBLE
    input.Body.HealthEventsConfig.PerformanceScoreThreshold == DOUBLE
    input.Body.HealthEventsConfig.AvailabilityLocalHealthEventsConfig.Status == enum_LocalHealthEventsConfigStatus[_]
    input.Body.HealthEventsConfig.AvailabilityLocalHealthEventsConfig.HealthScoreThreshold == DOUBLE
    input.Body.HealthEventsConfig.AvailabilityLocalHealthEventsConfig.MinTrafficImpact == DOUBLE
    input.Body.HealthEventsConfig.PerformanceLocalHealthEventsConfig.Status == enum_LocalHealthEventsConfigStatus[_]
    input.Body.HealthEventsConfig.PerformanceLocalHealthEventsConfig.HealthScoreThreshold == DOUBLE
    input.Body.HealthEventsConfig.PerformanceLocalHealthEventsConfig.MinTrafficImpact == DOUBLE
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteMonitor

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

GetHealthEvent

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

GetMonitor

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

GetQueryResults

valid {
    input.ReqMap.MonitorName == STRING
    input.ReqMap.QueryId == STRING
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetQueryStatus

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

ListHealthEvents

enum_HealthEventStatus := [ "ACTIVE", "RESOLVED" ]

valid {
    input.ReqMap.MonitorName == STRING
    input.Qs.StartTime == TIMESTAMP
    input.Qs.EndTime == TIMESTAMP
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.EventStatus == enum_HealthEventStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListMonitors

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.MonitorStatus == 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
}

StartQuery

enum_Operator := [ "EQUALS", "NOT_EQUALS" ]
enum_QueryType := [ "MEASUREMENTS", "TOP_LOCATIONS", "TOP_LOCATION_DETAILS" ]

valid {
    input.Body.StartTime == TIMESTAMP
    input.Body.EndTime == TIMESTAMP
    input.Body.QueryType == enum_QueryType[_]
    input.Body.FilterParameters[_].Field == STRING
    input.Body.FilterParameters[_].Operator == enum_Operator[_]
    input.Body.FilterParameters[_].Values[_] == STRING
    input.ReqMap.MonitorName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopQuery

valid {
    input.ReqMap.MonitorName == STRING
    input.ReqMap.QueryId == 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
}

UpdateMonitor

enum_LocalHealthEventsConfigStatus := [ "ENABLED", "DISABLED" ]
enum_LogDeliveryStatus := [ "ENABLED", "DISABLED" ]
enum_MonitorConfigState := [ "PENDING", "ACTIVE", "INACTIVE", "ERROR" ]

valid {
    input.Body.ResourcesToAdd[_] == STRING
    input.Body.ResourcesToRemove[_] == STRING
    input.Body.Status == enum_MonitorConfigState[_]
    input.Body.ClientToken == STRING
    input.Body.MaxCityNetworksToMonitor == INTEGER
    input.Body.InternetMeasurementsLogDelivery.S3Config.BucketName == STRING
    input.Body.InternetMeasurementsLogDelivery.S3Config.BucketPrefix == STRING
    input.Body.InternetMeasurementsLogDelivery.S3Config.LogDeliveryStatus == enum_LogDeliveryStatus[_]
    input.Body.TrafficPercentageToMonitor == INTEGER
    input.Body.HealthEventsConfig.AvailabilityScoreThreshold == DOUBLE
    input.Body.HealthEventsConfig.PerformanceScoreThreshold == DOUBLE
    input.Body.HealthEventsConfig.AvailabilityLocalHealthEventsConfig.Status == enum_LocalHealthEventsConfigStatus[_]
    input.Body.HealthEventsConfig.AvailabilityLocalHealthEventsConfig.HealthScoreThreshold == DOUBLE
    input.Body.HealthEventsConfig.AvailabilityLocalHealthEventsConfig.MinTrafficImpact == DOUBLE
    input.Body.HealthEventsConfig.PerformanceLocalHealthEventsConfig.Status == enum_LocalHealthEventsConfigStatus[_]
    input.Body.HealthEventsConfig.PerformanceLocalHealthEventsConfig.HealthScoreThreshold == DOUBLE
    input.Body.HealthEventsConfig.PerformanceLocalHealthEventsConfig.MinTrafficImpact == DOUBLE
    input.ReqMap.MonitorName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}