ROUTE53-RECOVERY-CONTROL-CONFIG

CreateCluster

valid {
    input.Body.ClientToken == STRING
    input.Body.ClusterName == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateControlPanel

valid {
    input.Body.ClientToken == STRING
    input.Body.ClusterArn == STRING
    input.Body.ControlPanelName == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateRoutingControl

valid {
    input.Body.ClientToken == STRING
    input.Body.ClusterArn == STRING
    input.Body.ControlPanelArn == STRING
    input.Body.RoutingControlName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSafetyRule

enum_RuleType := [ "ATLEAST", "AND", "OR" ]

valid {
    input.Body.AssertionRule.AssertedControls[_] == STRING
    input.Body.AssertionRule.ControlPanelArn == STRING
    input.Body.AssertionRule.Name == STRING
    input.Body.AssertionRule.RuleConfig.Inverted == BOOLEAN
    input.Body.AssertionRule.RuleConfig.Threshold == INTEGER
    input.Body.AssertionRule.RuleConfig.Type == enum_RuleType[_]
    input.Body.AssertionRule.WaitPeriodMs == INTEGER
    input.Body.ClientToken == STRING
    input.Body.GatingRule.ControlPanelArn == STRING
    input.Body.GatingRule.GatingControls[_] == STRING
    input.Body.GatingRule.Name == STRING
    input.Body.GatingRule.RuleConfig.Inverted == BOOLEAN
    input.Body.GatingRule.RuleConfig.Threshold == INTEGER
    input.Body.GatingRule.RuleConfig.Type == enum_RuleType[_]
    input.Body.GatingRule.TargetControls[_] == STRING
    input.Body.GatingRule.WaitPeriodMs == INTEGER
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteCluster

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

DeleteControlPanel

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

DeleteRoutingControl

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

DeleteSafetyRule

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

DescribeCluster

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

DescribeControlPanel

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

DescribeRoutingControl

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

DescribeSafetyRule

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

GetResourcePolicy

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

ListAssociatedRoute53HealthChecks

valid {
    input.ReqMap.RoutingControlArn == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListClusters

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

ListControlPanels

valid {
    input.Qs.ClusterArn == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListRoutingControls

valid {
    input.ReqMap.ControlPanelArn == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSafetyRules

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

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
}

UpdateControlPanel

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

UpdateRoutingControl

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

UpdateSafetyRule

valid {
    input.Body.AssertionRuleUpdate.Name == STRING
    input.Body.AssertionRuleUpdate.SafetyRuleArn == STRING
    input.Body.AssertionRuleUpdate.WaitPeriodMs == INTEGER
    input.Body.GatingRuleUpdate.Name == STRING
    input.Body.GatingRuleUpdate.SafetyRuleArn == STRING
    input.Body.GatingRuleUpdate.WaitPeriodMs == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}