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

com.pulumi.aws.elasticbeanstalk.inputs.ApplicationAppversionLifecycleArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.elasticbeanstalk.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ApplicationAppversionLifecycleArgs extends com.pulumi.resources.ResourceArgs {

    public static final ApplicationAppversionLifecycleArgs Empty = new ApplicationAppversionLifecycleArgs();

    /**
     * Set to `true` to delete a version's source bundle from S3 when the application version is deleted.
     * 
     */
    @Import(name="deleteSourceFromS3")
    private @Nullable Output deleteSourceFromS3;

    /**
     * @return Set to `true` to delete a version's source bundle from S3 when the application version is deleted.
     * 
     */
    public Optional> deleteSourceFromS3() {
        return Optional.ofNullable(this.deleteSourceFromS3);
    }

    /**
     * The number of days to retain an application version ('max_age_in_days' and 'max_count' cannot be enabled simultaneously.).
     * 
     */
    @Import(name="maxAgeInDays")
    private @Nullable Output maxAgeInDays;

    /**
     * @return The number of days to retain an application version ('max_age_in_days' and 'max_count' cannot be enabled simultaneously.).
     * 
     */
    public Optional> maxAgeInDays() {
        return Optional.ofNullable(this.maxAgeInDays);
    }

    /**
     * The maximum number of application versions to retain ('max_age_in_days' and 'max_count' cannot be enabled simultaneously.).
     * 
     */
    @Import(name="maxCount")
    private @Nullable Output maxCount;

    /**
     * @return The maximum number of application versions to retain ('max_age_in_days' and 'max_count' cannot be enabled simultaneously.).
     * 
     */
    public Optional> maxCount() {
        return Optional.ofNullable(this.maxCount);
    }

    /**
     * The ARN of an IAM service role under which the application version is deleted.  Elastic Beanstalk must have permission to assume this role.
     * 
     */
    @Import(name="serviceRole", required=true)
    private Output serviceRole;

    /**
     * @return The ARN of an IAM service role under which the application version is deleted.  Elastic Beanstalk must have permission to assume this role.
     * 
     */
    public Output serviceRole() {
        return this.serviceRole;
    }

    private ApplicationAppversionLifecycleArgs() {}

    private ApplicationAppversionLifecycleArgs(ApplicationAppversionLifecycleArgs $) {
        this.deleteSourceFromS3 = $.deleteSourceFromS3;
        this.maxAgeInDays = $.maxAgeInDays;
        this.maxCount = $.maxCount;
        this.serviceRole = $.serviceRole;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ApplicationAppversionLifecycleArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ApplicationAppversionLifecycleArgs $;

        public Builder() {
            $ = new ApplicationAppversionLifecycleArgs();
        }

        public Builder(ApplicationAppversionLifecycleArgs defaults) {
            $ = new ApplicationAppversionLifecycleArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param deleteSourceFromS3 Set to `true` to delete a version's source bundle from S3 when the application version is deleted.
         * 
         * @return builder
         * 
         */
        public Builder deleteSourceFromS3(@Nullable Output deleteSourceFromS3) {
            $.deleteSourceFromS3 = deleteSourceFromS3;
            return this;
        }

        /**
         * @param deleteSourceFromS3 Set to `true` to delete a version's source bundle from S3 when the application version is deleted.
         * 
         * @return builder
         * 
         */
        public Builder deleteSourceFromS3(Boolean deleteSourceFromS3) {
            return deleteSourceFromS3(Output.of(deleteSourceFromS3));
        }

        /**
         * @param maxAgeInDays The number of days to retain an application version ('max_age_in_days' and 'max_count' cannot be enabled simultaneously.).
         * 
         * @return builder
         * 
         */
        public Builder maxAgeInDays(@Nullable Output maxAgeInDays) {
            $.maxAgeInDays = maxAgeInDays;
            return this;
        }

        /**
         * @param maxAgeInDays The number of days to retain an application version ('max_age_in_days' and 'max_count' cannot be enabled simultaneously.).
         * 
         * @return builder
         * 
         */
        public Builder maxAgeInDays(Integer maxAgeInDays) {
            return maxAgeInDays(Output.of(maxAgeInDays));
        }

        /**
         * @param maxCount The maximum number of application versions to retain ('max_age_in_days' and 'max_count' cannot be enabled simultaneously.).
         * 
         * @return builder
         * 
         */
        public Builder maxCount(@Nullable Output maxCount) {
            $.maxCount = maxCount;
            return this;
        }

        /**
         * @param maxCount The maximum number of application versions to retain ('max_age_in_days' and 'max_count' cannot be enabled simultaneously.).
         * 
         * @return builder
         * 
         */
        public Builder maxCount(Integer maxCount) {
            return maxCount(Output.of(maxCount));
        }

        /**
         * @param serviceRole The ARN of an IAM service role under which the application version is deleted.  Elastic Beanstalk must have permission to assume this role.
         * 
         * @return builder
         * 
         */
        public Builder serviceRole(Output serviceRole) {
            $.serviceRole = serviceRole;
            return this;
        }

        /**
         * @param serviceRole The ARN of an IAM service role under which the application version is deleted.  Elastic Beanstalk must have permission to assume this role.
         * 
         * @return builder
         * 
         */
        public Builder serviceRole(String serviceRole) {
            return serviceRole(Output.of(serviceRole));
        }

        public ApplicationAppversionLifecycleArgs build() {
            if ($.serviceRole == null) {
                throw new MissingRequiredPropertyException("ApplicationAppversionLifecycleArgs", "serviceRole");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy