src

Go monorepo.
git clone git://code.dwrz.net/src
Log | Files | Refs

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 }