LogGroupTargetInput Class
The input to send to the CloudWatch LogGroup target.
Example
import * as logs from 'aws-cdk-lib/aws-logs';
declare const logGroup: logs.LogGroup;
declare const rule: events.Rule;
rule.addTarget(new targets.CloudWatchLogGroup(logGroup, {
logEvent: targets.LogGroupTargetInput.fromObjectV2({
timestamp: events.EventField.fromPath('$.time'),
message: events.EventField.fromPath('$.detail-type'),
}),
}));
Initializer
new LogGroupTargetInput()
LogGroupTargetInput()
new LogGroupTargetInput()
new LogGroupTargetInput()
NewLogGroupTargetInput()
Methods
bind(rule: IRuleRef): RuleTargetInputPropertiesdef bind(self, rule: IRuleRef) -> RuleTargetInputPropertiespublic RuleTargetInputProperties bind(IRuleRef rule)public RuleTargetInputProperties Bind(IRuleRef rule)func Bind(Rule IRuleRef) RuleTargetInputProperties#fromEventPath(path: string): RuleTargetInput@staticmethod def from_event_path(path: str) -> RuleTargetInputpublic static RuleTargetInput fromEventPath(String path)public static RuleTargetInput FromEventPath(string path)func FromEventPath(Path *string) RuleTargetInputstatic#This emits CloudFormation's InputPath directly, so the target receives only the selected fragment of the event. Use this when you want to forward part of the event unchanged; use fromObject() when you need to reshape it.
fromMultilineText(text: string): RuleTargetInput@staticmethod def from_multiline_text(text: str) -> RuleTargetInputpublic static RuleTargetInput fromMultilineText(String text)public static RuleTargetInput FromMultilineText(string text)func FromMultilineText(Text *string) RuleTargetInputstatic#notes
This is only useful when passing to a target that does not take a single argument.
May contain strings returned by EventField.from() to substitute in parts of the matched event.
As with fromText, each line is JSON-encoded, so every line is wrapped in double quotes in the synthesized template. Whether those quotes are visible to the recipient depends on the target service.
fromObject(options: any): RuleTargetInput@staticmethod def from_object(options: Any) -> RuleTargetInputpublic static RuleTargetInput fromObject(Object options)public static RuleTargetInput FromObject(object options)func FromObject(Options interface{}) RuleTargetInputstaticdeprecated#May contain strings returned by EventField.from() to substitute in parts of the matched event.
fromObjectV2(options?: LogGroupTargetInputOptions): LogGroupTargetInput // chainable@staticmethod def from_object_v2(options: typing.Optional[LogGroupTargetInputOptions] = None) -> LogGroupTargetInputpublic static LogGroupTargetInput fromObjectV2(LogGroupTargetInputOptions options)public static LogGroupTargetInput FromObjectV2(LogGroupTargetInputOptions? options = null)func FromObjectV2(Options LogGroupTargetInputOptions) LogGroupTargetInputstatic#May contain strings returned by EventField.from() to substitute in parts of the matched event.
fromText(text: string): RuleTargetInput@staticmethod def from_text(text: str) -> RuleTargetInputpublic static RuleTargetInput fromText(String text)public static RuleTargetInput FromText(string text)func FromText(Text *string) RuleTargetInputstatic#notes
May contain strings returned by EventField.from() to substitute in parts of the matched event.
The Rule Target input value will be a single string: the string you pass here. Do not use this method to pass a complex value like a JSON object to a Rule Target. Use RuleTargetInput.fromObject() instead.
The target Input field must be valid JSON, so the text is JSON-encoded when the template is synthesized. As a result a plain string is wrapped in double quotes: fromText('something') renders as Input: '"something"'. The quotes are part of the required JSON encoding, not an extra value added by CDK, and cannot be removed.
Whether those quotes are visible to the recipient depends on the target service. Some targets deliver the JSON-encoded value as-is, so the recipient sees the surrounding quotes (for example, an SNS topic delivering to an email subscriber shows "something"). To send a structured payload, use RuleTargetInput.fromObject() instead.