MIGRATIONHUBORCHESTRATOR

CreateTemplate

valid {
    input.Body.templateName == STRING
    input.Body.templateDescription == STRING
    input.Body.templateSource.workflowId == STRING
    input.Body.clientToken == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWorkflow

valid {
    input.Body.name == STRING
    input.Body.description == STRING
    input.Body.templateId == STRING
    input.Body.applicationConfigurationId == STRING
    input.Body.inputParameters.STRING.integerValue == INTEGER
    input.Body.inputParameters.STRING.stringValue == STRING
    input.Body.inputParameters.STRING.listOfStringsValue[_] == STRING
    input.Body.inputParameters.STRING.mapOfStringValue.STRING == STRING
    input.Body.stepTargets[_] == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWorkflowStep

enum_DataType := [ "STRING", "INTEGER", "STRINGLIST", "STRINGMAP" ]
enum_RunEnvironment := [ "AWS", "ONPREMISE" ]
enum_StepActionType := [ "MANUAL", "AUTOMATED" ]
enum_TargetType := [ "SINGLE", "ALL", "NONE" ]

valid {
    input.Body.name == STRING
    input.Body.stepGroupId == STRING
    input.Body.workflowId == STRING
    input.Body.stepActionType == enum_StepActionType[_]
    input.Body.description == STRING
    input.Body.workflowStepAutomationConfiguration.scriptLocationS3Bucket == STRING
    input.Body.workflowStepAutomationConfiguration.scriptLocationS3Key.linux == STRING
    input.Body.workflowStepAutomationConfiguration.scriptLocationS3Key.windows == STRING
    input.Body.workflowStepAutomationConfiguration.command.linux == STRING
    input.Body.workflowStepAutomationConfiguration.command.windows == STRING
    input.Body.workflowStepAutomationConfiguration.runEnvironment == enum_RunEnvironment[_]
    input.Body.workflowStepAutomationConfiguration.targetType == enum_TargetType[_]
    input.Body.stepTarget[_] == STRING
    input.Body.outputs[_].name == STRING
    input.Body.outputs[_].dataType == enum_DataType[_]
    input.Body.outputs[_].required == BOOLEAN
    input.Body.outputs[_].value.integerValue == INTEGER
    input.Body.outputs[_].value.stringValue == STRING
    input.Body.outputs[_].value.listOfStringValue[_] == STRING
    input.Body.previous[_] == STRING
    input.Body.next[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWorkflowStepGroup

valid {
    input.Body.workflowId == STRING
    input.Body.name == STRING
    input.Body.description == STRING
    input.Body.next[_] == STRING
    input.Body.previous[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTemplate

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

DeleteWorkflow

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

DeleteWorkflowStep

valid {
    input.ReqMap.id == STRING
    input.Qs.stepGroupId == STRING
    input.Qs.workflowId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteWorkflowStepGroup

valid {
    input.ReqMap.id == STRING
    input.Qs.workflowId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetTemplate

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

GetTemplateStep

valid {
    input.ReqMap.id == STRING
    input.Qs.templateId == STRING
    input.Qs.stepGroupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetTemplateStepGroup

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

GetWorkflow

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

GetWorkflowStep

valid {
    input.ReqMap.id == STRING
    input.Qs.workflowId == STRING
    input.Qs.stepGroupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWorkflowStepGroup

valid {
    input.ReqMap.id == STRING
    input.Qs.workflowId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListPlugins

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == 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
}

ListTemplateStepGroups

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

ListTemplateSteps

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

ListTemplates

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

ListWorkflowStepGroups

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

ListWorkflowSteps

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

ListWorkflows

enum_MigrationWorkflowStatusEnum := [ "CREATING", "NOT_STARTED", "CREATION_FAILED", "STARTING", "IN_PROGRESS", "WORKFLOW_FAILED", "PAUSED", "PAUSING", "PAUSING_FAILED", "USER_ATTENTION_REQUIRED", "DELETING", "DELETION_FAILED", "DELETED", "COMPLETED" ]

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.templateId == STRING
    input.Qs.adsApplicationConfigurationName == STRING
    input.Qs.status == enum_MigrationWorkflowStatusEnum[_]
    input.Qs.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RetryWorkflowStep

valid {
    input.ReqMap.id == STRING
    input.Qs.workflowId == STRING
    input.Qs.stepGroupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartWorkflow

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

StopWorkflow

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

UpdateTemplate

valid {
    input.Body.templateName == STRING
    input.Body.templateDescription == STRING
    input.Body.clientToken == STRING
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateWorkflow

valid {
    input.Body.name == STRING
    input.Body.description == STRING
    input.Body.inputParameters.STRING.integerValue == INTEGER
    input.Body.inputParameters.STRING.stringValue == STRING
    input.Body.inputParameters.STRING.listOfStringsValue[_] == STRING
    input.Body.inputParameters.STRING.mapOfStringValue.STRING == STRING
    input.Body.stepTargets[_] == STRING
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateWorkflowStep

enum_DataType := [ "STRING", "INTEGER", "STRINGLIST", "STRINGMAP" ]
enum_RunEnvironment := [ "AWS", "ONPREMISE" ]
enum_StepActionType := [ "MANUAL", "AUTOMATED" ]
enum_StepStatus := [ "AWAITING_DEPENDENCIES", "SKIPPED", "READY", "IN_PROGRESS", "COMPLETED", "FAILED", "PAUSED", "USER_ATTENTION_REQUIRED" ]
enum_TargetType := [ "SINGLE", "ALL", "NONE" ]

valid {
    input.Body.stepGroupId == STRING
    input.Body.workflowId == STRING
    input.Body.name == STRING
    input.Body.description == STRING
    input.Body.stepActionType == enum_StepActionType[_]
    input.Body.workflowStepAutomationConfiguration.scriptLocationS3Bucket == STRING
    input.Body.workflowStepAutomationConfiguration.scriptLocationS3Key.linux == STRING
    input.Body.workflowStepAutomationConfiguration.scriptLocationS3Key.windows == STRING
    input.Body.workflowStepAutomationConfiguration.command.linux == STRING
    input.Body.workflowStepAutomationConfiguration.command.windows == STRING
    input.Body.workflowStepAutomationConfiguration.runEnvironment == enum_RunEnvironment[_]
    input.Body.workflowStepAutomationConfiguration.targetType == enum_TargetType[_]
    input.Body.stepTarget[_] == STRING
    input.Body.outputs[_].name == STRING
    input.Body.outputs[_].dataType == enum_DataType[_]
    input.Body.outputs[_].required == BOOLEAN
    input.Body.outputs[_].value.integerValue == INTEGER
    input.Body.outputs[_].value.stringValue == STRING
    input.Body.outputs[_].value.listOfStringValue[_] == STRING
    input.Body.previous[_] == STRING
    input.Body.next[_] == STRING
    input.Body.status == enum_StepStatus[_]
    input.ReqMap.id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateWorkflowStepGroup

valid {
    input.Body.name == STRING
    input.Body.description == STRING
    input.Body.next[_] == STRING
    input.Body.previous[_] == STRING
    input.ReqMap.id == STRING
    input.Qs.workflowId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}