NETWORKFLOWMONITOR

CreateMonitor

enum_MonitorLocalResourceType := [ "AWS::EC2::VPC", "AWS::AvailabilityZone", "AWS::EC2::Subnet" ]
enum_MonitorRemoteResourceType := [ "AWS::EC2::VPC", "AWS::AvailabilityZone", "AWS::EC2::Subnet", "AWS::AWSService" ]

valid {
    input.Body.monitorName == STRING
    input.Body.localResources[_].type == enum_MonitorLocalResourceType[_]
    input.Body.localResources[_].identifier == STRING
    input.Body.remoteResources[_].type == enum_MonitorRemoteResourceType[_]
    input.Body.remoteResources[_].identifier == STRING
    input.Body.scopeArn == STRING
    input.Body.clientToken == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateScope

enum_TargetType := [ "ACCOUNT" ]

valid {
    input.Body.targets[_].targetIdentifier.targetId.accountId == STRING
    input.Body.targets[_].targetIdentifier.targetType == enum_TargetType[_]
    input.Body.targets[_].region == STRING
    input.Body.clientToken == STRING
    input.Body.tags.STRING == STRING
    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
}

DeleteScope

valid {
    input.ReqMap.scopeId == 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
}

GetQueryResultsMonitorTopContributors

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
}

GetQueryResultsWorkloadInsightsTopContributors

valid {
    input.ReqMap.scopeId == 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
}

GetQueryResultsWorkloadInsightsTopContributorsData

valid {
    input.ReqMap.scopeId == 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
}

GetQueryStatusMonitorTopContributors

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

GetQueryStatusWorkloadInsightsTopContributors

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

GetQueryStatusWorkloadInsightsTopContributorsData

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

GetScope

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

ListMonitors

enum_MonitorStatus := [ "PENDING", "ACTIVE", "INACTIVE", "ERROR", "DELETING" ]

valid {
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.monitorStatus == enum_MonitorStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListScopes

valid {
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    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
}

StartQueryMonitorTopContributors

enum_DestinationCategory := [ "INTRA_AZ", "INTER_AZ", "INTER_VPC", "UNCLASSIFIED", "AMAZON_S3", "AMAZON_DYNAMODB" ]
enum_MonitorMetric := [ "ROUND_TRIP_TIME", "TIMEOUTS", "RETRANSMISSIONS", "DATA_TRANSFERRED" ]

valid {
    input.Body.startTime == TIMESTAMP
    input.Body.endTime == TIMESTAMP
    input.Body.metricName == enum_MonitorMetric[_]
    input.Body.destinationCategory == enum_DestinationCategory[_]
    input.Body.limit == INTEGER
    input.ReqMap.monitorName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartQueryWorkloadInsightsTopContributors

enum_DestinationCategory := [ "INTRA_AZ", "INTER_AZ", "INTER_VPC", "UNCLASSIFIED", "AMAZON_S3", "AMAZON_DYNAMODB" ]
enum_WorkloadInsightsMetric := [ "TIMEOUTS", "RETRANSMISSIONS", "DATA_TRANSFERRED" ]

valid {
    input.Body.startTime == TIMESTAMP
    input.Body.endTime == TIMESTAMP
    input.Body.metricName == enum_WorkloadInsightsMetric[_]
    input.Body.destinationCategory == enum_DestinationCategory[_]
    input.Body.limit == INTEGER
    input.ReqMap.scopeId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartQueryWorkloadInsightsTopContributorsData

enum_DestinationCategory := [ "INTRA_AZ", "INTER_AZ", "INTER_VPC", "UNCLASSIFIED", "AMAZON_S3", "AMAZON_DYNAMODB" ]
enum_WorkloadInsightsMetric := [ "TIMEOUTS", "RETRANSMISSIONS", "DATA_TRANSFERRED" ]

valid {
    input.Body.startTime == TIMESTAMP
    input.Body.endTime == TIMESTAMP
    input.Body.metricName == enum_WorkloadInsightsMetric[_]
    input.Body.destinationCategory == enum_DestinationCategory[_]
    input.ReqMap.scopeId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopQueryMonitorTopContributors

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

StopQueryWorkloadInsightsTopContributors

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

StopQueryWorkloadInsightsTopContributorsData

valid {
    input.ReqMap.scopeId == 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_MonitorLocalResourceType := [ "AWS::EC2::VPC", "AWS::AvailabilityZone", "AWS::EC2::Subnet" ]
enum_MonitorRemoteResourceType := [ "AWS::EC2::VPC", "AWS::AvailabilityZone", "AWS::EC2::Subnet", "AWS::AWSService" ]

valid {
    input.Body.localResourcesToAdd[_].type == enum_MonitorLocalResourceType[_]
    input.Body.localResourcesToAdd[_].identifier == STRING
    input.Body.localResourcesToRemove[_].type == enum_MonitorLocalResourceType[_]
    input.Body.localResourcesToRemove[_].identifier == STRING
    input.Body.remoteResourcesToAdd[_].type == enum_MonitorRemoteResourceType[_]
    input.Body.remoteResourcesToAdd[_].identifier == STRING
    input.Body.remoteResourcesToRemove[_].type == enum_MonitorRemoteResourceType[_]
    input.Body.remoteResourcesToRemove[_].identifier == STRING
    input.Body.clientToken == STRING
    input.ReqMap.monitorName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateScope

enum_TargetType := [ "ACCOUNT" ]

valid {
    input.Body.resourcesToAdd[_].targetIdentifier.targetId.accountId == STRING
    input.Body.resourcesToAdd[_].targetIdentifier.targetType == enum_TargetType[_]
    input.Body.resourcesToAdd[_].region == STRING
    input.Body.resourcesToDelete[_].targetIdentifier.targetId.accountId == STRING
    input.Body.resourcesToDelete[_].targetIdentifier.targetType == enum_TargetType[_]
    input.Body.resourcesToDelete[_].region == STRING
    input.ReqMap.scopeId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}