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

software.amazon.awsconstructs.services.fargatessmstringparameter.FargateToSsmstringparameter Maven / Gradle / Ivy

package software.amazon.awsconstructs.services.fargatessmstringparameter;

@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-11T02:33:32.719Z")
@software.amazon.jsii.Jsii(module = software.amazon.awsconstructs.services.fargatessmstringparameter.$Module.class, fqn = "@aws-solutions-constructs/aws-fargate-ssmstringparameter.FargateToSsmstringparameter")
public class FargateToSsmstringparameter extends software.constructs.Construct {

    protected FargateToSsmstringparameter(final software.amazon.jsii.JsiiObjectRef objRef) {
        super(objRef);
    }

    protected FargateToSsmstringparameter(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
        super(initializationMode);
    }

    public FargateToSsmstringparameter(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull software.amazon.awsconstructs.services.fargatessmstringparameter.FargateToSsmstringparameterProps props) {
        super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
        software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") });
    }

    public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ecs.ContainerDefinition getContainer() {
        return software.amazon.jsii.Kernel.get(this, "container", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.ContainerDefinition.class));
    }

    public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ecs.FargateService getService() {
        return software.amazon.jsii.Kernel.get(this, "service", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.FargateService.class));
    }

    public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ssm.StringParameter getStringParameter() {
        return software.amazon.jsii.Kernel.get(this, "stringParameter", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ssm.StringParameter.class));
    }

    public @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ec2.IVpc getVpc() {
        return software.amazon.jsii.Kernel.get(this, "vpc", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.IVpc.class));
    }

    /**
     * A fluent builder for {@link software.amazon.awsconstructs.services.fargatessmstringparameter.FargateToSsmstringparameter}.
     */
    public static final class Builder implements software.amazon.jsii.Builder {
        /**
         * @return a new instance of {@link Builder}.
         * @param scope This parameter is required.
         * @param id This parameter is required.
         */
        public static Builder create(final software.constructs.Construct scope, final java.lang.String id) {
            return new Builder(scope, id);
        }

        private final software.constructs.Construct scope;
        private final java.lang.String id;
        private final software.amazon.awsconstructs.services.fargatessmstringparameter.FargateToSsmstringparameterProps.Builder props;

        private Builder(final software.constructs.Construct scope, final java.lang.String id) {
            this.scope = scope;
            this.id = id;
            this.props = new software.amazon.awsconstructs.services.fargatessmstringparameter.FargateToSsmstringparameterProps.Builder();
        }

        /**
         * Whether the construct is deploying a private or public API.
         * 

* This has implications for the VPC deployed * by this construct. *

* @return {@code this} * @param publicApi Whether the construct is deploying a private or public API. This parameter is required. */ public Builder publicApi(final java.lang.Boolean publicApi) { this.props.publicApi(publicApi); return this; } /** * Optional properties to create a new ECS cluster. *

* @return {@code this} * @param clusterProps Optional properties to create a new ECS cluster. This parameter is required. */ public Builder clusterProps(final software.amazon.awscdk.services.ecs.ClusterProps clusterProps) { this.props.clusterProps(clusterProps); return this; } /** * @return {@code this} * @param containerDefinitionProps This parameter is required. */ public Builder containerDefinitionProps(final java.lang.Object containerDefinitionProps) { this.props.containerDefinitionProps(containerDefinitionProps); return this; } /** * The version of the image to use from the repository. *

* Default: - 'latest' *

* @return {@code this} * @param ecrImageVersion The version of the image to use from the repository. This parameter is required. */ public Builder ecrImageVersion(final java.lang.String ecrImageVersion) { this.props.ecrImageVersion(ecrImageVersion); return this; } /** * The arn of an ECR Repository containing the image to use to generate the containers. *

* format: * arn:aws:ecr:[region]:[account number]:repository/[Repository Name] *

* @return {@code this} * @param ecrRepositoryArn The arn of an ECR Repository containing the image to use to generate the containers. This parameter is required. */ public Builder ecrRepositoryArn(final java.lang.String ecrRepositoryArn) { this.props.ecrRepositoryArn(ecrRepositoryArn); return this; } /** * @return {@code this} * @param existingContainerDefinitionObject This parameter is required. */ public Builder existingContainerDefinitionObject(final software.amazon.awscdk.services.ecs.ContainerDefinition existingContainerDefinitionObject) { this.props.existingContainerDefinitionObject(existingContainerDefinitionObject); return this; } /** * A Fargate Service already instantiated (probably by another Solutions Construct). *

* If * this is specified, then no props defining a new service can be provided, including: * existingImageObject, ecrImageVersion, containerDefinitionProps, fargateTaskDefinitionProps, * ecrRepositoryArn, fargateServiceProps, clusterProps, existingClusterInterface. If this value * is provided, then existingContainerDefinitionObject must be provided as well. *

* Default: - none *

* @return {@code this} * @param existingFargateServiceObject A Fargate Service already instantiated (probably by another Solutions Construct). This parameter is required. */ public Builder existingFargateServiceObject(final software.amazon.awscdk.services.ecs.FargateService existingFargateServiceObject) { this.props.existingFargateServiceObject(existingFargateServiceObject); return this; } /** * Optional user provided props to override the default props for SSM String Parameter. *

* Default: - None *

* @return {@code this} * @param existingStringParameterObj Optional user provided props to override the default props for SSM String Parameter. This parameter is required. */ public Builder existingStringParameterObj(final software.amazon.awscdk.services.ssm.StringParameter existingStringParameterObj) { this.props.existingStringParameterObj(existingStringParameterObj); return this; } /** * An existing VPC in which to deploy the construct. *

* Providing both this and * vpcProps is an error. If the client provides an existing Fargate service, * this value must be the VPC where the service is running. An SSM Interface * endpoint will be added to this VPC. *

* Default: - none *

* @return {@code this} * @param existingVpc An existing VPC in which to deploy the construct. This parameter is required. */ public Builder existingVpc(final software.amazon.awscdk.services.ec2.IVpc existingVpc) { this.props.existingVpc(existingVpc); return this; } /** * Optional values to override default Fargate Task definition properties (fargate-defaults.ts). The construct will default to launching the service is the most isolated subnets available (precedence: Isolated, Private and Public). Override those and other defaults here. *

* defaults - fargate-defaults.ts *

* @return {@code this} * @param fargateServiceProps Optional values to override default Fargate Task definition properties (fargate-defaults.ts). The construct will default to launching the service is the most isolated subnets available (precedence: Isolated, Private and Public). Override those and other defaults here. This parameter is required. */ public Builder fargateServiceProps(final java.lang.Object fargateServiceProps) { this.props.fargateServiceProps(fargateServiceProps); return this; } /** * @return {@code this} * @param fargateTaskDefinitionProps This parameter is required. */ public Builder fargateTaskDefinitionProps(final java.lang.Object fargateTaskDefinitionProps) { this.props.fargateTaskDefinitionProps(fargateTaskDefinitionProps); return this; } /** * Optional Name for the container environment variable set to the SSM parameter name. *

* Default: - SSM_STRING_PARAMETER_NAME *

* @return {@code this} * @param stringParameterEnvironmentVariableName Optional Name for the container environment variable set to the SSM parameter name. This parameter is required. */ public Builder stringParameterEnvironmentVariableName(final java.lang.String stringParameterEnvironmentVariableName) { this.props.stringParameterEnvironmentVariableName(stringParameterEnvironmentVariableName); return this; } /** * Optional SSM String parameter permissions to grant to the Fargate service. *

* One of the following may be specified: "Read", "ReadWrite". *

* Default: - 'Read' *

* @return {@code this} * @param stringParameterPermissions Optional SSM String parameter permissions to grant to the Fargate service. This parameter is required. */ public Builder stringParameterPermissions(final java.lang.String stringParameterPermissions) { this.props.stringParameterPermissions(stringParameterPermissions); return this; } /** * Optional user provided props to override the default props for SSM String Parameter. *

* Default: - Default props are used *

* @return {@code this} * @param stringParameterProps Optional user provided props to override the default props for SSM String Parameter. This parameter is required. */ public Builder stringParameterProps(final software.amazon.awscdk.services.ssm.StringParameterProps stringParameterProps) { this.props.stringParameterProps(stringParameterProps); return this; } /** * Optional custom properties for a VPC the construct will create. *

* This VPC will * be used by the new Fargate service the construct creates (that's * why targetGroupProps can't include a VPC). Providing * both this and existingVpc is an error. An SSM Interface * endpoint will be included in this VPC. *

* Default: - none *

* @return {@code this} * @param vpcProps Optional custom properties for a VPC the construct will create. This parameter is required. */ public Builder vpcProps(final software.amazon.awscdk.services.ec2.VpcProps vpcProps) { this.props.vpcProps(vpcProps); return this; } /** * @return a newly built instance of {@link software.amazon.awsconstructs.services.fargatessmstringparameter.FargateToSsmstringparameter}. */ @Override public software.amazon.awsconstructs.services.fargatessmstringparameter.FargateToSsmstringparameter build() { return new software.amazon.awsconstructs.services.fargatessmstringparameter.FargateToSsmstringparameter( this.scope, this.id, this.props.build() ); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy