io.github.cdklabs.cdkecsserviceextensions.ServiceDescription Maven / Gradle / Ivy
Show all versions of cdk-ecs-service-extensions Show documentation
package io.github.cdklabs.cdkecsserviceextensions;
/**
* (experimental) A ServiceDescription is a wrapper for all of the extensions that a user wants to add to an ECS Service.
*
* It collects all of the extensions that are added
* to a service, allowing each extension to query the full list of extensions
* added to a service to determine information about how to self-configure.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-27T00:29:46.253Z")
@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.ServiceDescription")
public class ServiceDescription extends software.amazon.jsii.JsiiObject {
protected ServiceDescription(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected ServiceDescription(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public ServiceDescription() {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this);
}
/**
* (experimental) Adds a new extension to the service.
*
* The extensions mutate a service
* to add resources to or configure properties for the service.
*
* @param extension
- The extension that you wish to add.
This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkecsserviceextensions.ServiceDescription add(final @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkecsserviceextensions.ServiceExtension extension) {
return software.amazon.jsii.Kernel.call(this, "add", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkecsserviceextensions.ServiceDescription.class), new Object[] { java.util.Objects.requireNonNull(extension, "extension is required") });
}
/**
* (experimental) Get the extension with a specific name.
*
* This is generally used by
* extensions in order to discover each other.
*
* @param name This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public @org.jetbrains.annotations.NotNull io.github.cdklabs.cdkecsserviceextensions.ServiceExtension get(final @org.jetbrains.annotations.NotNull java.lang.String name) {
return software.amazon.jsii.Kernel.call(this, "get", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkecsserviceextensions.ServiceExtension.class), new Object[] { java.util.Objects.requireNonNull(name, "name is required") });
}
/**
* (experimental) The list of extensions that have been registered to run when preparing this service.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public @org.jetbrains.annotations.NotNull java.util.Map getExtensions() {
return java.util.Collections.unmodifiableMap(software.amazon.jsii.Kernel.get(this, "extensions", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(io.github.cdklabs.cdkecsserviceextensions.ServiceExtension.class))));
}
/**
* (experimental) The list of extensions that have been registered to run when preparing this service.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public void setExtensions(final @org.jetbrains.annotations.NotNull java.util.Map value) {
software.amazon.jsii.Kernel.set(this, "extensions", java.util.Objects.requireNonNull(value, "extensions is required"));
}
}