
com.pulumi.azurenative.servicefabric.inputs.AddRemoveIncrementalNamedPartitionScalingMechanismArgs 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.servicefabric.inputs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
/**
* Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1'...'N-1'.
*
*/
public final class AddRemoveIncrementalNamedPartitionScalingMechanismArgs extends com.pulumi.resources.ResourceArgs {
public static final AddRemoveIncrementalNamedPartitionScalingMechanismArgs Empty = new AddRemoveIncrementalNamedPartitionScalingMechanismArgs();
/**
* Enumerates the ways that a service can be partitioned.
* Expected value is 'AddRemoveIncrementalNamedPartition'.
*
*/
@Import(name="kind", required=true)
private Output kind;
/**
* @return Enumerates the ways that a service can be partitioned.
* Expected value is 'AddRemoveIncrementalNamedPartition'.
*
*/
public Output kind() {
return this.kind;
}
/**
* Maximum number of named partitions of the service.
*
*/
@Import(name="maxPartitionCount", required=true)
private Output maxPartitionCount;
/**
* @return Maximum number of named partitions of the service.
*
*/
public Output maxPartitionCount() {
return this.maxPartitionCount;
}
/**
* Minimum number of named partitions of the service.
*
*/
@Import(name="minPartitionCount", required=true)
private Output minPartitionCount;
/**
* @return Minimum number of named partitions of the service.
*
*/
public Output minPartitionCount() {
return this.minPartitionCount;
}
/**
* The number of instances to add or remove during a scaling operation.
*
*/
@Import(name="scaleIncrement", required=true)
private Output scaleIncrement;
/**
* @return The number of instances to add or remove during a scaling operation.
*
*/
public Output scaleIncrement() {
return this.scaleIncrement;
}
private AddRemoveIncrementalNamedPartitionScalingMechanismArgs() {}
private AddRemoveIncrementalNamedPartitionScalingMechanismArgs(AddRemoveIncrementalNamedPartitionScalingMechanismArgs $) {
this.kind = $.kind;
this.maxPartitionCount = $.maxPartitionCount;
this.minPartitionCount = $.minPartitionCount;
this.scaleIncrement = $.scaleIncrement;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(AddRemoveIncrementalNamedPartitionScalingMechanismArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private AddRemoveIncrementalNamedPartitionScalingMechanismArgs $;
public Builder() {
$ = new AddRemoveIncrementalNamedPartitionScalingMechanismArgs();
}
public Builder(AddRemoveIncrementalNamedPartitionScalingMechanismArgs defaults) {
$ = new AddRemoveIncrementalNamedPartitionScalingMechanismArgs(Objects.requireNonNull(defaults));
}
/**
* @param kind Enumerates the ways that a service can be partitioned.
* Expected value is 'AddRemoveIncrementalNamedPartition'.
*
* @return builder
*
*/
public Builder kind(Output kind) {
$.kind = kind;
return this;
}
/**
* @param kind Enumerates the ways that a service can be partitioned.
* Expected value is 'AddRemoveIncrementalNamedPartition'.
*
* @return builder
*
*/
public Builder kind(String kind) {
return kind(Output.of(kind));
}
/**
* @param maxPartitionCount Maximum number of named partitions of the service.
*
* @return builder
*
*/
public Builder maxPartitionCount(Output maxPartitionCount) {
$.maxPartitionCount = maxPartitionCount;
return this;
}
/**
* @param maxPartitionCount Maximum number of named partitions of the service.
*
* @return builder
*
*/
public Builder maxPartitionCount(Integer maxPartitionCount) {
return maxPartitionCount(Output.of(maxPartitionCount));
}
/**
* @param minPartitionCount Minimum number of named partitions of the service.
*
* @return builder
*
*/
public Builder minPartitionCount(Output minPartitionCount) {
$.minPartitionCount = minPartitionCount;
return this;
}
/**
* @param minPartitionCount Minimum number of named partitions of the service.
*
* @return builder
*
*/
public Builder minPartitionCount(Integer minPartitionCount) {
return minPartitionCount(Output.of(minPartitionCount));
}
/**
* @param scaleIncrement The number of instances to add or remove during a scaling operation.
*
* @return builder
*
*/
public Builder scaleIncrement(Output scaleIncrement) {
$.scaleIncrement = scaleIncrement;
return this;
}
/**
* @param scaleIncrement The number of instances to add or remove during a scaling operation.
*
* @return builder
*
*/
public Builder scaleIncrement(Integer scaleIncrement) {
return scaleIncrement(Output.of(scaleIncrement));
}
public AddRemoveIncrementalNamedPartitionScalingMechanismArgs build() {
$.kind = Codegen.stringProp("kind").output().arg($.kind).require();
if ($.maxPartitionCount == null) {
throw new MissingRequiredPropertyException("AddRemoveIncrementalNamedPartitionScalingMechanismArgs", "maxPartitionCount");
}
if ($.minPartitionCount == null) {
throw new MissingRequiredPropertyException("AddRemoveIncrementalNamedPartitionScalingMechanismArgs", "minPartitionCount");
}
if ($.scaleIncrement == null) {
throw new MissingRequiredPropertyException("AddRemoveIncrementalNamedPartitionScalingMechanismArgs", "scaleIncrement");
}
return $;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy