1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package codebuild
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/codebuild/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Updates a compute fleet.
func (c *Client) UpdateFleet(ctx context.Context, params *UpdateFleetInput, optFns ...func(*Options)) (*UpdateFleetOutput, error) {
if params == nil {
params = &UpdateFleetInput{}
}
result, metadata, err := c.invokeOperation(ctx, "UpdateFleet", params, optFns, c.addOperationUpdateFleetMiddlewares)
if err != nil {
return nil, err
}
out := result.(*UpdateFleetOutput)
out.ResultMetadata = metadata
return out, nil
}
type UpdateFleetInput struct {
// The ARN of the compute fleet.
//
// This member is required.
Arn *string
// The initial number of machines allocated to the compute fleet, which defines the
// number of builds that can run in parallel.
BaseCapacity *int32
// Information about the compute resources the compute fleet uses. Available
// values include:
//
// - BUILD_GENERAL1_SMALL : Use up to 3 GB memory and 2 vCPUs for builds.
//
// - BUILD_GENERAL1_MEDIUM : Use up to 7 GB memory and 4 vCPUs for builds.
//
// - BUILD_GENERAL1_LARGE : Use up to 16 GB memory and 8 vCPUs for builds,
// depending on your environment type.
//
// - BUILD_GENERAL1_XLARGE : Use up to 70 GB memory and 36 vCPUs for builds,
// depending on your environment type.
//
// - BUILD_GENERAL1_2XLARGE : Use up to 145 GB memory, 72 vCPUs, and 824 GB of
// SSD storage for builds. This compute type supports Docker images up to 100 GB
// uncompressed.
//
// If you use BUILD_GENERAL1_SMALL :
//
// - For environment type LINUX_CONTAINER , you can use up to 3 GB memory and 2
// vCPUs for builds.
//
// - For environment type LINUX_GPU_CONTAINER , you can use up to 16 GB memory, 4
// vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.
//
// - For environment type ARM_CONTAINER , you can use up to 4 GB memory and 2
// vCPUs on ARM-based processors for builds.
//
// If you use BUILD_GENERAL1_LARGE :
//
// - For environment type LINUX_CONTAINER , you can use up to 15 GB memory and 8
// vCPUs for builds.
//
// - For environment type LINUX_GPU_CONTAINER , you can use up to 255 GB memory,
// 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.
//
// - For environment type ARM_CONTAINER , you can use up to 16 GB memory and 8
// vCPUs on ARM-based processors for builds.
//
// For more information, see [Build environment compute types] in the CodeBuild User Guide.
//
// [Build environment compute types]: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html
ComputeType types.ComputeType
// The environment type of the compute fleet.
//
// - The environment type ARM_CONTAINER is available only in regions US East (N.
// Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific
// (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney),
// EU (Frankfurt), and South America (São Paulo).
//
// - The environment type LINUX_CONTAINER is available only in regions US East
// (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt),
// Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South
// America (São Paulo), and Asia Pacific (Mumbai).
//
// - The environment type LINUX_GPU_CONTAINER is available only in regions US
// East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU
// (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).
//
// - The environment type WINDOWS_SERVER_2019_CONTAINER is available only in
// regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific
// (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).
//
// - The environment type WINDOWS_SERVER_2022_CONTAINER is available only in
// regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland),
// EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific
// (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).
//
// For more information, see [Build environment compute types] in the CodeBuild user guide.
//
// [Build environment compute types]: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html
EnvironmentType types.EnvironmentType
// The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role]
// in the CodeBuild User Guide.
//
// [Allow a user to add a permission policy for a fleet service role]: https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html
FleetServiceRole *string
// The compute fleet overflow behavior.
//
// - For overflow behavior QUEUE , your overflow builds need to wait on the
// existing fleet instance to become available.
//
// - For overflow behavior ON_DEMAND , your overflow builds run on CodeBuild
// on-demand.
//
// If you choose to set your overflow behavior to on-demand while creating a
// VPC-connected fleet, make sure that you add the required VPC permissions to your
// project service role. For more information, see [Example policy statement to allow CodeBuild access to Amazon Web Services services required to create a VPC network interface].
//
// [Example policy statement to allow CodeBuild access to Amazon Web Services services required to create a VPC network interface]: https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-create-vpc-network-interface
OverflowBehavior types.FleetOverflowBehavior
// The scaling configuration of the compute fleet.
ScalingConfiguration *types.ScalingConfigurationInput
// A list of tag key and value pairs associated with this compute fleet.
//
// These tags are available for use by Amazon Web Services services that support
// CodeBuild build project tags.
Tags []types.Tag
// Information about the VPC configuration that CodeBuild accesses.
VpcConfig *types.VpcConfig
noSmithyDocumentSerde
}
type UpdateFleetOutput struct {
// A Fleet object.
Fleet *types.Fleet
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationUpdateFleetMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdateFleet{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdateFleet{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "UpdateFleet"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addOpUpdateFleetValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateFleet(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opUpdateFleet(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "UpdateFleet",
}
}
|