api_op_PutResourcePermissionStatement.go (4553B)
1 // Code generated by smithy-go-codegen DO NOT EDIT. 2 3 package signin 4 5 import ( 6 "context" 7 "fmt" 8 9 "github.com/aws/smithy-go/middleware" 10 "github.com/aws/smithy-go/ptr" 11 ) 12 13 // Create a permission statement in the account's SignIn resource-based policy 14 func (c *Client) PutResourcePermissionStatement(ctx context.Context, params *PutResourcePermissionStatementInput, optFns ...func(*Options)) (*PutResourcePermissionStatementOutput, error) { 15 if params == nil { 16 params = &PutResourcePermissionStatementInput{} 17 } 18 19 result, metadata, err := c.invokeOperation(ctx, "PutResourcePermissionStatement", params, optFns, c.addOperationPutResourcePermissionStatementMiddlewares) 20 if err != nil { 21 return nil, err 22 } 23 24 out := result.(*PutResourcePermissionStatementOutput) 25 out.ResultMetadata = metadata 26 return out, nil 27 } 28 29 // Input for PutResourcePermissionStatement operation 30 type PutResourcePermissionStatementInput struct { 31 32 // Idempotency token for the request 33 ClientToken *string 34 35 // Console VPC endpoint identifier 36 ConsoleSourceVpce *string 37 38 // Principal to exclude from the permission statement 39 ExcludedPrincipal *string 40 41 // AWS region where the VPC and VPC endpoint reside Required when sourceVpc or 42 // signinSourceVpce/consoleSourceVpce is provided 43 RequestedRegion *string 44 45 // SignIn VPC endpoint identifier 46 SigninSourceVpce *string 47 48 // Source IP address 49 SourceIp *string 50 51 // VPC identifier to restrict console access 52 SourceVpc *string 53 54 // Source IP address within VPC 55 VpcSourceIp *string 56 57 noSmithyDocumentSerde 58 } 59 60 func (in *PutResourcePermissionStatementInput) bindEndpointParams(p *EndpointParameters) { 61 62 p.IsControlPlane = ptr.Bool(true) 63 } 64 65 // Output for PutResourcePermissionStatement operation 66 type PutResourcePermissionStatementOutput struct { 67 68 // Unique identifier for the created permission statement 69 // 70 // This member is required. 71 StatementId *string 72 73 // Metadata pertaining to the operation's result. 74 ResultMetadata middleware.Metadata 75 76 noSmithyDocumentSerde 77 } 78 79 func (c *Client) addOperationPutResourcePermissionStatementMiddlewares(stack *middleware.Stack, options Options) (err error) { 80 err = stack.Serialize.Add(&awsRestjson1_serializeOpPutResourcePermissionStatement{}, middleware.After) 81 if err != nil { 82 return err 83 } 84 err = stack.Deserialize.Add(&awsRestjson1_deserializeOpPutResourcePermissionStatement{}, middleware.After) 85 if err != nil { 86 return err 87 } 88 89 if err = addComputeContentLength(stack); err != nil { 90 return err 91 } 92 if err = addResolveEndpointMiddleware(stack, options); err != nil { 93 return err 94 } 95 if err = addComputePayloadSHA256(stack); err != nil { 96 return err 97 } 98 if err = addRecordResponseTiming(stack, options); err != nil { 99 return err 100 } 101 if err = addCredentialSource(stack, options); err != nil { 102 return err 103 } 104 if err = addIdempotencyToken_opPutResourcePermissionStatementMiddleware(stack, options); err != nil { 105 return err 106 } 107 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 108 return err 109 } 110 if err = addResponseErrorMiddleware(stack); err != nil { 111 return err 112 } 113 if err = addRequestResponseLogging(stack, options); err != nil { 114 return err 115 } 116 if err = addDisableHTTPSMiddleware(stack, options); err != nil { 117 return err 118 } 119 if err = addInterceptors(stack, options); err != nil { 120 return err 121 } 122 return nil 123 } 124 125 type idempotencyToken_initializeOpPutResourcePermissionStatement struct { 126 tokenProvider IdempotencyTokenProvider 127 } 128 129 func (*idempotencyToken_initializeOpPutResourcePermissionStatement) ID() string { 130 return "OperationIdempotencyTokenAutoFill" 131 } 132 133 func (m *idempotencyToken_initializeOpPutResourcePermissionStatement) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( 134 out middleware.InitializeOutput, metadata middleware.Metadata, err error, 135 ) { 136 if m.tokenProvider == nil { 137 return next.HandleInitialize(ctx, in) 138 } 139 140 input, ok := in.Parameters.(*PutResourcePermissionStatementInput) 141 if !ok { 142 return out, metadata, fmt.Errorf("expected middleware input to be of type *PutResourcePermissionStatementInput ") 143 } 144 145 if input.ClientToken == nil { 146 t, err := m.tokenProvider.GetIdempotencyToken() 147 if err != nil { 148 return out, metadata, err 149 } 150 input.ClientToken = &t 151 } 152 return next.HandleInitialize(ctx, in) 153 } 154 func addIdempotencyToken_opPutResourcePermissionStatementMiddleware(stack *middleware.Stack, cfg Options) error { 155 return stack.Initialize.Add(&idempotencyToken_initializeOpPutResourcePermissionStatement{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) 156 }