DeleteResourcePermission

enum_PermissionActionType := [ "RESTORE" ]

valid {
    input.Body.ActionType == enum_PermissionActionType[_]
    input.Body.SourceResourceArn == STRING
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeregisterApplication

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

GetApplication

valid {
    input.Body.ApplicationId == STRING
    input.Body.ApplicationArn == STRING
    input.Body.AppRegistryArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetComponent

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

GetDatabase

valid {
    input.Body.ApplicationId == STRING
    input.Body.ComponentId == STRING
    input.Body.DatabaseId == STRING
    input.Body.DatabaseArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetOperation

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

GetResourcePermission

enum_PermissionActionType := [ "RESTORE" ]

valid {
    input.Body.ActionType == enum_PermissionActionType[_]
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListApplications

enum_FilterOperator := [ "Equals", "GreaterThanOrEquals", "LessThanOrEquals" ]

valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.Body.Filters[_].Name == STRING
    input.Body.Filters[_].Value == STRING
    input.Body.Filters[_].Operator == enum_FilterOperator[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListComponents

valid {
    input.Body.ApplicationId == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDatabases

valid {
    input.Body.ApplicationId == STRING
    input.Body.ComponentId == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListOperationEvents

enum_FilterOperator := [ "Equals", "GreaterThanOrEquals", "LessThanOrEquals" ]

valid {
    input.Body.OperationId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.Filters[_].Name == STRING
    input.Body.Filters[_].Value == STRING
    input.Body.Filters[_].Operator == enum_FilterOperator[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListOperations

enum_FilterOperator := [ "Equals", "GreaterThanOrEquals", "LessThanOrEquals" ]

valid {
    input.Body.ApplicationId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.Filters[_].Name == STRING
    input.Body.Filters[_].Value == STRING
    input.Body.Filters[_].Operator == enum_FilterOperator[_]
    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
}

PutResourcePermission

enum_PermissionActionType := [ "RESTORE" ]

valid {
    input.Body.ActionType == enum_PermissionActionType[_]
    input.Body.SourceResourceArn == STRING
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RegisterApplication

enum_ApplicationType := [ "HANA", "SAP_ABAP" ]
enum_ComponentType := [ "HANA", "HANA_NODE", "ABAP", "ASCS", "DIALOG", "WEBDISP", "WD", "ERS" ]
enum_CredentialType := [ "ADMIN" ]

valid {
    input.Body.ApplicationId == STRING
    input.Body.ApplicationType == enum_ApplicationType[_]
    input.Body.Instances[_] == STRING
    input.Body.SapInstanceNumber == STRING
    input.Body.Sid == STRING
    input.Body.Tags.STRING == STRING
    input.Body.Credentials[_].DatabaseName == STRING
    input.Body.Credentials[_].CredentialType == enum_CredentialType[_]
    input.Body.Credentials[_].SecretId == STRING
    input.Body.DatabaseArn == STRING
    input.Body.ComponentsInfo[_].ComponentType == enum_ComponentType[_]
    input.Body.ComponentsInfo[_].Sid == STRING
    input.Body.ComponentsInfo[_].Ec2InstanceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartApplication

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

StartApplicationRefresh

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

StopApplication

enum_ConnectedEntityType := [ "DBMS" ]

valid {
    input.Body.ApplicationId == STRING
    input.Body.StopConnectedEntity == enum_ConnectedEntityType[_]
    input.Body.IncludeEc2InstanceShutdown == BOOLEAN
    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
}

UpdateApplicationSettings

enum_BackintMode := [ "AWSBackup" ]
enum_CredentialType := [ "ADMIN" ]

valid {
    input.Body.ApplicationId == STRING
    input.Body.CredentialsToAddOrUpdate[_].DatabaseName == STRING
    input.Body.CredentialsToAddOrUpdate[_].CredentialType == enum_CredentialType[_]
    input.Body.CredentialsToAddOrUpdate[_].SecretId == STRING
    input.Body.CredentialsToRemove[_].DatabaseName == STRING
    input.Body.CredentialsToRemove[_].CredentialType == enum_CredentialType[_]
    input.Body.CredentialsToRemove[_].SecretId == STRING
    input.Body.Backint.BackintMode == enum_BackintMode[_]
    input.Body.Backint.EnsureNoBackupInProcess == BOOLEAN
    input.Body.DatabaseArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}