io.github.cdklabs.cdkecsserviceextensions.InjecterExtension Maven / Gradle / Ivy
Show all versions of cdk-ecs-service-extensions Show documentation
package io.github.cdklabs.cdkecsserviceextensions;
/**
* (experimental) This extension accepts a list of Injectable
resources that the parent service can publish events or write data to.
*
* It sets up the corresponding permissions for the task role of the parent service.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-28T00:28:59.614Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Jsii(module = io.github.cdklabs.cdkecsserviceextensions.$Module.class, fqn = "@aws-cdk-containers/ecs-service-extensions.InjecterExtension")
public class InjecterExtension extends io.github.cdklabs.cdkecsserviceextensions.ServiceExtension {
protected InjecterExtension(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected InjecterExtension(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public InjecterExtension(final @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkecsserviceextensions.InjecterExtensionProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(props, "props is required") });
}
/**
* (experimental) Add hooks to the main application extension so that it is modified to add the injectable resource environment variables to the container environment.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public void addHooks() {
software.amazon.jsii.Kernel.call(this, "addHooks", software.amazon.jsii.NativeType.VOID);
}
/**
* (experimental) A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
*
* @param service This parameter is required.
* @param scope This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public void prehook(final @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkecsserviceextensions.Service service, final @org.jetbrains.annotations.NotNull software.constructs.Construct scope) {
software.amazon.jsii.Kernel.call(this, "prehook", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(service, "service is required"), java.util.Objects.requireNonNull(scope, "scope is required") });
}
/**
* (experimental) After the task definition has been created, this hook grants the required permissions to the task role for the parent service.
*
* @param taskDefinition The created task definition. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public void useTaskDefinition(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ecs.TaskDefinition taskDefinition) {
software.amazon.jsii.Kernel.call(this, "useTaskDefinition", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(taskDefinition, "taskDefinition is required") });
}
/**
* (experimental) A fluent builder for {@link io.github.cdklabs.cdkecsserviceextensions.InjecterExtension}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static Builder create() {
return new Builder();
}
private final io.github.cdklabs.cdkecsserviceextensions.InjecterExtensionProps.Builder props;
private Builder() {
this.props = new io.github.cdklabs.cdkecsserviceextensions.InjecterExtensionProps.Builder();
}
/**
* (experimental) The list of injectable resources for this service.
*
* @return {@code this}
* @param injectables The list of injectable resources for this service. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder injectables(final java.util.List extends io.github.cdklabs.cdkecsserviceextensions.IInjectable> injectables) {
this.props.injectables(injectables);
return this;
}
/**
* @return a newly built instance of {@link io.github.cdklabs.cdkecsserviceextensions.InjecterExtension}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public io.github.cdklabs.cdkecsserviceextensions.InjecterExtension build() {
return new io.github.cdklabs.cdkecsserviceextensions.InjecterExtension(
this.props.build()
);
}
}
}