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

com.pulumi.azurenative.awsconnector.outputs.PlacementResponse 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.azurenative.awsconnector.outputs;

import com.pulumi.azurenative.awsconnector.outputs.TenancyEnumValueResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class PlacementResponse {
    /**
     * @return <p>The affinity setting for the instance on the Dedicated Host.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a> or <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html'>ImportInstance</a>.</p>
     * 
     */
    private @Nullable String affinity;
    /**
     * @return <p>The Availability Zone of the instance.</p> <p>If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a>.</p>
     * 
     */
    private @Nullable String availabilityZone;
    /**
     * @return <p>The ID of the placement group that the instance is in. If you specify <code>GroupId</code>, you can't specify <code>GroupName</code>.</p>
     * 
     */
    private @Nullable String groupId;
    /**
     * @return <p>The name of the placement group that the instance is in. If you specify <code>GroupName</code>, you can't specify <code>GroupId</code>.</p>
     * 
     */
    private @Nullable String groupName;
    /**
     * @return <p>The ID of the Dedicated Host on which the instance resides.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a> or <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html'>ImportInstance</a>.</p>
     * 
     */
    private @Nullable String hostId;
    /**
     * @return <p>The ARN of the host resource group in which to launch the instances.</p> <p>If you specify this parameter, either omit the <b>Tenancy</b> parameter or set it to <code>host</code>.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a>.</p>
     * 
     */
    private @Nullable String hostResourceGroupArn;
    /**
     * @return <p>The number of the partition that the instance is in. Valid only if the placement group strategy is set to <code>partition</code>.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a>.</p>
     * 
     */
    private @Nullable Integer partitionNumber;
    /**
     * @return <p>Reserved for future use.</p>
     * 
     */
    private @Nullable String spreadDomain;
    /**
     * @return <p>The tenancy of the instance. An instance with a tenancy of <code>dedicated</code> runs on single-tenant hardware.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a>. The <code>host</code> tenancy is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html'>ImportInstance</a> or for T3 instances that are configured for the <code>unlimited</code> CPU credit option.</p>
     * 
     */
    private @Nullable TenancyEnumValueResponse tenancy;

    private PlacementResponse() {}
    /**
     * @return <p>The affinity setting for the instance on the Dedicated Host.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a> or <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html'>ImportInstance</a>.</p>
     * 
     */
    public Optional affinity() {
        return Optional.ofNullable(this.affinity);
    }
    /**
     * @return <p>The Availability Zone of the instance.</p> <p>If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a>.</p>
     * 
     */
    public Optional availabilityZone() {
        return Optional.ofNullable(this.availabilityZone);
    }
    /**
     * @return <p>The ID of the placement group that the instance is in. If you specify <code>GroupId</code>, you can't specify <code>GroupName</code>.</p>
     * 
     */
    public Optional groupId() {
        return Optional.ofNullable(this.groupId);
    }
    /**
     * @return <p>The name of the placement group that the instance is in. If you specify <code>GroupName</code>, you can't specify <code>GroupId</code>.</p>
     * 
     */
    public Optional groupName() {
        return Optional.ofNullable(this.groupName);
    }
    /**
     * @return <p>The ID of the Dedicated Host on which the instance resides.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a> or <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html'>ImportInstance</a>.</p>
     * 
     */
    public Optional hostId() {
        return Optional.ofNullable(this.hostId);
    }
    /**
     * @return <p>The ARN of the host resource group in which to launch the instances.</p> <p>If you specify this parameter, either omit the <b>Tenancy</b> parameter or set it to <code>host</code>.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a>.</p>
     * 
     */
    public Optional hostResourceGroupArn() {
        return Optional.ofNullable(this.hostResourceGroupArn);
    }
    /**
     * @return <p>The number of the partition that the instance is in. Valid only if the placement group strategy is set to <code>partition</code>.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a>.</p>
     * 
     */
    public Optional partitionNumber() {
        return Optional.ofNullable(this.partitionNumber);
    }
    /**
     * @return <p>Reserved for future use.</p>
     * 
     */
    public Optional spreadDomain() {
        return Optional.ofNullable(this.spreadDomain);
    }
    /**
     * @return <p>The tenancy of the instance. An instance with a tenancy of <code>dedicated</code> runs on single-tenant hardware.</p> <p>This parameter is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet'>CreateFleet</a>. The <code>host</code> tenancy is not supported for <a href='https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html'>ImportInstance</a> or for T3 instances that are configured for the <code>unlimited</code> CPU credit option.</p>
     * 
     */
    public Optional tenancy() {
        return Optional.ofNullable(this.tenancy);
    }

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

    public static Builder builder(PlacementResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String affinity;
        private @Nullable String availabilityZone;
        private @Nullable String groupId;
        private @Nullable String groupName;
        private @Nullable String hostId;
        private @Nullable String hostResourceGroupArn;
        private @Nullable Integer partitionNumber;
        private @Nullable String spreadDomain;
        private @Nullable TenancyEnumValueResponse tenancy;
        public Builder() {}
        public Builder(PlacementResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.affinity = defaults.affinity;
    	      this.availabilityZone = defaults.availabilityZone;
    	      this.groupId = defaults.groupId;
    	      this.groupName = defaults.groupName;
    	      this.hostId = defaults.hostId;
    	      this.hostResourceGroupArn = defaults.hostResourceGroupArn;
    	      this.partitionNumber = defaults.partitionNumber;
    	      this.spreadDomain = defaults.spreadDomain;
    	      this.tenancy = defaults.tenancy;
        }

        @CustomType.Setter
        public Builder affinity(@Nullable String affinity) {

            this.affinity = affinity;
            return this;
        }
        @CustomType.Setter
        public Builder availabilityZone(@Nullable String availabilityZone) {

            this.availabilityZone = availabilityZone;
            return this;
        }
        @CustomType.Setter
        public Builder groupId(@Nullable String groupId) {

            this.groupId = groupId;
            return this;
        }
        @CustomType.Setter
        public Builder groupName(@Nullable String groupName) {

            this.groupName = groupName;
            return this;
        }
        @CustomType.Setter
        public Builder hostId(@Nullable String hostId) {

            this.hostId = hostId;
            return this;
        }
        @CustomType.Setter
        public Builder hostResourceGroupArn(@Nullable String hostResourceGroupArn) {

            this.hostResourceGroupArn = hostResourceGroupArn;
            return this;
        }
        @CustomType.Setter
        public Builder partitionNumber(@Nullable Integer partitionNumber) {

            this.partitionNumber = partitionNumber;
            return this;
        }
        @CustomType.Setter
        public Builder spreadDomain(@Nullable String spreadDomain) {

            this.spreadDomain = spreadDomain;
            return this;
        }
        @CustomType.Setter
        public Builder tenancy(@Nullable TenancyEnumValueResponse tenancy) {

            this.tenancy = tenancy;
            return this;
        }
        public PlacementResponse build() {
            final var _resultValue = new PlacementResponse();
            _resultValue.affinity = affinity;
            _resultValue.availabilityZone = availabilityZone;
            _resultValue.groupId = groupId;
            _resultValue.groupName = groupName;
            _resultValue.hostId = hostId;
            _resultValue.hostResourceGroupArn = hostResourceGroupArn;
            _resultValue.partitionNumber = partitionNumber;
            _resultValue.spreadDomain = spreadDomain;
            _resultValue.tenancy = tenancy;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy