OBSERVABILITYADMIN

CreateTelemetryRule

enum_DestinationType := [ "cloud-watch-logs" ]
enum_ResourceType := [ "AWS::EC2::Instance", "AWS::EC2::VPC", "AWS::Lambda::Function" ]
enum_TelemetryType := [ "Logs", "Metrics", "Traces" ]

valid {
    input.Body.RuleName == STRING
    input.Body.Rule.ResourceType == enum_ResourceType[_]
    input.Body.Rule.TelemetryType == enum_TelemetryType[_]
    input.Body.Rule.DestinationConfiguration.DestinationType == enum_DestinationType[_]
    input.Body.Rule.DestinationConfiguration.DestinationPattern == STRING
    input.Body.Rule.DestinationConfiguration.RetentionInDays == INTEGER
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.LogFormat == STRING
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.TrafficType == STRING
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.MaxAggregationInterval == INTEGER
    input.Body.Rule.Scope == STRING
    input.Body.Rule.SelectionCriteria == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateTelemetryRuleForOrganization

enum_DestinationType := [ "cloud-watch-logs" ]
enum_ResourceType := [ "AWS::EC2::Instance", "AWS::EC2::VPC", "AWS::Lambda::Function" ]
enum_TelemetryType := [ "Logs", "Metrics", "Traces" ]

valid {
    input.Body.RuleName == STRING
    input.Body.Rule.ResourceType == enum_ResourceType[_]
    input.Body.Rule.TelemetryType == enum_TelemetryType[_]
    input.Body.Rule.DestinationConfiguration.DestinationType == enum_DestinationType[_]
    input.Body.Rule.DestinationConfiguration.DestinationPattern == STRING
    input.Body.Rule.DestinationConfiguration.RetentionInDays == INTEGER
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.LogFormat == STRING
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.TrafficType == STRING
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.MaxAggregationInterval == INTEGER
    input.Body.Rule.Scope == STRING
    input.Body.Rule.SelectionCriteria == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteTelemetryRule

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

DeleteTelemetryRuleForOrganization

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

GetTelemetryEvaluationStatus

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

GetTelemetryEvaluationStatusForOrganization

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

GetTelemetryRule

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

GetTelemetryRuleForOrganization

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

ListResourceTelemetry

enum_ResourceType := [ "AWS::EC2::Instance", "AWS::EC2::VPC", "AWS::Lambda::Function" ]
enum_TelemetryState := [ "Enabled", "Disabled", "NotApplicable" ]

valid {
    input.Body.ResourceIdentifierPrefix == STRING
    input.Body.ResourceTypes[_] == enum_ResourceType[_]
    input.Body.TelemetryConfigurationState.Logs == enum_TelemetryState[_]
    input.Body.TelemetryConfigurationState.Metrics == enum_TelemetryState[_]
    input.Body.TelemetryConfigurationState.Traces == enum_TelemetryState[_]
    input.Body.ResourceTags.STRING == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListResourceTelemetryForOrganization

enum_ResourceType := [ "AWS::EC2::Instance", "AWS::EC2::VPC", "AWS::Lambda::Function" ]
enum_TelemetryState := [ "Enabled", "Disabled", "NotApplicable" ]

valid {
    input.Body.AccountIdentifiers[_] == STRING
    input.Body.ResourceIdentifierPrefix == STRING
    input.Body.ResourceTypes[_] == enum_ResourceType[_]
    input.Body.TelemetryConfigurationState.Logs == enum_TelemetryState[_]
    input.Body.TelemetryConfigurationState.Metrics == enum_TelemetryState[_]
    input.Body.TelemetryConfigurationState.Traces == enum_TelemetryState[_]
    input.Body.ResourceTags.STRING == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

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

ListTelemetryRules

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

ListTelemetryRulesForOrganization

valid {
    input.Body.RuleNamePrefix == STRING
    input.Body.SourceAccountIds[_] == STRING
    input.Body.SourceOrganizationUnitIds[_] == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartTelemetryEvaluation

valid {
    input.Body.RuleNamePrefix == STRING
    input.Body.SourceAccountIds[_] == STRING
    input.Body.SourceOrganizationUnitIds[_] == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartTelemetryEvaluationForOrganization

valid {
    input.Body.RuleNamePrefix == STRING
    input.Body.SourceAccountIds[_] == STRING
    input.Body.SourceOrganizationUnitIds[_] == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopTelemetryEvaluation

valid {
    input.Body.RuleNamePrefix == STRING
    input.Body.SourceAccountIds[_] == STRING
    input.Body.SourceOrganizationUnitIds[_] == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopTelemetryEvaluationForOrganization

valid {
    input.Body.RuleNamePrefix == STRING
    input.Body.SourceAccountIds[_] == STRING
    input.Body.SourceOrganizationUnitIds[_] == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

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

UntagResource

valid {
    input.Body.ResourceARN == STRING
    input.Body.TagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateTelemetryRule

enum_DestinationType := [ "cloud-watch-logs" ]
enum_ResourceType := [ "AWS::EC2::Instance", "AWS::EC2::VPC", "AWS::Lambda::Function" ]
enum_TelemetryType := [ "Logs", "Metrics", "Traces" ]

valid {
    input.Body.RuleIdentifier == STRING
    input.Body.Rule.ResourceType == enum_ResourceType[_]
    input.Body.Rule.TelemetryType == enum_TelemetryType[_]
    input.Body.Rule.DestinationConfiguration.DestinationType == enum_DestinationType[_]
    input.Body.Rule.DestinationConfiguration.DestinationPattern == STRING
    input.Body.Rule.DestinationConfiguration.RetentionInDays == INTEGER
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.LogFormat == STRING
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.TrafficType == STRING
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.MaxAggregationInterval == INTEGER
    input.Body.Rule.Scope == STRING
    input.Body.Rule.SelectionCriteria == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateTelemetryRuleForOrganization

enum_DestinationType := [ "cloud-watch-logs" ]
enum_ResourceType := [ "AWS::EC2::Instance", "AWS::EC2::VPC", "AWS::Lambda::Function" ]
enum_TelemetryType := [ "Logs", "Metrics", "Traces" ]

valid {
    input.Body.RuleIdentifier == STRING
    input.Body.Rule.ResourceType == enum_ResourceType[_]
    input.Body.Rule.TelemetryType == enum_TelemetryType[_]
    input.Body.Rule.DestinationConfiguration.DestinationType == enum_DestinationType[_]
    input.Body.Rule.DestinationConfiguration.DestinationPattern == STRING
    input.Body.Rule.DestinationConfiguration.RetentionInDays == INTEGER
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.LogFormat == STRING
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.TrafficType == STRING
    input.Body.Rule.DestinationConfiguration.VPCFlowLogParameters.MaxAggregationInterval == INTEGER
    input.Body.Rule.Scope == STRING
    input.Body.Rule.SelectionCriteria == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}