CLEANROOMSML

CancelTrainedModel

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

CancelTrainedModelInferenceJob

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

CreateAudienceModel

valid {
    input.Body.trainingDataStartTime == TIMESTAMP
    input.Body.trainingDataEndTime == TIMESTAMP
    input.Body.name == STRING
    input.Body.trainingDatasetArn == STRING
    input.Body.kmsKeyArn == STRING
    input.Body.tags.STRING == STRING
    input.Body.description == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConfiguredAudienceModel

enum_AudienceSizeType := [ "ABSOLUTE", "PERCENTAGE" ]
enum_SharedAudienceMetrics := [ "ALL", "NONE" ]
enum_TagOnCreatePolicy := [ "FROM_PARENT_RESOURCE", "NONE" ]

valid {
    input.Body.name == STRING
    input.Body.audienceModelArn == STRING
    input.Body.outputConfig.destination.s3Destination.s3Uri == STRING
    input.Body.outputConfig.roleArn == STRING
    input.Body.description == STRING
    input.Body.sharedAudienceMetrics[_] == enum_SharedAudienceMetrics[_]
    input.Body.minMatchingSeedSize == INTEGER
    input.Body.audienceSizeConfig.audienceSizeType == enum_AudienceSizeType[_]
    input.Body.audienceSizeConfig.audienceSizeBins[_] == INTEGER
    input.Body.tags.STRING == STRING
    input.Body.childResourceTagOnCreatePolicy == enum_TagOnCreatePolicy[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConfiguredModelAlgorithm

valid {
    input.Body.name == STRING
    input.Body.description == STRING
    input.Body.roleArn == STRING
    input.Body.trainingContainerConfig.imageUri == STRING
    input.Body.trainingContainerConfig.entrypoint[_] == STRING
    input.Body.trainingContainerConfig.arguments[_] == STRING
    input.Body.trainingContainerConfig.metricDefinitions[_].name == STRING
    input.Body.trainingContainerConfig.metricDefinitions[_].regex == STRING
    input.Body.inferenceContainerConfig.imageUri == STRING
    input.Body.tags.STRING == STRING
    input.Body.kmsKeyArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConfiguredModelAlgorithmAssociation

enum_NoiseLevelType := [ "HIGH", "MEDIUM", "LOW", "NONE" ]
enum_TrainedModelExportFileType := [ "MODEL", "OUTPUT" ]
enum_TrainedModelExportsMaxSizeUnitType := [ "GB" ]
enum_TrainedModelInferenceMaxOutputSizeUnitType := [ "GB" ]

valid {
    input.Body.configuredModelAlgorithmArn == STRING
    input.Body.name == STRING
    input.Body.description == STRING
    input.Body.privacyConfiguration.policies.trainedModels.containerLogs[_].allowedAccountIds[_] == STRING
    input.Body.privacyConfiguration.policies.trainedModels.containerLogs[_].filterPattern == STRING
    input.Body.privacyConfiguration.policies.trainedModels.containerMetrics.noiseLevel == enum_NoiseLevelType[_]
    input.Body.privacyConfiguration.policies.trainedModelExports.maxSize.unit == enum_TrainedModelExportsMaxSizeUnitType[_]
    input.Body.privacyConfiguration.policies.trainedModelExports.maxSize.value == DOUBLE
    input.Body.privacyConfiguration.policies.trainedModelExports.filesToExport[_] == enum_TrainedModelExportFileType[_]
    input.Body.privacyConfiguration.policies.trainedModelInferenceJobs.containerLogs[_].allowedAccountIds[_] == STRING
    input.Body.privacyConfiguration.policies.trainedModelInferenceJobs.containerLogs[_].filterPattern == STRING
    input.Body.privacyConfiguration.policies.trainedModelInferenceJobs.maxOutputSize.unit == enum_TrainedModelInferenceMaxOutputSizeUnitType[_]
    input.Body.privacyConfiguration.policies.trainedModelInferenceJobs.maxOutputSize.value == DOUBLE
    input.Body.tags.STRING == STRING
    input.ReqMap.membershipIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateMLInputChannel

enum_WorkerComputeType := [ "CR.1X", "CR.4X" ]

valid {
    input.Body.configuredModelAlgorithmAssociations[_] == STRING
    input.Body.inputChannel.dataSource.protectedQueryInputParameters.sqlParameters.queryString == STRING
    input.Body.inputChannel.dataSource.protectedQueryInputParameters.sqlParameters.analysisTemplateArn == STRING
    input.Body.inputChannel.dataSource.protectedQueryInputParameters.sqlParameters.parameters.STRING == STRING
    input.Body.inputChannel.dataSource.protectedQueryInputParameters.computeConfiguration.worker.type == enum_WorkerComputeType[_]
    input.Body.inputChannel.dataSource.protectedQueryInputParameters.computeConfiguration.worker.number == INTEGER
    input.Body.inputChannel.roleArn == STRING
    input.Body.name == STRING
    input.Body.retentionInDays == INTEGER
    input.Body.description == STRING
    input.Body.kmsKeyArn == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.membershipIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTrainedModel

enum_InstanceType := [ "ml.m4.xlarge", "ml.m4.2xlarge", "ml.m4.4xlarge", "ml.m4.10xlarge", "ml.m4.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.12xlarge", "ml.m5.24xlarge", "ml.c4.xlarge", "ml.c4.2xlarge", "ml.c4.4xlarge", "ml.c4.8xlarge", "ml.p2.xlarge", "ml.p2.8xlarge", "ml.p2.16xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.p3dn.24xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.p5.48xlarge", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.18xlarge", "ml.c5n.xlarge", "ml.c5n.2xlarge", "ml.c5n.4xlarge", "ml.c5n.9xlarge", "ml.c5n.18xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.16xlarge", "ml.g5.12xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.trn1.2xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge", "ml.m6i.large", "ml.m6i.xlarge", "ml.m6i.2xlarge", "ml.m6i.4xlarge", "ml.m6i.8xlarge", "ml.m6i.12xlarge", "ml.m6i.16xlarge", "ml.m6i.24xlarge", "ml.m6i.32xlarge", "ml.c6i.xlarge", "ml.c6i.2xlarge", "ml.c6i.8xlarge", "ml.c6i.4xlarge", "ml.c6i.12xlarge", "ml.c6i.16xlarge", "ml.c6i.24xlarge", "ml.c6i.32xlarge", "ml.r5d.large", "ml.r5d.xlarge", "ml.r5d.2xlarge", "ml.r5d.4xlarge", "ml.r5d.8xlarge", "ml.r5d.12xlarge", "ml.r5d.16xlarge", "ml.r5d.24xlarge", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge" ]

valid {
    input.Body.name == STRING
    input.Body.configuredModelAlgorithmAssociationArn == STRING
    input.Body.hyperparameters.STRING == STRING
    input.Body.environment.STRING == STRING
    input.Body.resourceConfig.instanceCount == INTEGER
    input.Body.resourceConfig.instanceType == enum_InstanceType[_]
    input.Body.resourceConfig.volumeSizeInGB == INTEGER
    input.Body.stoppingCondition.maxRuntimeInSeconds == INTEGER
    input.Body.dataChannels[_].mlInputChannelArn == STRING
    input.Body.dataChannels[_].channelName == STRING
    input.Body.description == STRING
    input.Body.kmsKeyArn == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.membershipIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTrainingDataset

enum_ColumnType := [ "USER_ID", "ITEM_ID", "TIMESTAMP", "CATEGORICAL_FEATURE", "NUMERICAL_FEATURE" ]
enum_DatasetType := [ "INTERACTIONS" ]

valid {
    input.Body.name == STRING
    input.Body.roleArn == STRING
    input.Body.trainingData[_].type == enum_DatasetType[_]
    input.Body.trainingData[_].inputConfig.schema[_].columnName == STRING
    input.Body.trainingData[_].inputConfig.schema[_].columnTypes[_] == enum_ColumnType[_]
    input.Body.trainingData[_].inputConfig.dataSource.glueDataSource.tableName == STRING
    input.Body.trainingData[_].inputConfig.dataSource.glueDataSource.databaseName == STRING
    input.Body.trainingData[_].inputConfig.dataSource.glueDataSource.catalogId == STRING
    input.Body.tags.STRING == STRING
    input.Body.description == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAudienceGenerationJob

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

DeleteAudienceModel

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

DeleteConfiguredAudienceModel

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

DeleteConfiguredAudienceModelPolicy

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

DeleteConfiguredModelAlgorithm

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

DeleteConfiguredModelAlgorithmAssociation

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

DeleteMLConfiguration

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

DeleteMLInputChannelData

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

DeleteTrainedModelOutput

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

DeleteTrainingDataset

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

GetAudienceGenerationJob

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

GetAudienceModel

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

GetCollaborationConfiguredModelAlgorithmAssociation

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

GetCollaborationMLInputChannel

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

GetCollaborationTrainedModel

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

GetConfiguredAudienceModel

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

GetConfiguredAudienceModelPolicy

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

GetConfiguredModelAlgorithm

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

GetConfiguredModelAlgorithmAssociation

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

GetMLConfiguration

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

GetMLInputChannel

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

GetTrainedModel

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

GetTrainedModelInferenceJob

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

GetTrainingDataset

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

ListAudienceExportJobs

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

ListAudienceGenerationJobs

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

ListAudienceModels

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

ListCollaborationConfiguredModelAlgorithmAssociations

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

ListCollaborationMLInputChannels

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

ListCollaborationTrainedModelExportJobs

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

ListCollaborationTrainedModelInferenceJobs

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

ListCollaborationTrainedModels

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

ListConfiguredAudienceModels

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

ListConfiguredModelAlgorithmAssociations

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

ListConfiguredModelAlgorithms

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

ListMLInputChannels

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

ListTrainedModelInferenceJobs

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

ListTrainedModels

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

ListTrainingDatasets

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

PutConfiguredAudienceModelPolicy

enum_PolicyExistenceCondition := [ "POLICY_MUST_EXIST", "POLICY_MUST_NOT_EXIST" ]

valid {
    input.Body.configuredAudienceModelPolicy == STRING
    input.Body.previousPolicyHash == STRING
    input.Body.policyExistenceCondition == enum_PolicyExistenceCondition[_]
    input.ReqMap.configuredAudienceModelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutMLConfiguration

valid {
    input.Body.defaultOutputLocation.destination.s3Destination.s3Uri == STRING
    input.Body.defaultOutputLocation.roleArn == STRING
    input.ReqMap.membershipIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartAudienceExportJob

enum_AudienceSizeType := [ "ABSOLUTE", "PERCENTAGE" ]

valid {
    input.Body.name == STRING
    input.Body.audienceGenerationJobArn == STRING
    input.Body.audienceSize.type == enum_AudienceSizeType[_]
    input.Body.audienceSize.value == INTEGER
    input.Body.description == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartAudienceGenerationJob

valid {
    input.Body.name == STRING
    input.Body.configuredAudienceModelArn == STRING
    input.Body.seedAudience.dataSource.s3Uri == STRING
    input.Body.seedAudience.roleArn == STRING
    input.Body.seedAudience.sqlParameters.queryString == STRING
    input.Body.seedAudience.sqlParameters.analysisTemplateArn == STRING
    input.Body.seedAudience.sqlParameters.parameters.STRING == STRING
    input.Body.includeSeedInOutput == BOOLEAN
    input.Body.collaborationId == STRING
    input.Body.description == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartTrainedModelExportJob

valid {
    input.Body.name == STRING
    input.Body.outputConfiguration.members[_].accountId == STRING
    input.Body.description == STRING
    input.ReqMap.trainedModelArn == STRING
    input.ReqMap.membershipIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartTrainedModelInferenceJob

enum_InferenceInstanceType := [ "ml.r7i.48xlarge", "ml.r6i.16xlarge", "ml.m6i.xlarge", "ml.m5.4xlarge", "ml.p2.xlarge", "ml.m4.16xlarge", "ml.r7i.16xlarge", "ml.m7i.xlarge", "ml.m6i.12xlarge", "ml.r7i.8xlarge", "ml.r7i.large", "ml.m7i.12xlarge", "ml.m6i.24xlarge", "ml.m7i.24xlarge", "ml.r6i.8xlarge", "ml.r6i.large", "ml.g5.2xlarge", "ml.m5.large", "ml.p3.16xlarge", "ml.m7i.48xlarge", "ml.m6i.16xlarge", "ml.p2.16xlarge", "ml.g5.4xlarge", "ml.m7i.16xlarge", "ml.c4.2xlarge", "ml.c5.2xlarge", "ml.c6i.32xlarge", "ml.c4.4xlarge", "ml.g5.8xlarge", "ml.c6i.xlarge", "ml.c5.4xlarge", "ml.g4dn.xlarge", "ml.c7i.xlarge", "ml.c6i.12xlarge", "ml.g4dn.12xlarge", "ml.c7i.12xlarge", "ml.c6i.24xlarge", "ml.g4dn.2xlarge", "ml.c7i.24xlarge", "ml.c7i.2xlarge", "ml.c4.8xlarge", "ml.c6i.2xlarge", "ml.g4dn.4xlarge", "ml.c7i.48xlarge", "ml.c7i.4xlarge", "ml.c6i.16xlarge", "ml.c5.9xlarge", "ml.g4dn.16xlarge", "ml.c7i.16xlarge", "ml.c6i.4xlarge", "ml.c5.xlarge", "ml.c4.xlarge", "ml.g4dn.8xlarge", "ml.c7i.8xlarge", "ml.c7i.large", "ml.g5.xlarge", "ml.c6i.8xlarge", "ml.c6i.large", "ml.g5.12xlarge", "ml.g5.24xlarge", "ml.m7i.2xlarge", "ml.c5.18xlarge", "ml.g5.48xlarge", "ml.m6i.2xlarge", "ml.g5.16xlarge", "ml.m7i.4xlarge", "ml.p3.2xlarge", "ml.r6i.32xlarge", "ml.m6i.4xlarge", "ml.m5.xlarge", "ml.m4.10xlarge", "ml.r6i.xlarge", "ml.m5.12xlarge", "ml.m4.xlarge", "ml.r7i.2xlarge", "ml.r7i.xlarge", "ml.r6i.12xlarge", "ml.m5.24xlarge", "ml.r7i.12xlarge", "ml.m7i.8xlarge", "ml.m7i.large", "ml.r6i.24xlarge", "ml.r6i.2xlarge", "ml.m4.2xlarge", "ml.r7i.24xlarge", "ml.r7i.4xlarge", "ml.m6i.8xlarge", "ml.m6i.large", "ml.m5.2xlarge", "ml.p2.8xlarge", "ml.r6i.4xlarge", "ml.m6i.32xlarge", "ml.p3.8xlarge", "ml.m4.4xlarge" ]

valid {
    input.Body.name == STRING
    input.Body.trainedModelArn == STRING
    input.Body.configuredModelAlgorithmAssociationArn == STRING
    input.Body.resourceConfig.instanceType == enum_InferenceInstanceType[_]
    input.Body.resourceConfig.instanceCount == INTEGER
    input.Body.outputConfiguration.accept == STRING
    input.Body.outputConfiguration.members[_].accountId == STRING
    input.Body.dataSource.mlInputChannelArn == STRING
    input.Body.description == STRING
    input.Body.containerExecutionParameters.maxPayloadInMB == INTEGER
    input.Body.environment.STRING == STRING
    input.Body.kmsKeyArn == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.membershipIdentifier == 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
}

UpdateConfiguredAudienceModel

enum_AudienceSizeType := [ "ABSOLUTE", "PERCENTAGE" ]
enum_SharedAudienceMetrics := [ "ALL", "NONE" ]

valid {
    input.Body.outputConfig.destination.s3Destination.s3Uri == STRING
    input.Body.outputConfig.roleArn == STRING
    input.Body.audienceModelArn == STRING
    input.Body.sharedAudienceMetrics[_] == enum_SharedAudienceMetrics[_]
    input.Body.minMatchingSeedSize == INTEGER
    input.Body.audienceSizeConfig.audienceSizeType == enum_AudienceSizeType[_]
    input.Body.audienceSizeConfig.audienceSizeBins[_] == INTEGER
    input.Body.description == STRING
    input.ReqMap.configuredAudienceModelArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}