/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Batch { namespace Model { /** *

Specifies the weights for the fair share identifiers for the fair share * policy. Fair share identifiers that aren't included have a default weight of * 1.0.

See Also:

AWS * API Reference

*/ class ShareAttributes { public: AWS_BATCH_API ShareAttributes(); AWS_BATCH_API ShareAttributes(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API ShareAttributes& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A fair share identifier or fair share identifier prefix. If the string ends * with an asterisk (*), this entry specifies the weight factor to use for fair * share identifiers that start with that prefix. The list of fair share * identifiers in a fair share policy can't overlap. For example, you can't have * one that specifies a shareIdentifier of UserA* and * another that specifies a shareIdentifier of * UserA-1.

There can be no more than 500 fair share * identifiers active in a job queue.

The string is limited to 255 * alphanumeric characters, and can be followed by an asterisk (*).

*/ inline const Aws::String& GetShareIdentifier() const{ return m_shareIdentifier; } /** *

A fair share identifier or fair share identifier prefix. If the string ends * with an asterisk (*), this entry specifies the weight factor to use for fair * share identifiers that start with that prefix. The list of fair share * identifiers in a fair share policy can't overlap. For example, you can't have * one that specifies a shareIdentifier of UserA* and * another that specifies a shareIdentifier of * UserA-1.

There can be no more than 500 fair share * identifiers active in a job queue.

The string is limited to 255 * alphanumeric characters, and can be followed by an asterisk (*).

*/ inline bool ShareIdentifierHasBeenSet() const { return m_shareIdentifierHasBeenSet; } /** *

A fair share identifier or fair share identifier prefix. If the string ends * with an asterisk (*), this entry specifies the weight factor to use for fair * share identifiers that start with that prefix. The list of fair share * identifiers in a fair share policy can't overlap. For example, you can't have * one that specifies a shareIdentifier of UserA* and * another that specifies a shareIdentifier of * UserA-1.

There can be no more than 500 fair share * identifiers active in a job queue.

The string is limited to 255 * alphanumeric characters, and can be followed by an asterisk (*).

*/ inline void SetShareIdentifier(const Aws::String& value) { m_shareIdentifierHasBeenSet = true; m_shareIdentifier = value; } /** *

A fair share identifier or fair share identifier prefix. If the string ends * with an asterisk (*), this entry specifies the weight factor to use for fair * share identifiers that start with that prefix. The list of fair share * identifiers in a fair share policy can't overlap. For example, you can't have * one that specifies a shareIdentifier of UserA* and * another that specifies a shareIdentifier of * UserA-1.

There can be no more than 500 fair share * identifiers active in a job queue.

The string is limited to 255 * alphanumeric characters, and can be followed by an asterisk (*).

*/ inline void SetShareIdentifier(Aws::String&& value) { m_shareIdentifierHasBeenSet = true; m_shareIdentifier = std::move(value); } /** *

A fair share identifier or fair share identifier prefix. If the string ends * with an asterisk (*), this entry specifies the weight factor to use for fair * share identifiers that start with that prefix. The list of fair share * identifiers in a fair share policy can't overlap. For example, you can't have * one that specifies a shareIdentifier of UserA* and * another that specifies a shareIdentifier of * UserA-1.

There can be no more than 500 fair share * identifiers active in a job queue.

The string is limited to 255 * alphanumeric characters, and can be followed by an asterisk (*).

*/ inline void SetShareIdentifier(const char* value) { m_shareIdentifierHasBeenSet = true; m_shareIdentifier.assign(value); } /** *

A fair share identifier or fair share identifier prefix. If the string ends * with an asterisk (*), this entry specifies the weight factor to use for fair * share identifiers that start with that prefix. The list of fair share * identifiers in a fair share policy can't overlap. For example, you can't have * one that specifies a shareIdentifier of UserA* and * another that specifies a shareIdentifier of * UserA-1.

There can be no more than 500 fair share * identifiers active in a job queue.

The string is limited to 255 * alphanumeric characters, and can be followed by an asterisk (*).

*/ inline ShareAttributes& WithShareIdentifier(const Aws::String& value) { SetShareIdentifier(value); return *this;} /** *

A fair share identifier or fair share identifier prefix. If the string ends * with an asterisk (*), this entry specifies the weight factor to use for fair * share identifiers that start with that prefix. The list of fair share * identifiers in a fair share policy can't overlap. For example, you can't have * one that specifies a shareIdentifier of UserA* and * another that specifies a shareIdentifier of * UserA-1.

There can be no more than 500 fair share * identifiers active in a job queue.

The string is limited to 255 * alphanumeric characters, and can be followed by an asterisk (*).

*/ inline ShareAttributes& WithShareIdentifier(Aws::String&& value) { SetShareIdentifier(std::move(value)); return *this;} /** *

A fair share identifier or fair share identifier prefix. If the string ends * with an asterisk (*), this entry specifies the weight factor to use for fair * share identifiers that start with that prefix. The list of fair share * identifiers in a fair share policy can't overlap. For example, you can't have * one that specifies a shareIdentifier of UserA* and * another that specifies a shareIdentifier of * UserA-1.

There can be no more than 500 fair share * identifiers active in a job queue.

The string is limited to 255 * alphanumeric characters, and can be followed by an asterisk (*).

*/ inline ShareAttributes& WithShareIdentifier(const char* value) { SetShareIdentifier(value); return *this;} /** *

The weight factor for the fair share identifier. The default value is 1.0. A * lower value has a higher priority for compute resources. For example, jobs that * use a share identifier with a weight factor of 0.125 (1/8) get 8 times the * compute resources of jobs that use a share identifier with a weight factor of * 1.

The smallest supported value is 0.0001, and the largest supported * value is 999.9999.

*/ inline double GetWeightFactor() const{ return m_weightFactor; } /** *

The weight factor for the fair share identifier. The default value is 1.0. A * lower value has a higher priority for compute resources. For example, jobs that * use a share identifier with a weight factor of 0.125 (1/8) get 8 times the * compute resources of jobs that use a share identifier with a weight factor of * 1.

The smallest supported value is 0.0001, and the largest supported * value is 999.9999.

*/ inline bool WeightFactorHasBeenSet() const { return m_weightFactorHasBeenSet; } /** *

The weight factor for the fair share identifier. The default value is 1.0. A * lower value has a higher priority for compute resources. For example, jobs that * use a share identifier with a weight factor of 0.125 (1/8) get 8 times the * compute resources of jobs that use a share identifier with a weight factor of * 1.

The smallest supported value is 0.0001, and the largest supported * value is 999.9999.

*/ inline void SetWeightFactor(double value) { m_weightFactorHasBeenSet = true; m_weightFactor = value; } /** *

The weight factor for the fair share identifier. The default value is 1.0. A * lower value has a higher priority for compute resources. For example, jobs that * use a share identifier with a weight factor of 0.125 (1/8) get 8 times the * compute resources of jobs that use a share identifier with a weight factor of * 1.

The smallest supported value is 0.0001, and the largest supported * value is 999.9999.

*/ inline ShareAttributes& WithWeightFactor(double value) { SetWeightFactor(value); return *this;} private: Aws::String m_shareIdentifier; bool m_shareIdentifierHasBeenSet = false; double m_weightFactor; bool m_weightFactorHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws