Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.servicefabric.inputs.StatelessServicePropertiesArgs Maven / Gradle / Ivy
Go to download
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.servicefabric.inputs;
import com.pulumi.azurenative.servicefabric.enums.MoveCost;
import com.pulumi.azurenative.servicefabric.enums.ServicePackageActivationMode;
import com.pulumi.azurenative.servicefabric.inputs.NamedPartitionSchemeArgs;
import com.pulumi.azurenative.servicefabric.inputs.ScalingPolicyArgs;
import com.pulumi.azurenative.servicefabric.inputs.ServiceCorrelationArgs;
import com.pulumi.azurenative.servicefabric.inputs.ServiceLoadMetricArgs;
import com.pulumi.azurenative.servicefabric.inputs.ServicePlacementInvalidDomainPolicyArgs;
import com.pulumi.azurenative.servicefabric.inputs.ServicePlacementNonPartiallyPlaceServicePolicyArgs;
import com.pulumi.azurenative.servicefabric.inputs.ServicePlacementPreferPrimaryDomainPolicyArgs;
import com.pulumi.azurenative.servicefabric.inputs.ServicePlacementRequireDomainDistributionPolicyArgs;
import com.pulumi.azurenative.servicefabric.inputs.ServicePlacementRequiredDomainPolicyArgs;
import com.pulumi.azurenative.servicefabric.inputs.SingletonPartitionSchemeArgs;
import com.pulumi.azurenative.servicefabric.inputs.UniformInt64RangePartitionSchemeArgs;
import com.pulumi.core.Either;
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.Object;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* The properties of a stateless service resource.
*
*/
public final class StatelessServicePropertiesArgs extends com.pulumi.resources.ResourceArgs {
public static final StatelessServicePropertiesArgs Empty = new StatelessServicePropertiesArgs();
/**
* A list that describes the correlation of the service with other services.
*
*/
@Import(name="correlationScheme")
private @Nullable Output> correlationScheme;
/**
* @return A list that describes the correlation of the service with other services.
*
*/
public Optional>> correlationScheme() {
return Optional.ofNullable(this.correlationScheme);
}
/**
* Specifies the move cost for the service.
*
*/
@Import(name="defaultMoveCost")
private @Nullable Output> defaultMoveCost;
/**
* @return Specifies the move cost for the service.
*
*/
public Optional>> defaultMoveCost() {
return Optional.ofNullable(this.defaultMoveCost);
}
/**
* The instance count.
*
*/
@Import(name="instanceCount", required=true)
private Output instanceCount;
/**
* @return The instance count.
*
*/
public Output instanceCount() {
return this.instanceCount;
}
/**
* MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
*
*/
@Import(name="minInstanceCount")
private @Nullable Output minInstanceCount;
/**
* @return MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
*
*/
public Optional> minInstanceCount() {
return Optional.ofNullable(this.minInstanceCount);
}
/**
* MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
*
*/
@Import(name="minInstancePercentage")
private @Nullable Output minInstancePercentage;
/**
* @return MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
*
*/
public Optional> minInstancePercentage() {
return Optional.ofNullable(this.minInstancePercentage);
}
/**
* Describes how the service is partitioned.
*
*/
@Import(name="partitionDescription", required=true)
private Output partitionDescription;
/**
* @return Describes how the service is partitioned.
*
*/
public Output partitionDescription() {
return this.partitionDescription;
}
/**
* The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
*
*/
@Import(name="placementConstraints")
private @Nullable Output placementConstraints;
/**
* @return The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
*
*/
public Optional> placementConstraints() {
return Optional.ofNullable(this.placementConstraints);
}
/**
* Scaling policies for this service.
*
*/
@Import(name="scalingPolicies")
private @Nullable Output> scalingPolicies;
/**
* @return Scaling policies for this service.
*
*/
public Optional>> scalingPolicies() {
return Optional.ofNullable(this.scalingPolicies);
}
/**
* Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).
* When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
* When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
*
*/
@Import(name="serviceDnsName")
private @Nullable Output serviceDnsName;
/**
* @return Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).
* When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
* When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
*
*/
public Optional> serviceDnsName() {
return Optional.ofNullable(this.serviceDnsName);
}
/**
* The kind of service (Stateless or Stateful).
* Expected value is 'Stateless'.
*
*/
@Import(name="serviceKind", required=true)
private Output serviceKind;
/**
* @return The kind of service (Stateless or Stateful).
* Expected value is 'Stateless'.
*
*/
public Output serviceKind() {
return this.serviceKind;
}
/**
* The service load metrics is given as an array of ServiceLoadMetric objects.
*
*/
@Import(name="serviceLoadMetrics")
private @Nullable Output> serviceLoadMetrics;
/**
* @return The service load metrics is given as an array of ServiceLoadMetric objects.
*
*/
public Optional>> serviceLoadMetrics() {
return Optional.ofNullable(this.serviceLoadMetrics);
}
/**
* The activation Mode of the service package
*
*/
@Import(name="servicePackageActivationMode")
private @Nullable Output> servicePackageActivationMode;
/**
* @return The activation Mode of the service package
*
*/
public Optional>> servicePackageActivationMode() {
return Optional.ofNullable(this.servicePackageActivationMode);
}
/**
* A list that describes the correlation of the service with other services.
*
*/
@Import(name="servicePlacementPolicies")
private @Nullable Output> servicePlacementPolicies;
/**
* @return A list that describes the correlation of the service with other services.
*
*/
public Optional>> servicePlacementPolicies() {
return Optional.ofNullable(this.servicePlacementPolicies);
}
/**
* The name of the service type
*
*/
@Import(name="serviceTypeName", required=true)
private Output serviceTypeName;
/**
* @return The name of the service type
*
*/
public Output serviceTypeName() {
return this.serviceTypeName;
}
private StatelessServicePropertiesArgs() {}
private StatelessServicePropertiesArgs(StatelessServicePropertiesArgs $) {
this.correlationScheme = $.correlationScheme;
this.defaultMoveCost = $.defaultMoveCost;
this.instanceCount = $.instanceCount;
this.minInstanceCount = $.minInstanceCount;
this.minInstancePercentage = $.minInstancePercentage;
this.partitionDescription = $.partitionDescription;
this.placementConstraints = $.placementConstraints;
this.scalingPolicies = $.scalingPolicies;
this.serviceDnsName = $.serviceDnsName;
this.serviceKind = $.serviceKind;
this.serviceLoadMetrics = $.serviceLoadMetrics;
this.servicePackageActivationMode = $.servicePackageActivationMode;
this.servicePlacementPolicies = $.servicePlacementPolicies;
this.serviceTypeName = $.serviceTypeName;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(StatelessServicePropertiesArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private StatelessServicePropertiesArgs $;
public Builder() {
$ = new StatelessServicePropertiesArgs();
}
public Builder(StatelessServicePropertiesArgs defaults) {
$ = new StatelessServicePropertiesArgs(Objects.requireNonNull(defaults));
}
/**
* @param correlationScheme A list that describes the correlation of the service with other services.
*
* @return builder
*
*/
public Builder correlationScheme(@Nullable Output> correlationScheme) {
$.correlationScheme = correlationScheme;
return this;
}
/**
* @param correlationScheme A list that describes the correlation of the service with other services.
*
* @return builder
*
*/
public Builder correlationScheme(List correlationScheme) {
return correlationScheme(Output.of(correlationScheme));
}
/**
* @param correlationScheme A list that describes the correlation of the service with other services.
*
* @return builder
*
*/
public Builder correlationScheme(ServiceCorrelationArgs... correlationScheme) {
return correlationScheme(List.of(correlationScheme));
}
/**
* @param defaultMoveCost Specifies the move cost for the service.
*
* @return builder
*
*/
public Builder defaultMoveCost(@Nullable Output> defaultMoveCost) {
$.defaultMoveCost = defaultMoveCost;
return this;
}
/**
* @param defaultMoveCost Specifies the move cost for the service.
*
* @return builder
*
*/
public Builder defaultMoveCost(Either defaultMoveCost) {
return defaultMoveCost(Output.of(defaultMoveCost));
}
/**
* @param defaultMoveCost Specifies the move cost for the service.
*
* @return builder
*
*/
public Builder defaultMoveCost(String defaultMoveCost) {
return defaultMoveCost(Either.ofLeft(defaultMoveCost));
}
/**
* @param defaultMoveCost Specifies the move cost for the service.
*
* @return builder
*
*/
public Builder defaultMoveCost(MoveCost defaultMoveCost) {
return defaultMoveCost(Either.ofRight(defaultMoveCost));
}
/**
* @param instanceCount The instance count.
*
* @return builder
*
*/
public Builder instanceCount(Output instanceCount) {
$.instanceCount = instanceCount;
return this;
}
/**
* @param instanceCount The instance count.
*
* @return builder
*
*/
public Builder instanceCount(Integer instanceCount) {
return instanceCount(Output.of(instanceCount));
}
/**
* @param minInstanceCount MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
*
* @return builder
*
*/
public Builder minInstanceCount(@Nullable Output minInstanceCount) {
$.minInstanceCount = minInstanceCount;
return this;
}
/**
* @param minInstanceCount MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
*
* @return builder
*
*/
public Builder minInstanceCount(Integer minInstanceCount) {
return minInstanceCount(Output.of(minInstanceCount));
}
/**
* @param minInstancePercentage MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
*
* @return builder
*
*/
public Builder minInstancePercentage(@Nullable Output minInstancePercentage) {
$.minInstancePercentage = minInstancePercentage;
return this;
}
/**
* @param minInstancePercentage MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service.
*
* @return builder
*
*/
public Builder minInstancePercentage(Integer minInstancePercentage) {
return minInstancePercentage(Output.of(minInstancePercentage));
}
/**
* @param partitionDescription Describes how the service is partitioned.
*
* @return builder
*
*/
public Builder partitionDescription(Output partitionDescription) {
$.partitionDescription = partitionDescription;
return this;
}
/**
* @param partitionDescription Describes how the service is partitioned.
*
* @return builder
*
*/
public Builder partitionDescription(Object partitionDescription) {
return partitionDescription(Output.of(partitionDescription));
}
/**
* @param placementConstraints The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
*
* @return builder
*
*/
public Builder placementConstraints(@Nullable Output placementConstraints) {
$.placementConstraints = placementConstraints;
return this;
}
/**
* @param placementConstraints The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".
*
* @return builder
*
*/
public Builder placementConstraints(String placementConstraints) {
return placementConstraints(Output.of(placementConstraints));
}
/**
* @param scalingPolicies Scaling policies for this service.
*
* @return builder
*
*/
public Builder scalingPolicies(@Nullable Output> scalingPolicies) {
$.scalingPolicies = scalingPolicies;
return this;
}
/**
* @param scalingPolicies Scaling policies for this service.
*
* @return builder
*
*/
public Builder scalingPolicies(List scalingPolicies) {
return scalingPolicies(Output.of(scalingPolicies));
}
/**
* @param scalingPolicies Scaling policies for this service.
*
* @return builder
*
*/
public Builder scalingPolicies(ScalingPolicyArgs... scalingPolicies) {
return scalingPolicies(List.of(scalingPolicies));
}
/**
* @param serviceDnsName Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).
* When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
* When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
*
* @return builder
*
*/
public Builder serviceDnsName(@Nullable Output serviceDnsName) {
$.serviceDnsName = serviceDnsName;
return this;
}
/**
* @param serviceDnsName Dns name used for the service. If this is specified, then the DNS name can be used to return the IP addresses of service endpoints for application layer protocols (e.g., HTTP).
* When updating serviceDnsName, old name may be temporarily resolvable. However, rely on new name.
* When removing serviceDnsName, removed name may temporarily be resolvable. Do not rely on the name being unresolvable.
*
* @return builder
*
*/
public Builder serviceDnsName(String serviceDnsName) {
return serviceDnsName(Output.of(serviceDnsName));
}
/**
* @param serviceKind The kind of service (Stateless or Stateful).
* Expected value is 'Stateless'.
*
* @return builder
*
*/
public Builder serviceKind(Output serviceKind) {
$.serviceKind = serviceKind;
return this;
}
/**
* @param serviceKind The kind of service (Stateless or Stateful).
* Expected value is 'Stateless'.
*
* @return builder
*
*/
public Builder serviceKind(String serviceKind) {
return serviceKind(Output.of(serviceKind));
}
/**
* @param serviceLoadMetrics The service load metrics is given as an array of ServiceLoadMetric objects.
*
* @return builder
*
*/
public Builder serviceLoadMetrics(@Nullable Output> serviceLoadMetrics) {
$.serviceLoadMetrics = serviceLoadMetrics;
return this;
}
/**
* @param serviceLoadMetrics The service load metrics is given as an array of ServiceLoadMetric objects.
*
* @return builder
*
*/
public Builder serviceLoadMetrics(List serviceLoadMetrics) {
return serviceLoadMetrics(Output.of(serviceLoadMetrics));
}
/**
* @param serviceLoadMetrics The service load metrics is given as an array of ServiceLoadMetric objects.
*
* @return builder
*
*/
public Builder serviceLoadMetrics(ServiceLoadMetricArgs... serviceLoadMetrics) {
return serviceLoadMetrics(List.of(serviceLoadMetrics));
}
/**
* @param servicePackageActivationMode The activation Mode of the service package
*
* @return builder
*
*/
public Builder servicePackageActivationMode(@Nullable Output> servicePackageActivationMode) {
$.servicePackageActivationMode = servicePackageActivationMode;
return this;
}
/**
* @param servicePackageActivationMode The activation Mode of the service package
*
* @return builder
*
*/
public Builder servicePackageActivationMode(Either servicePackageActivationMode) {
return servicePackageActivationMode(Output.of(servicePackageActivationMode));
}
/**
* @param servicePackageActivationMode The activation Mode of the service package
*
* @return builder
*
*/
public Builder servicePackageActivationMode(String servicePackageActivationMode) {
return servicePackageActivationMode(Either.ofLeft(servicePackageActivationMode));
}
/**
* @param servicePackageActivationMode The activation Mode of the service package
*
* @return builder
*
*/
public Builder servicePackageActivationMode(ServicePackageActivationMode servicePackageActivationMode) {
return servicePackageActivationMode(Either.ofRight(servicePackageActivationMode));
}
/**
* @param servicePlacementPolicies A list that describes the correlation of the service with other services.
*
* @return builder
*
*/
public Builder servicePlacementPolicies(@Nullable Output> servicePlacementPolicies) {
$.servicePlacementPolicies = servicePlacementPolicies;
return this;
}
/**
* @param servicePlacementPolicies A list that describes the correlation of the service with other services.
*
* @return builder
*
*/
public Builder servicePlacementPolicies(List servicePlacementPolicies) {
return servicePlacementPolicies(Output.of(servicePlacementPolicies));
}
/**
* @param servicePlacementPolicies A list that describes the correlation of the service with other services.
*
* @return builder
*
*/
public Builder servicePlacementPolicies(Object... servicePlacementPolicies) {
return servicePlacementPolicies(List.of(servicePlacementPolicies));
}
/**
* @param serviceTypeName The name of the service type
*
* @return builder
*
*/
public Builder serviceTypeName(Output serviceTypeName) {
$.serviceTypeName = serviceTypeName;
return this;
}
/**
* @param serviceTypeName The name of the service type
*
* @return builder
*
*/
public Builder serviceTypeName(String serviceTypeName) {
return serviceTypeName(Output.of(serviceTypeName));
}
public StatelessServicePropertiesArgs build() {
if ($.instanceCount == null) {
throw new MissingRequiredPropertyException("StatelessServicePropertiesArgs", "instanceCount");
}
if ($.partitionDescription == null) {
throw new MissingRequiredPropertyException("StatelessServicePropertiesArgs", "partitionDescription");
}
$.serviceKind = Codegen.stringProp("serviceKind").output().arg($.serviceKind).require();
if ($.serviceTypeName == null) {
throw new MissingRequiredPropertyException("StatelessServicePropertiesArgs", "serviceTypeName");
}
return $;
}
}
}