AcceptPredictions

enum_AcceptRuleBehavior := [ "ALL", "NONE" ]

valid {
    input.Body.acceptChoices[_].predictionChoice == INTEGER
    input.Body.acceptChoices[_].predictionTarget == STRING
    input.Body.acceptRule.rule == enum_AcceptRuleBehavior[_]
    input.Body.acceptRule.threshold == FLOAT
    input.Body.clientToken == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.Qs.revision == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AcceptSubscriptionRequest

valid {
    input.Body.decisionComment == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CancelSubscription

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

CreateAsset

valid {
    input.Body.clientToken == STRING
    input.Body.description == STRING
    input.Body.externalIdentifier == STRING
    input.Body.formsInput[_].content == STRING
    input.Body.formsInput[_].formName == STRING
    input.Body.formsInput[_].typeIdentifier == STRING
    input.Body.formsInput[_].typeRevision == STRING
    input.Body.glossaryTerms[_] == STRING
    input.Body.name == STRING
    input.Body.owningProjectIdentifier == STRING
    input.Body.predictionConfiguration.businessNameGeneration.enabled == BOOLEAN
    input.Body.typeIdentifier == STRING
    input.Body.typeRevision == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAssetRevision

valid {
    input.Body.clientToken == STRING
    input.Body.description == STRING
    input.Body.formsInput[_].content == STRING
    input.Body.formsInput[_].formName == STRING
    input.Body.formsInput[_].typeIdentifier == STRING
    input.Body.formsInput[_].typeRevision == STRING
    input.Body.glossaryTerms[_] == STRING
    input.Body.name == STRING
    input.Body.predictionConfiguration.businessNameGeneration.enabled == BOOLEAN
    input.Body.typeRevision == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAssetType

valid {
    input.Body.description == STRING
    input.Body.formsInput.STRING.required == BOOLEAN
    input.Body.formsInput.STRING.typeIdentifier == STRING
    input.Body.formsInput.STRING.typeRevision == STRING
    input.Body.name == STRING
    input.Body.owningProjectIdentifier == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDataSource

enum_EnableSetting := [ "ENABLED", "DISABLED" ]
enum_FilterExpressionType := [ "INCLUDE", "EXCLUDE" ]
enum_Timezone := [ "UTC", "AFRICA_JOHANNESBURG", "AMERICA_MONTREAL", "AMERICA_SAO_PAULO", "ASIA_BAHRAIN", "ASIA_BANGKOK", "ASIA_CALCUTTA", "ASIA_DUBAI", "ASIA_HONG_KONG", "ASIA_JAKARTA", "ASIA_KUALA_LUMPUR", "ASIA_SEOUL", "ASIA_SHANGHAI", "ASIA_SINGAPORE", "ASIA_TAIPEI", "ASIA_TOKYO", "AUSTRALIA_MELBOURNE", "AUSTRALIA_SYDNEY", "CANADA_CENTRAL", "CET", "CST6CDT", "ETC_GMT", "ETC_GMT0", "ETC_GMT_ADD_0", "ETC_GMT_ADD_1", "ETC_GMT_ADD_10", "ETC_GMT_ADD_11", "ETC_GMT_ADD_12", "ETC_GMT_ADD_2", "ETC_GMT_ADD_3", "ETC_GMT_ADD_4", "ETC_GMT_ADD_5", "ETC_GMT_ADD_6", "ETC_GMT_ADD_7", "ETC_GMT_ADD_8", "ETC_GMT_ADD_9", "ETC_GMT_NEG_0", "ETC_GMT_NEG_1", "ETC_GMT_NEG_10", "ETC_GMT_NEG_11", "ETC_GMT_NEG_12", "ETC_GMT_NEG_13", "ETC_GMT_NEG_14", "ETC_GMT_NEG_2", "ETC_GMT_NEG_3", "ETC_GMT_NEG_4", "ETC_GMT_NEG_5", "ETC_GMT_NEG_6", "ETC_GMT_NEG_7", "ETC_GMT_NEG_8", "ETC_GMT_NEG_9", "EUROPE_DUBLIN", "EUROPE_LONDON", "EUROPE_PARIS", "EUROPE_STOCKHOLM", "EUROPE_ZURICH", "ISRAEL", "MEXICO_GENERAL", "MST7MDT", "PACIFIC_AUCKLAND", "US_CENTRAL", "US_EASTERN", "US_MOUNTAIN", "US_PACIFIC" ]

valid {
    input.Body.assetFormsInput[_].content == STRING
    input.Body.assetFormsInput[_].formName == STRING
    input.Body.assetFormsInput[_].typeIdentifier == STRING
    input.Body.assetFormsInput[_].typeRevision == STRING
    input.Body.clientToken == STRING
    input.Body.configuration.glueRunConfiguration.dataAccessRole == STRING
    input.Body.configuration.glueRunConfiguration.relationalFilterConfigurations[_].databaseName == STRING
    input.Body.configuration.glueRunConfiguration.relationalFilterConfigurations[_].filterExpressions[_].expression == STRING
    input.Body.configuration.glueRunConfiguration.relationalFilterConfigurations[_].filterExpressions[_].type == enum_FilterExpressionType[_]
    input.Body.configuration.glueRunConfiguration.relationalFilterConfigurations[_].schemaName == STRING
    input.Body.configuration.redshiftRunConfiguration.dataAccessRole == STRING
    input.Body.configuration.redshiftRunConfiguration.redshiftCredentialConfiguration.secretManagerArn == STRING
    input.Body.configuration.redshiftRunConfiguration.redshiftStorage.redshiftClusterSource.clusterName == STRING
    input.Body.configuration.redshiftRunConfiguration.redshiftStorage.redshiftServerlessSource.workgroupName == STRING
    input.Body.configuration.redshiftRunConfiguration.relationalFilterConfigurations[_].databaseName == STRING
    input.Body.configuration.redshiftRunConfiguration.relationalFilterConfigurations[_].filterExpressions[_].expression == STRING
    input.Body.configuration.redshiftRunConfiguration.relationalFilterConfigurations[_].filterExpressions[_].type == enum_FilterExpressionType[_]
    input.Body.configuration.redshiftRunConfiguration.relationalFilterConfigurations[_].schemaName == STRING
    input.Body.description == STRING
    input.Body.enableSetting == enum_EnableSetting[_]
    input.Body.environmentIdentifier == STRING
    input.Body.name == STRING
    input.Body.projectIdentifier == STRING
    input.Body.publishOnImport == BOOLEAN
    input.Body.recommendation.enableBusinessNameGeneration == BOOLEAN
    input.Body.schedule.schedule == STRING
    input.Body.schedule.timezone == enum_Timezone[_]
    input.Body.type == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDomain

enum_AuthType := [ "IAM_IDC", "DISABLED" ]
enum_UserAssignment := [ "AUTOMATIC", "MANUAL" ]

valid {
    input.Body.clientToken == STRING
    input.Body.description == STRING
    input.Body.domainExecutionRole == STRING
    input.Body.kmsKeyIdentifier == STRING
    input.Body.name == STRING
    input.Body.singleSignOn.type == enum_AuthType[_]
    input.Body.singleSignOn.userAssignment == enum_UserAssignment[_]
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateEnvironment

valid {
    input.Body.description == STRING
    input.Body.environmentProfileIdentifier == STRING
    input.Body.glossaryTerms[_] == STRING
    input.Body.name == STRING
    input.Body.projectIdentifier == STRING
    input.Body.userParameters[_].name == STRING
    input.Body.userParameters[_].value == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateEnvironmentProfile

valid {
    input.Body.awsAccountId == STRING
    input.Body.awsAccountRegion == STRING
    input.Body.description == STRING
    input.Body.environmentBlueprintIdentifier == STRING
    input.Body.name == STRING
    input.Body.projectIdentifier == STRING
    input.Body.userParameters[_].name == STRING
    input.Body.userParameters[_].value == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateFormType

enum_FormTypeStatus := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.description == STRING
    input.Body.model.smithy == STRING
    input.Body.name == STRING
    input.Body.owningProjectIdentifier == STRING
    input.Body.status == enum_FormTypeStatus[_]
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateGlossary

enum_GlossaryStatus := [ "DISABLED", "ENABLED" ]

valid {
    input.Body.clientToken == STRING
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.owningProjectIdentifier == STRING
    input.Body.status == enum_GlossaryStatus[_]
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateGlossaryTerm

enum_GlossaryTermStatus := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.clientToken == STRING
    input.Body.glossaryIdentifier == STRING
    input.Body.longDescription == STRING
    input.Body.name == STRING
    input.Body.shortDescription == STRING
    input.Body.status == enum_GlossaryTermStatus[_]
    input.Body.termRelations.classifies[_] == STRING
    input.Body.termRelations.isA[_] == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateGroupProfile

valid {
    input.Body.clientToken == STRING
    input.Body.groupIdentifier == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateListingChangeSet

enum_ChangeAction := [ "PUBLISH", "UNPUBLISH" ]
enum_EntityType := [ "ASSET" ]

valid {
    input.Body.action == enum_ChangeAction[_]
    input.Body.clientToken == STRING
    input.Body.entityIdentifier == STRING
    input.Body.entityRevision == STRING
    input.Body.entityType == enum_EntityType[_]
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateProject

valid {
    input.Body.description == STRING
    input.Body.glossaryTerms[_] == STRING
    input.Body.name == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateProjectMembership

enum_UserDesignation := [ "PROJECT_OWNER", "PROJECT_CONTRIBUTOR" ]

valid {
    input.Body.designation == enum_UserDesignation[_]
    input.Body.member.groupIdentifier == STRING
    input.Body.member.userIdentifier == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.projectIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSubscriptionGrant

valid {
    input.Body.assetTargetNames[_].assetId == STRING
    input.Body.assetTargetNames[_].targetName == STRING
    input.Body.clientToken == STRING
    input.Body.environmentIdentifier == STRING
    input.Body.grantedEntity.listing.identifier == STRING
    input.Body.grantedEntity.listing.revision == STRING
    input.Body.subscriptionTargetIdentifier == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSubscriptionRequest

valid {
    input.Body.clientToken == STRING
    input.Body.requestReason == STRING
    input.Body.subscribedListings[_].identifier == STRING
    input.Body.subscribedPrincipals[_].project.identifier == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSubscriptionTarget

valid {
    input.Body.applicableAssetTypes[_] == STRING
    input.Body.authorizedPrincipals[_] == STRING
    input.Body.clientToken == STRING
    input.Body.manageAccessRole == STRING
    input.Body.name == STRING
    input.Body.provider == STRING
    input.Body.subscriptionTargetConfig[_].content == STRING
    input.Body.subscriptionTargetConfig[_].formName == STRING
    input.Body.type == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.environmentIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateUserProfile

enum_UserType := [ "IAM_USER", "IAM_ROLE", "SSO_USER" ]

valid {
    input.Body.clientToken == STRING
    input.Body.userIdentifier == STRING
    input.Body.userType == enum_UserType[_]
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAsset

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

DeleteAssetType

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

DeleteDataSource

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.Qs.clientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDomain

valid {
    input.ReqMap.identifier == STRING
    input.Qs.clientToken == STRING
    input.Qs.skipDeletionCheck == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteEnvironment

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

DeleteEnvironmentBlueprintConfiguration

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

DeleteEnvironmentProfile

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

DeleteFormType

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

DeleteGlossary

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

DeleteGlossaryTerm

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

DeleteListing

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

DeleteProject

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.Qs.skipDeletionCheck == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteProjectMembership

valid {
    input.Body.member.groupIdentifier == STRING
    input.Body.member.userIdentifier == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.projectIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSubscriptionGrant

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

DeleteSubscriptionRequest

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

DeleteSubscriptionTarget

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.environmentIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAsset

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.Qs.revision == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAssetType

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.Qs.revision == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDataSource

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

GetDataSourceRun

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

GetDomain

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

GetEnvironment

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

GetEnvironmentBlueprint

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

GetEnvironmentBlueprintConfiguration

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

GetEnvironmentProfile

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

GetFormType

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.formTypeIdentifier == STRING
    input.Qs.revision == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetGlossary

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

GetGlossaryTerm

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

GetGroupProfile

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

GetIamPortalLoginUrl

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

GetListing

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.Qs.listingRevision == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetProject

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

GetSubscription

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

GetSubscriptionGrant

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

GetSubscriptionRequestDetails

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

GetSubscriptionTarget

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.environmentIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetUserProfile

enum_UserProfileType := [ "IAM", "SSO" ]

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.userIdentifier == STRING
    input.Qs.type == enum_UserProfileType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAssetRevisions

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

ListDataSourceRunActivities

enum_DataAssetActivityStatus := [ "FAILED", "PUBLISHING_FAILED", "SUCCEEDED_CREATED", "SUCCEEDED_UPDATED", "SKIPPED_ALREADY_IMPORTED", "SKIPPED_ARCHIVED", "SKIPPED_NO_ACCESS", "UNCHANGED" ]

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.status == enum_DataAssetActivityStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDataSourceRuns

enum_DataSourceRunStatus := [ "REQUESTED", "RUNNING", "FAILED", "PARTIALLY_SUCCEEDED", "SUCCESS" ]

valid {
    input.ReqMap.dataSourceIdentifier == STRING
    input.ReqMap.domainIdentifier == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.status == enum_DataSourceRunStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDataSources

enum_DataSourceStatus := [ "CREATING", "FAILED_CREATION", "READY", "UPDATING", "FAILED_UPDATE", "RUNNING", "DELETING", "FAILED_DELETION" ]

valid {
    input.ReqMap.domainIdentifier == STRING
    input.Qs.environmentIdentifier == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.name == STRING
    input.Qs.nextToken == STRING
    input.Qs.projectIdentifier == STRING
    input.Qs.status == enum_DataSourceStatus[_]
    input.Qs.type == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDomains

enum_DomainStatus := [ "CREATING", "AVAILABLE", "CREATION_FAILED", "DELETING", "DELETED", "DELETION_FAILED" ]

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

ListEnvironmentBlueprintConfigurations

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

ListEnvironmentBlueprints

valid {
    input.ReqMap.domainIdentifier == STRING
    input.Qs.managed == BOOLEAN
    input.Qs.maxResults == INTEGER
    input.Qs.name == STRING
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListEnvironmentProfiles

valid {
    input.ReqMap.domainIdentifier == STRING
    input.Qs.awsAccountId == STRING
    input.Qs.awsAccountRegion == STRING
    input.Qs.environmentBlueprintIdentifier == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.name == STRING
    input.Qs.nextToken == STRING
    input.Qs.projectIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListEnvironments

enum_EnvironmentStatus := [ "ACTIVE", "CREATING", "UPDATING", "DELETING", "CREATE_FAILED", "UPDATE_FAILED", "DELETE_FAILED", "VALIDATION_FAILED", "SUSPENDED", "DISABLED", "EXPIRED", "DELETED", "INACCESSIBLE" ]

valid {
    input.ReqMap.domainIdentifier == STRING
    input.Qs.awsAccountId == STRING
    input.Qs.awsAccountRegion == STRING
    input.Qs.environmentBlueprintIdentifier == STRING
    input.Qs.environmentProfileIdentifier == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.name == STRING
    input.Qs.nextToken == STRING
    input.Qs.projectIdentifier == STRING
    input.Qs.provider == STRING
    input.Qs.status == enum_EnvironmentStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListNotifications

enum_NotificationType := [ "TASK", "EVENT" ]
enum_TaskStatus := [ "ACTIVE", "INACTIVE" ]

valid {
    input.ReqMap.domainIdentifier == STRING
    input.Qs.afterTimestamp == TIMESTAMP
    input.Qs.beforeTimestamp == TIMESTAMP
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.subjects[_] == STRING
    input.Qs.taskStatus == enum_TaskStatus[_]
    input.Qs.type == enum_NotificationType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListProjectMemberships

enum_SortFieldProject := [ "NAME" ]
enum_SortOrder := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.projectIdentifier == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.sortBy == enum_SortFieldProject[_]
    input.Qs.sortOrder == enum_SortOrder[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListProjects

valid {
    input.ReqMap.domainIdentifier == STRING
    input.Qs.groupIdentifier == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.name == STRING
    input.Qs.nextToken == STRING
    input.Qs.userIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSubscriptionGrants

enum_SortKey := [ "CREATED_AT", "UPDATED_AT" ]
enum_SortOrder := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.domainIdentifier == STRING
    input.Qs.environmentId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.sortBy == enum_SortKey[_]
    input.Qs.sortOrder == enum_SortOrder[_]
    input.Qs.subscribedListingId == STRING
    input.Qs.subscriptionId == STRING
    input.Qs.subscriptionTargetId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSubscriptionRequests

enum_SortKey := [ "CREATED_AT", "UPDATED_AT" ]
enum_SortOrder := [ "ASCENDING", "DESCENDING" ]
enum_SubscriptionRequestStatus := [ "PENDING", "ACCEPTED", "REJECTED" ]

valid {
    input.ReqMap.domainIdentifier == STRING
    input.Qs.approverProjectId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.owningProjectId == STRING
    input.Qs.sortBy == enum_SortKey[_]
    input.Qs.sortOrder == enum_SortOrder[_]
    input.Qs.status == enum_SubscriptionRequestStatus[_]
    input.Qs.subscribedListingId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSubscriptionTargets

enum_SortKey := [ "CREATED_AT", "UPDATED_AT" ]
enum_SortOrder := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.environmentIdentifier == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.sortBy == enum_SortKey[_]
    input.Qs.sortOrder == enum_SortOrder[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSubscriptions

enum_SortKey := [ "CREATED_AT", "UPDATED_AT" ]
enum_SortOrder := [ "ASCENDING", "DESCENDING" ]
enum_SubscriptionStatus := [ "APPROVED", "REVOKED", "CANCELLED" ]

valid {
    input.ReqMap.domainIdentifier == STRING
    input.Qs.approverProjectId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.owningProjectId == STRING
    input.Qs.sortBy == enum_SortKey[_]
    input.Qs.sortOrder == enum_SortOrder[_]
    input.Qs.status == enum_SubscriptionStatus[_]
    input.Qs.subscribedListingId == STRING
    input.Qs.subscriptionRequestIdentifier == 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
}

PutEnvironmentBlueprintConfiguration

valid {
    input.Body.enabledRegions[_] == STRING
    input.Body.manageAccessRoleArn == STRING
    input.Body.provisioningRoleArn == STRING
    input.Body.regionalParameters.STRING.STRING == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.environmentBlueprintIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RejectPredictions

enum_RejectRuleBehavior := [ "ALL", "NONE" ]

valid {
    input.Body.clientToken == STRING
    input.Body.rejectChoices[_].predictionChoices[_] == INTEGER
    input.Body.rejectChoices[_].predictionTarget == STRING
    input.Body.rejectRule.rule == enum_RejectRuleBehavior[_]
    input.Body.rejectRule.threshold == FLOAT
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.Qs.revision == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RejectSubscriptionRequest

valid {
    input.Body.decisionComment == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RevokeSubscription

valid {
    input.Body.retainPermissions == BOOLEAN
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

Search

enum_InventorySearchScope := [ "ASSET", "GLOSSARY", "GLOSSARY_TERM" ]
enum_SearchOutputAdditionalAttribute := [ "FORMS" ]
enum_SortOrder := [ "ASCENDING", "DESCENDING" ]

valid {
    input.Body.additionalAttributes[_] == enum_SearchOutputAdditionalAttribute[_]
    input.Body.filters.and[_] == NESTED
    input.Body.filters.filter.attribute == STRING
    input.Body.filters.filter.value == STRING
    input.Body.filters.or[_] == NESTED
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.owningProjectIdentifier == STRING
    input.Body.searchIn[_].attribute == STRING
    input.Body.searchScope == enum_InventorySearchScope[_]
    input.Body.searchText == STRING
    input.Body.sort.attribute == STRING
    input.Body.sort.order == enum_SortOrder[_]
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchGroupProfiles

enum_GroupSearchType := [ "SSO_GROUP", "DATAZONE_SSO_GROUP" ]

valid {
    input.Body.groupType == enum_GroupSearchType[_]
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.searchText == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchListings

enum_SearchOutputAdditionalAttribute := [ "FORMS" ]
enum_SortOrder := [ "ASCENDING", "DESCENDING" ]

valid {
    input.Body.additionalAttributes[_] == enum_SearchOutputAdditionalAttribute[_]
    input.Body.filters.and[_] == NESTED
    input.Body.filters.filter.attribute == STRING
    input.Body.filters.filter.value == STRING
    input.Body.filters.or[_] == NESTED
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.searchIn[_].attribute == STRING
    input.Body.searchText == STRING
    input.Body.sort.attribute == STRING
    input.Body.sort.order == enum_SortOrder[_]
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchTypes

enum_SortOrder := [ "ASCENDING", "DESCENDING" ]
enum_TypesSearchScope := [ "ASSET_TYPE", "FORM_TYPE" ]

valid {
    input.Body.filters.and[_] == NESTED
    input.Body.filters.filter.attribute == STRING
    input.Body.filters.filter.value == STRING
    input.Body.filters.or[_] == NESTED
    input.Body.managed == BOOLEAN
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.searchIn[_].attribute == STRING
    input.Body.searchScope == enum_TypesSearchScope[_]
    input.Body.searchText == STRING
    input.Body.sort.attribute == STRING
    input.Body.sort.order == enum_SortOrder[_]
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchUserProfiles

enum_UserSearchType := [ "SSO_USER", "DATAZONE_USER", "DATAZONE_SSO_USER", "DATAZONE_IAM_USER" ]

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.searchText == STRING
    input.Body.userType == enum_UserSearchType[_]
    input.ReqMap.domainIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartDataSourceRun

valid {
    input.Body.clientToken == STRING
    input.ReqMap.dataSourceIdentifier == STRING
    input.ReqMap.domainIdentifier == 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
}

UpdateDataSource

enum_EnableSetting := [ "ENABLED", "DISABLED" ]
enum_FilterExpressionType := [ "INCLUDE", "EXCLUDE" ]
enum_Timezone := [ "UTC", "AFRICA_JOHANNESBURG", "AMERICA_MONTREAL", "AMERICA_SAO_PAULO", "ASIA_BAHRAIN", "ASIA_BANGKOK", "ASIA_CALCUTTA", "ASIA_DUBAI", "ASIA_HONG_KONG", "ASIA_JAKARTA", "ASIA_KUALA_LUMPUR", "ASIA_SEOUL", "ASIA_SHANGHAI", "ASIA_SINGAPORE", "ASIA_TAIPEI", "ASIA_TOKYO", "AUSTRALIA_MELBOURNE", "AUSTRALIA_SYDNEY", "CANADA_CENTRAL", "CET", "CST6CDT", "ETC_GMT", "ETC_GMT0", "ETC_GMT_ADD_0", "ETC_GMT_ADD_1", "ETC_GMT_ADD_10", "ETC_GMT_ADD_11", "ETC_GMT_ADD_12", "ETC_GMT_ADD_2", "ETC_GMT_ADD_3", "ETC_GMT_ADD_4", "ETC_GMT_ADD_5", "ETC_GMT_ADD_6", "ETC_GMT_ADD_7", "ETC_GMT_ADD_8", "ETC_GMT_ADD_9", "ETC_GMT_NEG_0", "ETC_GMT_NEG_1", "ETC_GMT_NEG_10", "ETC_GMT_NEG_11", "ETC_GMT_NEG_12", "ETC_GMT_NEG_13", "ETC_GMT_NEG_14", "ETC_GMT_NEG_2", "ETC_GMT_NEG_3", "ETC_GMT_NEG_4", "ETC_GMT_NEG_5", "ETC_GMT_NEG_6", "ETC_GMT_NEG_7", "ETC_GMT_NEG_8", "ETC_GMT_NEG_9", "EUROPE_DUBLIN", "EUROPE_LONDON", "EUROPE_PARIS", "EUROPE_STOCKHOLM", "EUROPE_ZURICH", "ISRAEL", "MEXICO_GENERAL", "MST7MDT", "PACIFIC_AUCKLAND", "US_CENTRAL", "US_EASTERN", "US_MOUNTAIN", "US_PACIFIC" ]

valid {
    input.Body.assetFormsInput[_].content == STRING
    input.Body.assetFormsInput[_].formName == STRING
    input.Body.assetFormsInput[_].typeIdentifier == STRING
    input.Body.assetFormsInput[_].typeRevision == STRING
    input.Body.configuration.glueRunConfiguration.dataAccessRole == STRING
    input.Body.configuration.glueRunConfiguration.relationalFilterConfigurations[_].databaseName == STRING
    input.Body.configuration.glueRunConfiguration.relationalFilterConfigurations[_].filterExpressions[_].expression == STRING
    input.Body.configuration.glueRunConfiguration.relationalFilterConfigurations[_].filterExpressions[_].type == enum_FilterExpressionType[_]
    input.Body.configuration.glueRunConfiguration.relationalFilterConfigurations[_].schemaName == STRING
    input.Body.configuration.redshiftRunConfiguration.dataAccessRole == STRING
    input.Body.configuration.redshiftRunConfiguration.redshiftCredentialConfiguration.secretManagerArn == STRING
    input.Body.configuration.redshiftRunConfiguration.redshiftStorage.redshiftClusterSource.clusterName == STRING
    input.Body.configuration.redshiftRunConfiguration.redshiftStorage.redshiftServerlessSource.workgroupName == STRING
    input.Body.configuration.redshiftRunConfiguration.relationalFilterConfigurations[_].databaseName == STRING
    input.Body.configuration.redshiftRunConfiguration.relationalFilterConfigurations[_].filterExpressions[_].expression == STRING
    input.Body.configuration.redshiftRunConfiguration.relationalFilterConfigurations[_].filterExpressions[_].type == enum_FilterExpressionType[_]
    input.Body.configuration.redshiftRunConfiguration.relationalFilterConfigurations[_].schemaName == STRING
    input.Body.description == STRING
    input.Body.enableSetting == enum_EnableSetting[_]
    input.Body.name == STRING
    input.Body.publishOnImport == BOOLEAN
    input.Body.recommendation.enableBusinessNameGeneration == BOOLEAN
    input.Body.schedule.schedule == STRING
    input.Body.schedule.timezone == enum_Timezone[_]
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDomain

enum_AuthType := [ "IAM_IDC", "DISABLED" ]
enum_UserAssignment := [ "AUTOMATIC", "MANUAL" ]

valid {
    input.Body.description == STRING
    input.Body.domainExecutionRole == STRING
    input.Body.name == STRING
    input.Body.singleSignOn.type == enum_AuthType[_]
    input.Body.singleSignOn.userAssignment == enum_UserAssignment[_]
    input.ReqMap.identifier == STRING
    input.Qs.clientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateEnvironment

valid {
    input.Body.description == STRING
    input.Body.glossaryTerms[_] == STRING
    input.Body.name == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateEnvironmentProfile

valid {
    input.Body.awsAccountId == STRING
    input.Body.awsAccountRegion == STRING
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.userParameters[_].name == STRING
    input.Body.userParameters[_].value == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateGlossary

enum_GlossaryStatus := [ "DISABLED", "ENABLED" ]

valid {
    input.Body.clientToken == STRING
    input.Body.description == STRING
    input.Body.name == STRING
    input.Body.status == enum_GlossaryStatus[_]
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateGlossaryTerm

enum_GlossaryTermStatus := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.glossaryIdentifier == STRING
    input.Body.longDescription == STRING
    input.Body.name == STRING
    input.Body.shortDescription == STRING
    input.Body.status == enum_GlossaryTermStatus[_]
    input.Body.termRelations.classifies[_] == STRING
    input.Body.termRelations.isA[_] == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateGroupProfile

enum_GroupProfileStatus := [ "ASSIGNED", "NOT_ASSIGNED" ]

valid {
    input.Body.status == enum_GroupProfileStatus[_]
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.groupIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateProject

valid {
    input.Body.description == STRING
    input.Body.glossaryTerms[_] == STRING
    input.Body.name == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSubscriptionGrantStatus

enum_SubscriptionGrantStatus := [ "GRANT_PENDING", "REVOKE_PENDING", "GRANT_IN_PROGRESS", "REVOKE_IN_PROGRESS", "GRANTED", "REVOKED", "GRANT_FAILED", "REVOKE_FAILED" ]

valid {
    input.Body.failureCause.message == STRING
    input.Body.status == enum_SubscriptionGrantStatus[_]
    input.Body.targetName == STRING
    input.ReqMap.assetIdentifier == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSubscriptionRequest

valid {
    input.Body.requestReason == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateSubscriptionTarget

valid {
    input.Body.applicableAssetTypes[_] == STRING
    input.Body.authorizedPrincipals[_] == STRING
    input.Body.manageAccessRole == STRING
    input.Body.name == STRING
    input.Body.provider == STRING
    input.Body.subscriptionTargetConfig[_].content == STRING
    input.Body.subscriptionTargetConfig[_].formName == STRING
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.environmentIdentifier == STRING
    input.ReqMap.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateUserProfile

enum_UserProfileStatus := [ "ASSIGNED", "NOT_ASSIGNED", "ACTIVATED", "DEACTIVATED" ]
enum_UserProfileType := [ "IAM", "SSO" ]

valid {
    input.Body.status == enum_UserProfileStatus[_]
    input.Body.type == enum_UserProfileType[_]
    input.ReqMap.domainIdentifier == STRING
    input.ReqMap.userIdentifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}