class Aws::EventBridge::Types::Target

Targets are the resources to be invoked when a rule is triggered. For a complete list of services and resources that can be set as a target, see [PutTargets].

If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a `RoleArn` with proper permissions in the `Target` structure. For more information, see [Sending and Receiving Events Between Amazon Web Services Accounts] in the *Amazon EventBridge User Guide*.

[1]: docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html [2]: docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html

@note When making an API call, you may pass Target

data as a hash:

    {
      id: "TargetId", # required
      arn: "TargetArn", # required
      role_arn: "RoleArn",
      input: "TargetInput",
      input_path: "TargetInputPath",
      input_transformer: {
        input_paths_map: {
          "InputTransformerPathKey" => "TargetInputPath",
        },
        input_template: "TransformerInput", # required
      },
      kinesis_parameters: {
        partition_key_path: "TargetPartitionKeyPath", # required
      },
      run_command_parameters: {
        run_command_targets: [ # required
          {
            key: "RunCommandTargetKey", # required
            values: ["RunCommandTargetValue"], # required
          },
        ],
      },
      ecs_parameters: {
        task_definition_arn: "Arn", # required
        task_count: 1,
        launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
        network_configuration: {
          awsvpc_configuration: {
            subnets: ["String"], # required
            security_groups: ["String"],
            assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
          },
        },
        platform_version: "String",
        group: "String",
        capacity_provider_strategy: [
          {
            capacity_provider: "CapacityProvider", # required
            weight: 1,
            base: 1,
          },
        ],
        enable_ecs_managed_tags: false,
        enable_execute_command: false,
        placement_constraints: [
          {
            type: "distinctInstance", # accepts distinctInstance, memberOf
            expression: "PlacementConstraintExpression",
          },
        ],
        placement_strategy: [
          {
            type: "random", # accepts random, spread, binpack
            field: "PlacementStrategyField",
          },
        ],
        propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION
        reference_id: "ReferenceId",
        tags: [
          {
            key: "TagKey", # required
            value: "TagValue", # required
          },
        ],
      },
      batch_parameters: {
        job_definition: "String", # required
        job_name: "String", # required
        array_properties: {
          size: 1,
        },
        retry_strategy: {
          attempts: 1,
        },
      },
      sqs_parameters: {
        message_group_id: "MessageGroupId",
      },
      http_parameters: {
        path_parameter_values: ["PathParameter"],
        header_parameters: {
          "HeaderKey" => "HeaderValue",
        },
        query_string_parameters: {
          "QueryStringKey" => "QueryStringValue",
        },
      },
      redshift_data_parameters: {
        secret_manager_arn: "RedshiftSecretManagerArn",
        database: "Database", # required
        db_user: "DbUser",
        sql: "Sql", # required
        statement_name: "StatementName",
        with_event: false,
      },
      sage_maker_pipeline_parameters: {
        pipeline_parameter_list: [
          {
            name: "SageMakerPipelineParameterName", # required
            value: "SageMakerPipelineParameterValue", # required
          },
        ],
      },
      dead_letter_config: {
        arn: "ResourceArn",
      },
      retry_policy: {
        maximum_retry_attempts: 1,
        maximum_event_age_in_seconds: 1,
      },
    }

@!attribute [rw] id

The ID of the target. We recommend using a memorable and unique
string.
@return [String]

@!attribute [rw] arn

The Amazon Resource Name (ARN) of the target.
@return [String]

@!attribute [rw] role_arn

The Amazon Resource Name (ARN) of the IAM role to be used for this
target when the rule is triggered. If one rule triggers multiple
targets, you can use a different IAM role for each target.
@return [String]

@!attribute [rw] input

Valid JSON text passed to the target. In this case, nothing from the
event itself is passed to the target. For more information, see [The
JavaScript Object Notation (JSON) Data Interchange Format][1].

[1]: http://www.rfc-editor.org/rfc/rfc7159.txt
@return [String]

@!attribute [rw] input_path

The value of the JSONPath that is used for extracting part of the
matched event when passing it to the target. You must use JSON dot
notation, not bracket notation. For more information about JSON
paths, see [JSONPath][1].

[1]: http://goessner.net/articles/JsonPath/
@return [String]

@!attribute [rw] input_transformer

Settings to enable you to provide custom input to a target based on
certain event data. You can extract one or more key-value pairs from
the event and then use that data to send customized input to the
target.
@return [Types::InputTransformer]

@!attribute [rw] kinesis_parameters

The custom parameter you can use to control the shard assignment,
when the target is a Kinesis data stream. If you do not include this
parameter, the default is to use the `eventId` as the partition key.
@return [Types::KinesisParameters]

@!attribute [rw] run_command_parameters

Parameters used when you are using the rule to invoke Amazon EC2 Run
Command.
@return [Types::RunCommandParameters]

@!attribute [rw] ecs_parameters

Contains the Amazon ECS task definition and task count to be used,
if the event target is an Amazon ECS task. For more information
about Amazon ECS tasks, see [Task Definitions ][1] in the *Amazon
EC2 Container Service Developer Guide*.

[1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html
@return [Types::EcsParameters]

@!attribute [rw] batch_parameters

If the event target is an Batch job, this contains the job
definition, job name, and other parameters. For more information,
see [Jobs][1] in the *Batch User Guide*.

[1]: https://docs.aws.amazon.com/batch/latest/userguide/jobs.html
@return [Types::BatchParameters]

@!attribute [rw] sqs_parameters

Contains the message group ID to use when the target is a FIFO
queue.

If you specify an SQS FIFO queue as a target, the queue must have
content-based deduplication enabled.
@return [Types::SqsParameters]

@!attribute [rw] http_parameters

Contains the HTTP parameters to use when the target is a API Gateway
REST endpoint or EventBridge ApiDestination.

If you specify an API Gateway REST API or EventBridge ApiDestination
as a target, you can use this parameter to specify headers, path
parameters, and query string keys/values as part of your target
invoking request. If you're using ApiDestinations, the
corresponding Connection can also have these values configured. In
case of any conflicting keys, values from the Connection take
precedence.
@return [Types::HttpParameters]

@!attribute [rw] redshift_data_parameters

Contains the Amazon Redshift Data API parameters to use when the
target is a Amazon Redshift cluster.

If you specify a Amazon Redshift Cluster as a Target, you can use
this to specify parameters to invoke the Amazon Redshift Data API
ExecuteStatement based on EventBridge events.
@return [Types::RedshiftDataParameters]

@!attribute [rw] sage_maker_pipeline_parameters

Contains the SageMaker Model Building Pipeline parameters to start
execution of a SageMaker Model Building Pipeline.

If you specify a SageMaker Model Building Pipeline as a target, you
can use this to specify parameters to start a pipeline execution
based on EventBridge events.
@return [Types::SageMakerPipelineParameters]

@!attribute [rw] dead_letter_config

The `DeadLetterConfig` that defines the target queue to send
dead-letter queue events to.
@return [Types::DeadLetterConfig]

@!attribute [rw] retry_policy

The `RetryPolicy` object that contains the retry policy
configuration to use for the dead-letter queue.
@return [Types::RetryPolicy]

@see docs.aws.amazon.com/goto/WebAPI/eventbridge-2015-10-07/Target AWS API Documentation

Constants

SENSITIVE