BACKUPSEARCH

GetSearchJob

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

GetSearchResultExportJob

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

ListSearchJobBackups

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

ListSearchJobResults

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

ListSearchJobs

enum_SearchJobState := [ "RUNNING", "COMPLETED", "STOPPING", "STOPPED", "FAILED" ]

valid {
    input.Qs.Status == enum_SearchJobState[_]
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSearchResultExportJobs

enum_ExportJobStatus := [ "RUNNING", "FAILED", "COMPLETED" ]

valid {
    input.Qs.Status == enum_ExportJobStatus[_]
    input.Qs.SearchJobIdentifier == 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
}

StartSearchJob

enum_LongConditionOperator := [ "EQUALS_TO", "NOT_EQUALS_TO", "LESS_THAN_EQUAL_TO", "GREATER_THAN_EQUAL_TO" ]
enum_ResourceType := [ "S3", "EBS" ]
enum_StringConditionOperator := [ "EQUALS_TO", "NOT_EQUALS_TO", "CONTAINS", "DOES_NOT_CONTAIN", "BEGINS_WITH", "ENDS_WITH", "DOES_NOT_BEGIN_WITH", "DOES_NOT_END_WITH" ]
enum_TimeConditionOperator := [ "EQUALS_TO", "NOT_EQUALS_TO", "LESS_THAN_EQUAL_TO", "GREATER_THAN_EQUAL_TO" ]

valid {
    input.Body.Tags.STRING == STRING
    input.Body.Name == STRING
    input.Body.EncryptionKeyArn == STRING
    input.Body.ClientToken == STRING
    input.Body.SearchScope.BackupResourceTypes[_] == enum_ResourceType[_]
    input.Body.SearchScope.BackupResourceCreationTime.CreatedAfter == TIMESTAMP
    input.Body.SearchScope.BackupResourceCreationTime.CreatedBefore == TIMESTAMP
    input.Body.SearchScope.SourceResourceArns[_] == STRING
    input.Body.SearchScope.BackupResourceArns[_] == STRING
    input.Body.SearchScope.BackupResourceTags.STRING == STRING
    input.Body.ItemFilters.S3ItemFilters[_].ObjectKeys[_].Value == STRING
    input.Body.ItemFilters.S3ItemFilters[_].ObjectKeys[_].Operator == enum_StringConditionOperator[_]
    input.Body.ItemFilters.S3ItemFilters[_].Sizes[_].Value == LONG
    input.Body.ItemFilters.S3ItemFilters[_].Sizes[_].Operator == enum_LongConditionOperator[_]
    input.Body.ItemFilters.S3ItemFilters[_].CreationTimes[_].Value == TIMESTAMP
    input.Body.ItemFilters.S3ItemFilters[_].CreationTimes[_].Operator == enum_TimeConditionOperator[_]
    input.Body.ItemFilters.S3ItemFilters[_].VersionIds[_].Value == STRING
    input.Body.ItemFilters.S3ItemFilters[_].VersionIds[_].Operator == enum_StringConditionOperator[_]
    input.Body.ItemFilters.S3ItemFilters[_].ETags[_].Value == STRING
    input.Body.ItemFilters.S3ItemFilters[_].ETags[_].Operator == enum_StringConditionOperator[_]
    input.Body.ItemFilters.EBSItemFilters[_].FilePaths[_].Value == STRING
    input.Body.ItemFilters.EBSItemFilters[_].FilePaths[_].Operator == enum_StringConditionOperator[_]
    input.Body.ItemFilters.EBSItemFilters[_].Sizes[_].Value == LONG
    input.Body.ItemFilters.EBSItemFilters[_].Sizes[_].Operator == enum_LongConditionOperator[_]
    input.Body.ItemFilters.EBSItemFilters[_].CreationTimes[_].Value == TIMESTAMP
    input.Body.ItemFilters.EBSItemFilters[_].CreationTimes[_].Operator == enum_TimeConditionOperator[_]
    input.Body.ItemFilters.EBSItemFilters[_].LastModificationTimes[_].Value == TIMESTAMP
    input.Body.ItemFilters.EBSItemFilters[_].LastModificationTimes[_].Operator == enum_TimeConditionOperator[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartSearchResultExportJob

valid {
    input.Body.SearchJobIdentifier == STRING
    input.Body.ExportSpecification.s3ExportSpecification.DestinationBucket == STRING
    input.Body.ExportSpecification.s3ExportSpecification.DestinationPrefix == STRING
    input.Body.ClientToken == STRING
    input.Body.Tags.STRING == STRING
    input.Body.RoleArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopSearchJob

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