All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.scheduler.kotlin.outputs.ScheduleTarget.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.scheduler.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 * The schedule target.
 * @property arn The Amazon Resource Name (ARN) of the target.
 * @property deadLetterConfig An object that contains information about an Amazon SQS queue that EventBridge Scheduler uses as a dead-letter queue for your schedule. If specified, EventBridge Scheduler delivers failed events that could not be successfully delivered to a target to the queue.
 * @property ecsParameters The templated target type for the Amazon ECS [`RunTask`](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API operation.
 * @property eventBridgeParameters The templated target type for the EventBridge [`PutEvents`](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html) API operation.
 * @property input The text, or well-formed JSON, passed to the target. If you are configuring a templated Lambda, AWS Step Functions, or Amazon EventBridge target, the input must be a well-formed JSON. For all other target types, a JSON is not required. If you do not specify anything for this field, EventBridge Scheduler delivers a default notification to the target.
 * @property kinesisParameters The templated target type for the Amazon Kinesis [`PutRecord`](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) API operation.
 * @property retryPolicy A `RetryPolicy` object that includes information about the retry policy settings, including the maximum age of an event, and the maximum number of times EventBridge Scheduler will try to deliver the event to a target.
 * @property roleArn The Amazon Resource Name (ARN) of the IAM role to be used for this target when the schedule is triggered.
 * @property sageMakerPipelineParameters The templated target type for the Amazon SageMaker [`StartPipelineExecution`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html) API operation.
 * @property sqsParameters The templated target type for the Amazon SQS [`SendMessage`](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) API operation. Contains the message group ID to use when the target is a FIFO queue. If you specify an Amazon SQS FIFO queue as a target, the queue must have content-based deduplication enabled. For more information, see [Using the Amazon SQS message deduplication ID](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html) in the *Amazon SQS Developer Guide* .
 */
public data class ScheduleTarget(
    public val arn: String,
    public val deadLetterConfig: ScheduleDeadLetterConfig? = null,
    public val ecsParameters: ScheduleEcsParameters? = null,
    public val eventBridgeParameters: ScheduleEventBridgeParameters? = null,
    public val input: String? = null,
    public val kinesisParameters: ScheduleKinesisParameters? = null,
    public val retryPolicy: ScheduleRetryPolicy? = null,
    public val roleArn: String,
    public val sageMakerPipelineParameters: ScheduleSageMakerPipelineParameters? = null,
    public val sqsParameters: ScheduleSqsParameters? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.scheduler.outputs.ScheduleTarget): ScheduleTarget = ScheduleTarget(
            arn = javaType.arn(),
            deadLetterConfig = javaType.deadLetterConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.scheduler.kotlin.outputs.ScheduleDeadLetterConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            ecsParameters = javaType.ecsParameters().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.scheduler.kotlin.outputs.ScheduleEcsParameters.Companion.toKotlin(args0)
                })
            }).orElse(null),
            eventBridgeParameters = javaType.eventBridgeParameters().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.scheduler.kotlin.outputs.ScheduleEventBridgeParameters.Companion.toKotlin(args0)
                })
            }).orElse(null),
            input = javaType.input().map({ args0 -> args0 }).orElse(null),
            kinesisParameters = javaType.kinesisParameters().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.scheduler.kotlin.outputs.ScheduleKinesisParameters.Companion.toKotlin(args0)
                })
            }).orElse(null),
            retryPolicy = javaType.retryPolicy().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.scheduler.kotlin.outputs.ScheduleRetryPolicy.Companion.toKotlin(args0)
                })
            }).orElse(null),
            roleArn = javaType.roleArn(),
            sageMakerPipelineParameters = javaType.sageMakerPipelineParameters().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.scheduler.kotlin.outputs.ScheduleSageMakerPipelineParameters.Companion.toKotlin(args0)
                })
            }).orElse(null),
            sqsParameters = javaType.sqsParameters().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.scheduler.kotlin.outputs.ScheduleSqsParameters.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy