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
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package appstream
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/appstream/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Updates an app block builder. If the app block builder is in the STARTING or
// STOPPING state, you can't update it. If the app block builder is in the RUNNING
// state, you can only update the DisplayName and Description. If the app block
// builder is in the STOPPED state, you can update any attribute except the Name.
func (c *Client) UpdateAppBlockBuilder(ctx context.Context, params *UpdateAppBlockBuilderInput, optFns ...func(*Options)) (*UpdateAppBlockBuilderOutput, error) {
if params == nil {
params = &UpdateAppBlockBuilderInput{}
}
result, metadata, err := c.invokeOperation(ctx, "UpdateAppBlockBuilder", params, optFns, c.addOperationUpdateAppBlockBuilderMiddlewares)
if err != nil {
return nil, err
}
out := result.(*UpdateAppBlockBuilderOutput)
out.ResultMetadata = metadata
return out, nil
}
type UpdateAppBlockBuilderInput struct {
// The unique name for the app block builder.
//
// This member is required.
Name *string
// The list of interface VPC endpoint (interface endpoint) objects. Administrators
// can connect to the app block builder only through the specified endpoints.
AccessEndpoints []types.AccessEndpoint
// The attributes to delete from the app block builder.
AttributesToDelete []types.AppBlockBuilderAttribute
// The description of the app block builder.
Description *string
// The display name of the app block builder.
DisplayName *string
// Enables or disables default internet access for the app block builder.
EnableDefaultInternetAccess *bool
// The Amazon Resource Name (ARN) of the IAM role to apply to the app block
// builder. To assume a role, the app block builder calls the AWS Security Token
// Service (STS) AssumeRole API operation and passes the ARN of the role to use.
// The operation creates a new session with temporary credentials. AppStream 2.0
// retrieves the temporary credentials and creates the appstream_machine_role
// credential profile on the instance. For more information, see Using an IAM Role
// to Grant Permissions to Applications and Scripts Running on AppStream 2.0
// Streaming Instances (https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html)
// in the Amazon AppStream 2.0 Administration Guide.
IamRoleArn *string
// The instance type to use when launching the app block builder. The following
// instance types are available:
// - stream.standard.small
// - stream.standard.medium
// - stream.standard.large
// - stream.standard.xlarge
// - stream.standard.2xlarge
InstanceType *string
// The platform of the app block builder. WINDOWS_SERVER_2019 is the only valid
// value.
Platform types.PlatformType
// The VPC configuration for the app block builder. App block builders require
// that you specify at least two subnets in different availability zones.
VpcConfig *types.VpcConfig
noSmithyDocumentSerde
}
type UpdateAppBlockBuilderOutput struct {
// Describes an app block builder.
AppBlockBuilder *types.AppBlockBuilder
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationUpdateAppBlockBuilderMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdateAppBlockBuilder{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdateAppBlockBuilder{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "UpdateAppBlockBuilder"); 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 = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.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 = addOpUpdateAppBlockBuilderValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateAppBlockBuilder(options.Region), middleware.Before); err != nil {
return err
}
if err = awsmiddleware.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_opUpdateAppBlockBuilder(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "UpdateAppBlockBuilder",
}
}
|