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

Object representing any node overrides to a job definition that is used in a * SubmitJob API operation.

See Also:

AWS * API Reference

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

The number of nodes to use with a multi-node parallel job. This value * overrides the number of nodes that are specified in the job definition. To use * this override:

  • There must be at least one node range in your * job definition that has an open upper boundary (such as : or * n:).

  • The lower boundary of the node range * specified in the job definition must be fewer than the number of nodes specified * in the override.

  • The main node index specified in the job * definition must be fewer than the number of nodes specified in the override.

    *
*/ inline int GetNumNodes() const{ return m_numNodes; } /** *

The number of nodes to use with a multi-node parallel job. This value * overrides the number of nodes that are specified in the job definition. To use * this override:

  • There must be at least one node range in your * job definition that has an open upper boundary (such as : or * n:).

  • The lower boundary of the node range * specified in the job definition must be fewer than the number of nodes specified * in the override.

  • The main node index specified in the job * definition must be fewer than the number of nodes specified in the override.

    *
*/ inline bool NumNodesHasBeenSet() const { return m_numNodesHasBeenSet; } /** *

The number of nodes to use with a multi-node parallel job. This value * overrides the number of nodes that are specified in the job definition. To use * this override:

  • There must be at least one node range in your * job definition that has an open upper boundary (such as : or * n:).

  • The lower boundary of the node range * specified in the job definition must be fewer than the number of nodes specified * in the override.

  • The main node index specified in the job * definition must be fewer than the number of nodes specified in the override.

    *
*/ inline void SetNumNodes(int value) { m_numNodesHasBeenSet = true; m_numNodes = value; } /** *

The number of nodes to use with a multi-node parallel job. This value * overrides the number of nodes that are specified in the job definition. To use * this override:

  • There must be at least one node range in your * job definition that has an open upper boundary (such as : or * n:).

  • The lower boundary of the node range * specified in the job definition must be fewer than the number of nodes specified * in the override.

  • The main node index specified in the job * definition must be fewer than the number of nodes specified in the override.

    *
*/ inline NodeOverrides& WithNumNodes(int value) { SetNumNodes(value); return *this;} /** *

The node property overrides for the job.

*/ inline const Aws::Vector& GetNodePropertyOverrides() const{ return m_nodePropertyOverrides; } /** *

The node property overrides for the job.

*/ inline bool NodePropertyOverridesHasBeenSet() const { return m_nodePropertyOverridesHasBeenSet; } /** *

The node property overrides for the job.

*/ inline void SetNodePropertyOverrides(const Aws::Vector& value) { m_nodePropertyOverridesHasBeenSet = true; m_nodePropertyOverrides = value; } /** *

The node property overrides for the job.

*/ inline void SetNodePropertyOverrides(Aws::Vector&& value) { m_nodePropertyOverridesHasBeenSet = true; m_nodePropertyOverrides = std::move(value); } /** *

The node property overrides for the job.

*/ inline NodeOverrides& WithNodePropertyOverrides(const Aws::Vector& value) { SetNodePropertyOverrides(value); return *this;} /** *

The node property overrides for the job.

*/ inline NodeOverrides& WithNodePropertyOverrides(Aws::Vector&& value) { SetNodePropertyOverrides(std::move(value)); return *this;} /** *

The node property overrides for the job.

*/ inline NodeOverrides& AddNodePropertyOverrides(const NodePropertyOverride& value) { m_nodePropertyOverridesHasBeenSet = true; m_nodePropertyOverrides.push_back(value); return *this; } /** *

The node property overrides for the job.

*/ inline NodeOverrides& AddNodePropertyOverrides(NodePropertyOverride&& value) { m_nodePropertyOverridesHasBeenSet = true; m_nodePropertyOverrides.push_back(std::move(value)); return *this; } private: int m_numNodes; bool m_numNodesHasBeenSet; Aws::Vector m_nodePropertyOverrides; bool m_nodePropertyOverridesHasBeenSet; }; } // namespace Model } // namespace Batch } // namespace Aws