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

com.pulumi.aws.imagebuilder.outputs.DistributionConfigurationDistributionContainerDistributionConfiguration Maven / Gradle / Ivy

// *** 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.outputs;

import com.pulumi.aws.imagebuilder.outputs.DistributionConfigurationDistributionContainerDistributionConfigurationTargetRepository;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class DistributionConfigurationDistributionContainerDistributionConfiguration {
    /**
     * @return Set of tags that are attached to the container distribution configuration.
     * 
     */
    private @Nullable List containerTags;
    /**
     * @return Description of the container distribution configuration.
     * 
     */
    private @Nullable String description;
    /**
     * @return Configuration block with the destination repository for the container distribution configuration.
     * 
     */
    private DistributionConfigurationDistributionContainerDistributionConfigurationTargetRepository targetRepository;

    private DistributionConfigurationDistributionContainerDistributionConfiguration() {}
    /**
     * @return Set of tags that are attached to the container distribution configuration.
     * 
     */
    public List containerTags() {
        return this.containerTags == null ? List.of() : this.containerTags;
    }
    /**
     * @return Description of the container distribution configuration.
     * 
     */
    public Optional description() {
        return Optional.ofNullable(this.description);
    }
    /**
     * @return Configuration block with the destination repository for the container distribution configuration.
     * 
     */
    public DistributionConfigurationDistributionContainerDistributionConfigurationTargetRepository targetRepository() {
        return this.targetRepository;
    }

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

    public static Builder builder(DistributionConfigurationDistributionContainerDistributionConfiguration defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List containerTags;
        private @Nullable String description;
        private DistributionConfigurationDistributionContainerDistributionConfigurationTargetRepository targetRepository;
        public Builder() {}
        public Builder(DistributionConfigurationDistributionContainerDistributionConfiguration defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.containerTags = defaults.containerTags;
    	      this.description = defaults.description;
    	      this.targetRepository = defaults.targetRepository;
        }

        @CustomType.Setter
        public Builder containerTags(@Nullable List containerTags) {

            this.containerTags = containerTags;
            return this;
        }
        public Builder containerTags(String... containerTags) {
            return containerTags(List.of(containerTags));
        }
        @CustomType.Setter
        public Builder description(@Nullable String description) {

            this.description = description;
            return this;
        }
        @CustomType.Setter
        public Builder targetRepository(DistributionConfigurationDistributionContainerDistributionConfigurationTargetRepository targetRepository) {
            if (targetRepository == null) {
              throw new MissingRequiredPropertyException("DistributionConfigurationDistributionContainerDistributionConfiguration", "targetRepository");
            }
            this.targetRepository = targetRepository;
            return this;
        }
        public DistributionConfigurationDistributionContainerDistributionConfiguration build() {
            final var _resultValue = new DistributionConfigurationDistributionContainerDistributionConfiguration();
            _resultValue.containerTags = containerTags;
            _resultValue.description = description;
            _resultValue.targetRepository = targetRepository;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy