Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

event target: StepFunctionsTarget #2403

Closed
eladb opened this issue May 1, 2019 · 0 comments · Fixed by #2576 or MechanicalRock/tech-radar#14 · May be fixed by MechanicalRock/cdk-constructs#5, MechanicalRock/cdk-constructs#6 or MechanicalRock/cdk-constructs#7
Assignees
Labels
package/awscl Cross-cutting issues related to the AWS Construct Library

Comments

@eladb
Copy link
Contributor

eladb commented May 1, 2019

No description provided.

@eladb eladb added package/awscl Cross-cutting issues related to the AWS Construct Library and removed package/awscl Cross-cutting issues related to the AWS Construct Library labels May 1, 2019
@eladb eladb added the may-15 label May 14, 2019
@rix0rrr rix0rrr self-assigned this May 15, 2019
rix0rrr added a commit that referenced this issue May 20, 2019
Move new event targets into `@aws-cdk/aws-events-targets`

- CodePipeline
- EC2 task
- StepFunctions StateMachine

Invocation payloads are now under the control of the target classes, so
that targets for which the payload maps onto API calls (such as ECS,
CodeBuild, etc) can specify the API parameters directly as props.

`EventTargetInput` is a union class with three variants, allowing
serialization of strings, multiline strings and objects. Target inputs
support a special type of Token (`EventField`) which can be used to
refer to fields from the event, instead of value literals. A number of
predefined events and the fields that they have available have been
defined, so that accessing them becomes even more convenient
(`StageChangeEvent`, `PhaseChangeEvent`, `ReferenceEvent`).

To be able to use Tokens to implement EventInput substitution, add a
refactoring and more principaled separation of concerns in the Token
code. Resolution can now be more easily hooked, CloudFormation-aware
string concatenation is implemented using a plugin, and Token callbacks
receive an `IResolveContext` which they can use to resolve deeper (and
will reuse the same settings that the resolver was started with). We
should as good as be able to get rid of `stack.node.resolve()` in the
near future.

ALSO:

- Simplified `LatestDeploymentResource` to use existing logical ID
  overriding features.
- Add an `onEvent()` method to `CloudTrail`.
- Fix API misuse in the rendering of a CodePipeline, where Token
  rendering would lead to stateful side effects. Make Actions render
  out their region directly, if set, without requiring overrides.
- In ECS task `assignPublicIp` now defaults to `undefined`, instead
  of `DISABLED`, to align with service API.
- Fix a bug in Token resolution where Tokens returning fresh
  `CfnReference` objects upon resolution would fail to be detected
  during cross-stack reference analysis; `CfnReference` now has 
  static methods that return singleton objects.
- Get rid of an extra "resolve" call in
  `CfnResource.toCloudFormation()`. We can now use `PostProcessToken`
  to apply the property renames and output validation we were originally
  doing the resolve for.

Fixes #2403, fixes #2404, fixes #2581.

BREAKING CHANGES

* `@aws-cdk/aws-codepipeline.Pipeline` is no longer an event target
  itself, use `@aws-cdk/aws-events-targets.CodePipeline` instead.
* `@aws-cdk/aws-stepfunctions.StateMachine` is no longer an event target
  itself, use `@aws-cdk/aws-events-targets.SfnStateMachine` instead.
* `@aws-cdk/aws-ecs.Ec2RunTask` has been renamed to
  `@aws-cdk/aws-events-targets.EcsEc2Task`.
* `CloudFormationJSON.stringify()` is now renamed to
  `CloudFormationLang.toJSON()`.
This was referenced Dec 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment