SERVERLESSREPO

CreateApplication

valid {
    input.Body.author == STRING
    input.Body.description == STRING
    input.Body.homePageUrl == STRING
    input.Body.labels[_] == STRING
    input.Body.licenseBody == STRING
    input.Body.licenseUrl == STRING
    input.Body.name == STRING
    input.Body.readmeBody == STRING
    input.Body.readmeUrl == STRING
    input.Body.semanticVersion == STRING
    input.Body.sourceCodeArchiveUrl == STRING
    input.Body.sourceCodeUrl == STRING
    input.Body.spdxLicenseId == STRING
    input.Body.templateBody == STRING
    input.Body.templateUrl == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateApplicationVersion

valid {
    input.Body.sourceCodeArchiveUrl == STRING
    input.Body.sourceCodeUrl == STRING
    input.Body.templateBody == STRING
    input.Body.templateUrl == STRING
    input.ReqMap.applicationId == STRING
    input.ReqMap.semanticVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateCloudFormationChangeSet

valid {
    input.Body.capabilities[_] == STRING
    input.Body.changeSetName == STRING
    input.Body.clientToken == STRING
    input.Body.description == STRING
    input.Body.notificationArns[_] == STRING
    input.Body.parameterOverrides[_].name == STRING
    input.Body.parameterOverrides[_].value == STRING
    input.Body.resourceTypes[_] == STRING
    input.Body.rollbackConfiguration.monitoringTimeInMinutes == INTEGER
    input.Body.rollbackConfiguration.rollbackTriggers[_].arn == STRING
    input.Body.rollbackConfiguration.rollbackTriggers[_].type == STRING
    input.Body.semanticVersion == STRING
    input.Body.stackName == STRING
    input.Body.tags[_].key == STRING
    input.Body.tags[_].value == STRING
    input.Body.templateId == STRING
    input.ReqMap.applicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateCloudFormationTemplate

valid {
    input.Body.semanticVersion == STRING
    input.ReqMap.applicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteApplication

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

GetApplication

valid {
    input.ReqMap.applicationId == STRING
    input.Qs.semanticVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetApplicationPolicy

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

GetCloudFormationTemplate

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

ListApplicationDependencies

valid {
    input.ReqMap.applicationId == STRING
    input.Qs.maxItems == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.semanticVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListApplicationVersions

valid {
    input.ReqMap.applicationId == STRING
    input.Qs.maxItems == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListApplications

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

PutApplicationPolicy

valid {
    input.Body.statements[_].actions[_] == STRING
    input.Body.statements[_].principalOrgIDs[_] == STRING
    input.Body.statements[_].principals[_] == STRING
    input.Body.statements[_].statementId == STRING
    input.ReqMap.applicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UnshareApplication

valid {
    input.Body.organizationId == STRING
    input.ReqMap.applicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateApplication

valid {
    input.Body.author == STRING
    input.Body.description == STRING
    input.Body.homePageUrl == STRING
    input.Body.labels[_] == STRING
    input.Body.readmeBody == STRING
    input.Body.readmeUrl == STRING
    input.ReqMap.applicationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}