9
9
#include < aws/core/utils/memory/stl/AWSString.h>
10
10
#include < aws/codebuild/model/EnvironmentType.h>
11
11
#include < aws/codebuild/model/ComputeType.h>
12
+ #include < aws/codebuild/model/ComputeConfiguration.h>
12
13
#include < aws/codebuild/model/ScalingConfigurationInput.h>
13
14
#include < aws/codebuild/model/FleetOverflowBehavior.h>
14
15
#include < aws/codebuild/model/VpcConfig.h>
@@ -108,32 +109,53 @@ namespace Model
108
109
// /@{
109
110
/* *
110
111
* <p>Information about the compute resources the compute fleet uses. Available
111
- * values include:</p> <ul> <li> <p> <code>BUILD_GENERAL1_SMALL</code>: Use up to 3
112
- * GB memory and 2 vCPUs for builds.</p> </li> <li> <p>
113
- * <code>BUILD_GENERAL1_MEDIUM</code>: Use up to 7 GB memory and 4 vCPUs for
114
- * builds.</p> </li> <li> <p> <code>BUILD_GENERAL1_LARGE</code>: Use up to 16 GB
115
- * memory and 8 vCPUs for builds, depending on your environment type.</p> </li>
116
- * <li> <p> <code>BUILD_GENERAL1_XLARGE</code>: Use up to 70 GB memory and 36 vCPUs
117
- * for builds, depending on your environment type.</p> </li> <li> <p>
118
- * <code>BUILD_GENERAL1_2XLARGE</code>: Use up to 145 GB memory, 72 vCPUs, and 824
112
+ * values include:</p> <ul> <li> <p> <code>ATTRIBUTE_BASED_COMPUTE</code>: Specify
113
+ * the amount of vCPUs, memory, disk space, and the type of machine.</p> <p>
114
+ * If you use <code>ATTRIBUTE_BASED_COMPUTE</code>, you must define your attributes
115
+ * by using <code>computeConfiguration</code>. CodeBuild will select the cheapest
116
+ * instance that satisfies your specified attributes. For more information, see <a
117
+ * href="https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.types">Reserved
118
+ * capacity environment types</a> in the <i>CodeBuild User Guide</i>.</p>
119
+ * </li> <li> <p> <code>BUILD_GENERAL1_SMALL</code>: Use up to 4 GiB memory and 2
120
+ * vCPUs for builds.</p> </li> <li> <p> <code>BUILD_GENERAL1_MEDIUM</code>: Use up
121
+ * to 8 GiB memory and 4 vCPUs for builds.</p> </li> <li> <p>
122
+ * <code>BUILD_GENERAL1_LARGE</code>: Use up to 16 GiB memory and 8 vCPUs for
123
+ * builds, depending on your environment type.</p> </li> <li> <p>
124
+ * <code>BUILD_GENERAL1_XLARGE</code>: Use up to 72 GiB memory and 36 vCPUs for
125
+ * builds, depending on your environment type.</p> </li> <li> <p>
126
+ * <code>BUILD_GENERAL1_2XLARGE</code>: Use up to 144 GiB memory, 72 vCPUs, and 824
119
127
* GB of SSD storage for builds. This compute type supports Docker images up to 100
120
- * GB uncompressed.</p> </li> </ul> <p> If you use
128
+ * GB uncompressed.</p> </li> <li> <p> <code>BUILD_LAMBDA_1GB</code>: Use up to 1
129
+ * GiB memory for builds. Only available for environment type
130
+ * <code>LINUX_LAMBDA_CONTAINER</code> and <code>ARM_LAMBDA_CONTAINER</code>.</p>
131
+ * </li> <li> <p> <code>BUILD_LAMBDA_2GB</code>: Use up to 2 GiB memory for builds.
132
+ * Only available for environment type <code>LINUX_LAMBDA_CONTAINER</code> and
133
+ * <code>ARM_LAMBDA_CONTAINER</code>.</p> </li> <li> <p>
134
+ * <code>BUILD_LAMBDA_4GB</code>: Use up to 4 GiB memory for builds. Only available
135
+ * for environment type <code>LINUX_LAMBDA_CONTAINER</code> and
136
+ * <code>ARM_LAMBDA_CONTAINER</code>.</p> </li> <li> <p>
137
+ * <code>BUILD_LAMBDA_8GB</code>: Use up to 8 GiB memory for builds. Only available
138
+ * for environment type <code>LINUX_LAMBDA_CONTAINER</code> and
139
+ * <code>ARM_LAMBDA_CONTAINER</code>.</p> </li> <li> <p>
140
+ * <code>BUILD_LAMBDA_10GB</code>: Use up to 10 GiB memory for builds. Only
141
+ * available for environment type <code>LINUX_LAMBDA_CONTAINER</code> and
142
+ * <code>ARM_LAMBDA_CONTAINER</code>.</p> </li> </ul> <p> If you use
121
143
* <code>BUILD_GENERAL1_SMALL</code>: </p> <ul> <li> <p> For environment type
122
- * <code>LINUX_CONTAINER</code>, you can use up to 3 GB memory and 2 vCPUs for
144
+ * <code>LINUX_CONTAINER</code>, you can use up to 4 GiB memory and 2 vCPUs for
123
145
* builds. </p> </li> <li> <p> For environment type
124
- * <code>LINUX_GPU_CONTAINER</code>, you can use up to 16 GB memory, 4 vCPUs, and 1
125
- * NVIDIA A10G Tensor Core GPU for builds.</p> </li> <li> <p> For environment type
126
- * <code>ARM_CONTAINER</code>, you can use up to 4 GB memory and 2 vCPUs on
146
+ * <code>LINUX_GPU_CONTAINER</code>, you can use up to 16 GiB memory, 4 vCPUs, and
147
+ * 1 NVIDIA A10G Tensor Core GPU for builds.</p> </li> <li> <p> For environment
148
+ * type <code>ARM_CONTAINER</code>, you can use up to 4 GiB memory and 2 vCPUs on
127
149
* ARM-based processors for builds.</p> </li> </ul> <p> If you use
128
150
* <code>BUILD_GENERAL1_LARGE</code>: </p> <ul> <li> <p> For environment type
129
- * <code>LINUX_CONTAINER</code>, you can use up to 15 GB memory and 8 vCPUs for
151
+ * <code>LINUX_CONTAINER</code>, you can use up to 16 GiB memory and 8 vCPUs for
130
152
* builds. </p> </li> <li> <p> For environment type
131
- * <code>LINUX_GPU_CONTAINER</code>, you can use up to 255 GB memory, 32 vCPUs, and
132
- * 4 NVIDIA Tesla V100 GPUs for builds.</p> </li> <li> <p> For environment type
133
- * <code>ARM_CONTAINER</code>, you can use up to 16 GB memory and 8 vCPUs on
153
+ * <code>LINUX_GPU_CONTAINER</code>, you can use up to 255 GiB memory, 32 vCPUs,
154
+ * and 4 NVIDIA Tesla V100 GPUs for builds.</p> </li> <li> <p> For environment type
155
+ * <code>ARM_CONTAINER</code>, you can use up to 16 GiB memory and 8 vCPUs on
134
156
* ARM-based processors for builds.</p> </li> </ul> <p>For more information, see <a
135
- * href="https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html">Build
136
- * environment compute types</a> in the <i>CodeBuild User Guide.</i> </p>
157
+ * href="https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types">On-demand
158
+ * environment types</a> in the <i>CodeBuild User Guide.</i> </p>
137
159
*/
138
160
inline const ComputeType& GetComputeType () const { return m_computeType; }
139
161
inline bool ComputeTypeHasBeenSet () const { return m_computeTypeHasBeenSet; }
@@ -143,6 +165,19 @@ namespace Model
143
165
inline CreateFleetRequest& WithComputeType (ComputeType&& value) { SetComputeType (std::move (value)); return *this ;}
144
166
// /@}
145
167
168
+ // /@{
169
+ /* *
170
+ * <p>The compute configuration of the compute fleet. This is only required if
171
+ * <code>computeType</code> is set to <code>ATTRIBUTE_BASED_COMPUTE</code>.</p>
172
+ */
173
+ inline const ComputeConfiguration& GetComputeConfiguration () const { return m_computeConfiguration; }
174
+ inline bool ComputeConfigurationHasBeenSet () const { return m_computeConfigurationHasBeenSet; }
175
+ inline void SetComputeConfiguration (const ComputeConfiguration& value) { m_computeConfigurationHasBeenSet = true ; m_computeConfiguration = value; }
176
+ inline void SetComputeConfiguration (ComputeConfiguration&& value) { m_computeConfigurationHasBeenSet = true ; m_computeConfiguration = std::move (value); }
177
+ inline CreateFleetRequest& WithComputeConfiguration (const ComputeConfiguration& value) { SetComputeConfiguration (value); return *this ;}
178
+ inline CreateFleetRequest& WithComputeConfiguration (ComputeConfiguration&& value) { SetComputeConfiguration (std::move (value)); return *this ;}
179
+ // /@}
180
+
146
181
// /@{
147
182
/* *
148
183
* <p>The scaling configuration of the compute fleet.</p>
@@ -259,6 +294,9 @@ namespace Model
259
294
ComputeType m_computeType;
260
295
bool m_computeTypeHasBeenSet = false ;
261
296
297
+ ComputeConfiguration m_computeConfiguration;
298
+ bool m_computeConfigurationHasBeenSet = false ;
299
+
262
300
ScalingConfigurationInput m_scalingConfiguration;
263
301
bool m_scalingConfigurationHasBeenSet = false ;
264
302
0 commit comments