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

com.pulumi.aws.imagebuilder.outputs.DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermission 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.core.annotations.CustomType;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import javax.annotation.Nullable;

@CustomType
public final class DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermission {
    /**
     * @return Set of AWS Organization ARNs to assign.
     * 
     */
    private @Nullable List organizationArns;
    /**
     * @return Set of AWS Organizational Unit ARNs to assign.
     * 
     */
    private @Nullable List organizationalUnitArns;
    /**
     * @return Set of EC2 launch permission user groups to assign. Use `all` to distribute a public AMI.
     * 
     */
    private @Nullable List userGroups;
    /**
     * @return Set of AWS Account identifiers to assign.
     * 
     */
    private @Nullable List userIds;

    private DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermission() {}
    /**
     * @return Set of AWS Organization ARNs to assign.
     * 
     */
    public List organizationArns() {
        return this.organizationArns == null ? List.of() : this.organizationArns;
    }
    /**
     * @return Set of AWS Organizational Unit ARNs to assign.
     * 
     */
    public List organizationalUnitArns() {
        return this.organizationalUnitArns == null ? List.of() : this.organizationalUnitArns;
    }
    /**
     * @return Set of EC2 launch permission user groups to assign. Use `all` to distribute a public AMI.
     * 
     */
    public List userGroups() {
        return this.userGroups == null ? List.of() : this.userGroups;
    }
    /**
     * @return Set of AWS Account identifiers to assign.
     * 
     */
    public List userIds() {
        return this.userIds == null ? List.of() : this.userIds;
    }

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

    public static Builder builder(DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermission defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List organizationArns;
        private @Nullable List organizationalUnitArns;
        private @Nullable List userGroups;
        private @Nullable List userIds;
        public Builder() {}
        public Builder(DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermission defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.organizationArns = defaults.organizationArns;
    	      this.organizationalUnitArns = defaults.organizationalUnitArns;
    	      this.userGroups = defaults.userGroups;
    	      this.userIds = defaults.userIds;
        }

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

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

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

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

            this.userIds = userIds;
            return this;
        }
        public Builder userIds(String... userIds) {
            return userIds(List.of(userIds));
        }
        public DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermission build() {
            final var _resultValue = new DistributionConfigurationDistributionAmiDistributionConfigurationLaunchPermission();
            _resultValue.organizationArns = organizationArns;
            _resultValue.organizationalUnitArns = organizationalUnitArns;
            _resultValue.userGroups = userGroups;
            _resultValue.userIds = userIds;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy