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

com.pulumi.aws.imagebuilder.ImageArgs Maven / Gradle / Ivy

Go to download

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

The 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.imagebuilder;

import com.pulumi.aws.imagebuilder.inputs.ImageImageScanningConfigurationArgs;
import com.pulumi.aws.imagebuilder.inputs.ImageImageTestsConfigurationArgs;
import com.pulumi.aws.imagebuilder.inputs.ImageWorkflowArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ImageArgs Empty = new ImageArgs();

    /**
     * Amazon Resource Name (ARN) of the container recipe.
     * 
     */
    @Import(name="containerRecipeArn")
    private @Nullable Output containerRecipeArn;

    /**
     * @return Amazon Resource Name (ARN) of the container recipe.
     * 
     */
    public Optional> containerRecipeArn() {
        return Optional.ofNullable(this.containerRecipeArn);
    }

    /**
     * Amazon Resource Name (ARN) of the Image Builder Distribution Configuration.
     * 
     */
    @Import(name="distributionConfigurationArn")
    private @Nullable Output distributionConfigurationArn;

    /**
     * @return Amazon Resource Name (ARN) of the Image Builder Distribution Configuration.
     * 
     */
    public Optional> distributionConfigurationArn() {
        return Optional.ofNullable(this.distributionConfigurationArn);
    }

    /**
     * Whether additional information about the image being created is collected. Defaults to `true`.
     * 
     */
    @Import(name="enhancedImageMetadataEnabled")
    private @Nullable Output enhancedImageMetadataEnabled;

    /**
     * @return Whether additional information about the image being created is collected. Defaults to `true`.
     * 
     */
    public Optional> enhancedImageMetadataEnabled() {
        return Optional.ofNullable(this.enhancedImageMetadataEnabled);
    }

    /**
     * Amazon Resource Name (ARN) of the service-linked role to be used by Image Builder to [execute workflows](https://docs.aws.amazon.com/imagebuilder/latest/userguide/manage-image-workflows.html).
     * 
     */
    @Import(name="executionRole")
    private @Nullable Output executionRole;

    /**
     * @return Amazon Resource Name (ARN) of the service-linked role to be used by Image Builder to [execute workflows](https://docs.aws.amazon.com/imagebuilder/latest/userguide/manage-image-workflows.html).
     * 
     */
    public Optional> executionRole() {
        return Optional.ofNullable(this.executionRole);
    }

    /**
     * Amazon Resource Name (ARN) of the image recipe.
     * 
     */
    @Import(name="imageRecipeArn")
    private @Nullable Output imageRecipeArn;

    /**
     * @return Amazon Resource Name (ARN) of the image recipe.
     * 
     */
    public Optional> imageRecipeArn() {
        return Optional.ofNullable(this.imageRecipeArn);
    }

    /**
     * Configuration block with image scanning configuration. Detailed below.
     * 
     */
    @Import(name="imageScanningConfiguration")
    private @Nullable Output imageScanningConfiguration;

    /**
     * @return Configuration block with image scanning configuration. Detailed below.
     * 
     */
    public Optional> imageScanningConfiguration() {
        return Optional.ofNullable(this.imageScanningConfiguration);
    }

    /**
     * Configuration block with image tests configuration. Detailed below.
     * 
     */
    @Import(name="imageTestsConfiguration")
    private @Nullable Output imageTestsConfiguration;

    /**
     * @return Configuration block with image tests configuration. Detailed below.
     * 
     */
    public Optional> imageTestsConfiguration() {
        return Optional.ofNullable(this.imageTestsConfiguration);
    }

    /**
     * Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="infrastructureConfigurationArn", required=true)
    private Output infrastructureConfigurationArn;

    /**
     * @return Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration.
     * 
     * The following arguments are optional:
     * 
     */
    public Output infrastructureConfigurationArn() {
        return this.infrastructureConfigurationArn;
    }

    /**
     * Key-value map of resource tags for the Image Builder Image. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key-value map of resource tags for the Image Builder Image. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Configuration block with the workflow configuration. Detailed below.
     * 
     */
    @Import(name="workflows")
    private @Nullable Output> workflows;

    /**
     * @return Configuration block with the workflow configuration. Detailed below.
     * 
     */
    public Optional>> workflows() {
        return Optional.ofNullable(this.workflows);
    }

    private ImageArgs() {}

    private ImageArgs(ImageArgs $) {
        this.containerRecipeArn = $.containerRecipeArn;
        this.distributionConfigurationArn = $.distributionConfigurationArn;
        this.enhancedImageMetadataEnabled = $.enhancedImageMetadataEnabled;
        this.executionRole = $.executionRole;
        this.imageRecipeArn = $.imageRecipeArn;
        this.imageScanningConfiguration = $.imageScanningConfiguration;
        this.imageTestsConfiguration = $.imageTestsConfiguration;
        this.infrastructureConfigurationArn = $.infrastructureConfigurationArn;
        this.tags = $.tags;
        this.workflows = $.workflows;
    }

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

    public static final class Builder {
        private ImageArgs $;

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

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

        /**
         * @param containerRecipeArn Amazon Resource Name (ARN) of the container recipe.
         * 
         * @return builder
         * 
         */
        public Builder containerRecipeArn(@Nullable Output containerRecipeArn) {
            $.containerRecipeArn = containerRecipeArn;
            return this;
        }

        /**
         * @param containerRecipeArn Amazon Resource Name (ARN) of the container recipe.
         * 
         * @return builder
         * 
         */
        public Builder containerRecipeArn(String containerRecipeArn) {
            return containerRecipeArn(Output.of(containerRecipeArn));
        }

        /**
         * @param distributionConfigurationArn Amazon Resource Name (ARN) of the Image Builder Distribution Configuration.
         * 
         * @return builder
         * 
         */
        public Builder distributionConfigurationArn(@Nullable Output distributionConfigurationArn) {
            $.distributionConfigurationArn = distributionConfigurationArn;
            return this;
        }

        /**
         * @param distributionConfigurationArn Amazon Resource Name (ARN) of the Image Builder Distribution Configuration.
         * 
         * @return builder
         * 
         */
        public Builder distributionConfigurationArn(String distributionConfigurationArn) {
            return distributionConfigurationArn(Output.of(distributionConfigurationArn));
        }

        /**
         * @param enhancedImageMetadataEnabled Whether additional information about the image being created is collected. Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder enhancedImageMetadataEnabled(@Nullable Output enhancedImageMetadataEnabled) {
            $.enhancedImageMetadataEnabled = enhancedImageMetadataEnabled;
            return this;
        }

        /**
         * @param enhancedImageMetadataEnabled Whether additional information about the image being created is collected. Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder enhancedImageMetadataEnabled(Boolean enhancedImageMetadataEnabled) {
            return enhancedImageMetadataEnabled(Output.of(enhancedImageMetadataEnabled));
        }

        /**
         * @param executionRole Amazon Resource Name (ARN) of the service-linked role to be used by Image Builder to [execute workflows](https://docs.aws.amazon.com/imagebuilder/latest/userguide/manage-image-workflows.html).
         * 
         * @return builder
         * 
         */
        public Builder executionRole(@Nullable Output executionRole) {
            $.executionRole = executionRole;
            return this;
        }

        /**
         * @param executionRole Amazon Resource Name (ARN) of the service-linked role to be used by Image Builder to [execute workflows](https://docs.aws.amazon.com/imagebuilder/latest/userguide/manage-image-workflows.html).
         * 
         * @return builder
         * 
         */
        public Builder executionRole(String executionRole) {
            return executionRole(Output.of(executionRole));
        }

        /**
         * @param imageRecipeArn Amazon Resource Name (ARN) of the image recipe.
         * 
         * @return builder
         * 
         */
        public Builder imageRecipeArn(@Nullable Output imageRecipeArn) {
            $.imageRecipeArn = imageRecipeArn;
            return this;
        }

        /**
         * @param imageRecipeArn Amazon Resource Name (ARN) of the image recipe.
         * 
         * @return builder
         * 
         */
        public Builder imageRecipeArn(String imageRecipeArn) {
            return imageRecipeArn(Output.of(imageRecipeArn));
        }

        /**
         * @param imageScanningConfiguration Configuration block with image scanning configuration. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder imageScanningConfiguration(@Nullable Output imageScanningConfiguration) {
            $.imageScanningConfiguration = imageScanningConfiguration;
            return this;
        }

        /**
         * @param imageScanningConfiguration Configuration block with image scanning configuration. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder imageScanningConfiguration(ImageImageScanningConfigurationArgs imageScanningConfiguration) {
            return imageScanningConfiguration(Output.of(imageScanningConfiguration));
        }

        /**
         * @param imageTestsConfiguration Configuration block with image tests configuration. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder imageTestsConfiguration(@Nullable Output imageTestsConfiguration) {
            $.imageTestsConfiguration = imageTestsConfiguration;
            return this;
        }

        /**
         * @param imageTestsConfiguration Configuration block with image tests configuration. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder imageTestsConfiguration(ImageImageTestsConfigurationArgs imageTestsConfiguration) {
            return imageTestsConfiguration(Output.of(imageTestsConfiguration));
        }

        /**
         * @param infrastructureConfigurationArn Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder infrastructureConfigurationArn(Output infrastructureConfigurationArn) {
            $.infrastructureConfigurationArn = infrastructureConfigurationArn;
            return this;
        }

        /**
         * @param infrastructureConfigurationArn Amazon Resource Name (ARN) of the Image Builder Infrastructure Configuration.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder infrastructureConfigurationArn(String infrastructureConfigurationArn) {
            return infrastructureConfigurationArn(Output.of(infrastructureConfigurationArn));
        }

        /**
         * @param tags Key-value map of resource tags for the Image Builder Image. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key-value map of resource tags for the Image Builder Image. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param workflows Configuration block with the workflow configuration. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder workflows(@Nullable Output> workflows) {
            $.workflows = workflows;
            return this;
        }

        /**
         * @param workflows Configuration block with the workflow configuration. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder workflows(List workflows) {
            return workflows(Output.of(workflows));
        }

        /**
         * @param workflows Configuration block with the workflow configuration. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder workflows(ImageWorkflowArgs... workflows) {
            return workflows(List.of(workflows));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy