AssociateConfigurationItemsToApplication

valid {
    input.Body.applicationConfigurationId == STRING
    input.Body.configurationIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchDeleteAgents

valid {
    input.Body.deleteAgents[_].agentId == STRING
    input.Body.deleteAgents[_].force == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

BatchDeleteImportData

valid {
    input.Body.importTaskIds[_] == STRING
    input.Body.deleteHistory == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateApplication

valid {
    input.Body.name == STRING
    input.Body.description == STRING
    input.Body.wave == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTags

valid {
    input.Body.configurationIds[_] == STRING
    input.Body.tags[_].key == STRING
    input.Body.tags[_].value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplications

valid {
    input.Body.configurationIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTags

valid {
    input.Body.configurationIds[_] == STRING
    input.Body.tags[_].key == STRING
    input.Body.tags[_].value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAgents

valid {
    input.Body.agentIds[_] == STRING
    input.Body.filters[_].name == STRING
    input.Body.filters[_].values[_] == STRING
    input.Body.filters[_].condition == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeBatchDeleteConfigurationTask

valid {
    input.Body.taskId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeConfigurations

valid {
    input.Body.configurationIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeContinuousExports

valid {
    input.Body.exportIds[_] == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeExportConfigurations

valid {
    input.Body.exportIds[_] == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeExportTasks

valid {
    input.Body.exportIds[_] == STRING
    input.Body.filters[_].name == STRING
    input.Body.filters[_].values[_] == STRING
    input.Body.filters[_].condition == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeImportTasks

enum_ImportTaskFilterName := [ "IMPORT_TASK_ID", "STATUS", "NAME", "FILE_CLASSIFICATION" ]

valid {
    input.Body.filters[_].name == enum_ImportTaskFilterName[_]
    input.Body.filters[_].values[_] == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeTags

valid {
    input.Body.filters[_].name == STRING
    input.Body.filters[_].values[_] == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateConfigurationItemsFromApplication

valid {
    input.Body.applicationConfigurationId == STRING
    input.Body.configurationIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ExportConfigurations

valid {
    input.Body.applicationConfigurationId == STRING
    input.Body.configurationIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDiscoverySummary

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

ListConfigurations

enum_ConfigurationItemType := [ "SERVER", "PROCESS", "CONNECTION", "APPLICATION" ]
enum_orderString := [ "ASC", "DESC" ]

valid {
    input.Body.configurationType == enum_ConfigurationItemType[_]
    input.Body.filters[_].name == STRING
    input.Body.filters[_].values[_] == STRING
    input.Body.filters[_].condition == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.orderBy[_].fieldName == STRING
    input.Body.orderBy[_].sortOrder == enum_orderString[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListServerNeighbors

valid {
    input.Body.configurationId == STRING
    input.Body.portInformationNeeded == BOOLEAN
    input.Body.neighborConfigurationIds[_] == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartBatchDeleteConfigurationTask

enum_DeletionConfigurationItemType := [ "SERVER" ]

valid {
    input.Body.configurationType == enum_DeletionConfigurationItemType[_]
    input.Body.configurationIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartContinuousExport

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

StartDataCollectionByAgentIds

valid {
    input.Body.agentIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartExportTask

enum_ExportDataFormat := [ "CSV" ]
enum_OfferingClass := [ "STANDARD", "CONVERTIBLE" ]
enum_PurchasingOption := [ "ALL_UPFRONT", "PARTIAL_UPFRONT", "NO_UPFRONT" ]
enum_Tenancy := [ "DEDICATED", "SHARED" ]
enum_TermLength := [ "ONE_YEAR", "THREE_YEAR" ]

valid {
    input.Body.exportDataFormat[_] == enum_ExportDataFormat[_]
    input.Body.filters[_].name == STRING
    input.Body.filters[_].values[_] == STRING
    input.Body.filters[_].condition == STRING
    input.Body.startTime == TIMESTAMP
    input.Body.endTime == TIMESTAMP
    input.Body.preferences.ec2RecommendationsPreferences.enabled == BOOLEAN
    input.Body.preferences.ec2RecommendationsPreferences.cpuPerformanceMetricBasis.name == STRING
    input.Body.preferences.ec2RecommendationsPreferences.cpuPerformanceMetricBasis.percentageAdjust == DOUBLE
    input.Body.preferences.ec2RecommendationsPreferences.ramPerformanceMetricBasis.name == STRING
    input.Body.preferences.ec2RecommendationsPreferences.ramPerformanceMetricBasis.percentageAdjust == DOUBLE
    input.Body.preferences.ec2RecommendationsPreferences.tenancy == enum_Tenancy[_]
    input.Body.preferences.ec2RecommendationsPreferences.excludedInstanceTypes[_] == STRING
    input.Body.preferences.ec2RecommendationsPreferences.preferredRegion == STRING
    input.Body.preferences.ec2RecommendationsPreferences.reservedInstanceOptions.purchasingOption == enum_PurchasingOption[_]
    input.Body.preferences.ec2RecommendationsPreferences.reservedInstanceOptions.offeringClass == enum_OfferingClass[_]
    input.Body.preferences.ec2RecommendationsPreferences.reservedInstanceOptions.termLength == enum_TermLength[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartImportTask

valid {
    input.Body.clientRequestToken == STRING
    input.Body.name == STRING
    input.Body.importUrl == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopContinuousExport

valid {
    input.Body.exportId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopDataCollectionByAgentIds

valid {
    input.Body.agentIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateApplication

valid {
    input.Body.configurationId == STRING
    input.Body.name == STRING
    input.Body.description == STRING
    input.Body.wave == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}