com.pulumi.azurenative.networkcloud.inputs.VirtualMachinePlacementHintArgs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-native Show documentation
Show all versions of azure-native Show documentation
A native Pulumi package for creating and managing Azure resources.
// *** 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.networkcloud.inputs;
import com.pulumi.azurenative.networkcloud.enums.VirtualMachinePlacementHintPodAffinityScope;
import com.pulumi.azurenative.networkcloud.enums.VirtualMachinePlacementHintType;
import com.pulumi.azurenative.networkcloud.enums.VirtualMachineSchedulingExecution;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
public final class VirtualMachinePlacementHintArgs extends com.pulumi.resources.ResourceArgs {
public static final VirtualMachinePlacementHintArgs Empty = new VirtualMachinePlacementHintArgs();
/**
* The specification of whether this hint supports affinity or anti-affinity with the referenced resources.
*
*/
@Import(name="hintType", required=true)
private Output> hintType;
/**
* @return The specification of whether this hint supports affinity or anti-affinity with the referenced resources.
*
*/
public Output> hintType() {
return this.hintType;
}
/**
* The resource ID of the target object that the placement hints will be checked against, e.g., the bare metal node to host the virtual machine.
*
*/
@Import(name="resourceId", required=true)
private Output resourceId;
/**
* @return The resource ID of the target object that the placement hints will be checked against, e.g., the bare metal node to host the virtual machine.
*
*/
public Output resourceId() {
return this.resourceId;
}
/**
* The indicator of whether the hint is a hard or soft requirement during scheduling.
*
*/
@Import(name="schedulingExecution", required=true)
private Output> schedulingExecution;
/**
* @return The indicator of whether the hint is a hard or soft requirement during scheduling.
*
*/
public Output> schedulingExecution() {
return this.schedulingExecution;
}
/**
* The scope for the virtual machine affinity or anti-affinity placement hint. It should always be "Machine" in the case of node affinity.
*
*/
@Import(name="scope", required=true)
private Output> scope;
/**
* @return The scope for the virtual machine affinity or anti-affinity placement hint. It should always be "Machine" in the case of node affinity.
*
*/
public Output> scope() {
return this.scope;
}
private VirtualMachinePlacementHintArgs() {}
private VirtualMachinePlacementHintArgs(VirtualMachinePlacementHintArgs $) {
this.hintType = $.hintType;
this.resourceId = $.resourceId;
this.schedulingExecution = $.schedulingExecution;
this.scope = $.scope;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(VirtualMachinePlacementHintArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private VirtualMachinePlacementHintArgs $;
public Builder() {
$ = new VirtualMachinePlacementHintArgs();
}
public Builder(VirtualMachinePlacementHintArgs defaults) {
$ = new VirtualMachinePlacementHintArgs(Objects.requireNonNull(defaults));
}
/**
* @param hintType The specification of whether this hint supports affinity or anti-affinity with the referenced resources.
*
* @return builder
*
*/
public Builder hintType(Output> hintType) {
$.hintType = hintType;
return this;
}
/**
* @param hintType The specification of whether this hint supports affinity or anti-affinity with the referenced resources.
*
* @return builder
*
*/
public Builder hintType(Either hintType) {
return hintType(Output.of(hintType));
}
/**
* @param hintType The specification of whether this hint supports affinity or anti-affinity with the referenced resources.
*
* @return builder
*
*/
public Builder hintType(String hintType) {
return hintType(Either.ofLeft(hintType));
}
/**
* @param hintType The specification of whether this hint supports affinity or anti-affinity with the referenced resources.
*
* @return builder
*
*/
public Builder hintType(VirtualMachinePlacementHintType hintType) {
return hintType(Either.ofRight(hintType));
}
/**
* @param resourceId The resource ID of the target object that the placement hints will be checked against, e.g., the bare metal node to host the virtual machine.
*
* @return builder
*
*/
public Builder resourceId(Output resourceId) {
$.resourceId = resourceId;
return this;
}
/**
* @param resourceId The resource ID of the target object that the placement hints will be checked against, e.g., the bare metal node to host the virtual machine.
*
* @return builder
*
*/
public Builder resourceId(String resourceId) {
return resourceId(Output.of(resourceId));
}
/**
* @param schedulingExecution The indicator of whether the hint is a hard or soft requirement during scheduling.
*
* @return builder
*
*/
public Builder schedulingExecution(Output> schedulingExecution) {
$.schedulingExecution = schedulingExecution;
return this;
}
/**
* @param schedulingExecution The indicator of whether the hint is a hard or soft requirement during scheduling.
*
* @return builder
*
*/
public Builder schedulingExecution(Either schedulingExecution) {
return schedulingExecution(Output.of(schedulingExecution));
}
/**
* @param schedulingExecution The indicator of whether the hint is a hard or soft requirement during scheduling.
*
* @return builder
*
*/
public Builder schedulingExecution(String schedulingExecution) {
return schedulingExecution(Either.ofLeft(schedulingExecution));
}
/**
* @param schedulingExecution The indicator of whether the hint is a hard or soft requirement during scheduling.
*
* @return builder
*
*/
public Builder schedulingExecution(VirtualMachineSchedulingExecution schedulingExecution) {
return schedulingExecution(Either.ofRight(schedulingExecution));
}
/**
* @param scope The scope for the virtual machine affinity or anti-affinity placement hint. It should always be "Machine" in the case of node affinity.
*
* @return builder
*
*/
public Builder scope(Output> scope) {
$.scope = scope;
return this;
}
/**
* @param scope The scope for the virtual machine affinity or anti-affinity placement hint. It should always be "Machine" in the case of node affinity.
*
* @return builder
*
*/
public Builder scope(Either scope) {
return scope(Output.of(scope));
}
/**
* @param scope The scope for the virtual machine affinity or anti-affinity placement hint. It should always be "Machine" in the case of node affinity.
*
* @return builder
*
*/
public Builder scope(String scope) {
return scope(Either.ofLeft(scope));
}
/**
* @param scope The scope for the virtual machine affinity or anti-affinity placement hint. It should always be "Machine" in the case of node affinity.
*
* @return builder
*
*/
public Builder scope(VirtualMachinePlacementHintPodAffinityScope scope) {
return scope(Either.ofRight(scope));
}
public VirtualMachinePlacementHintArgs build() {
if ($.hintType == null) {
throw new MissingRequiredPropertyException("VirtualMachinePlacementHintArgs", "hintType");
}
if ($.resourceId == null) {
throw new MissingRequiredPropertyException("VirtualMachinePlacementHintArgs", "resourceId");
}
if ($.schedulingExecution == null) {
throw new MissingRequiredPropertyException("VirtualMachinePlacementHintArgs", "schedulingExecution");
}
if ($.scope == null) {
throw new MissingRequiredPropertyException("VirtualMachinePlacementHintArgs", "scope");
}
return $;
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy