putResourcePermissionStatement method

Future<PutResourcePermissionStatementOutput> putResourcePermissionStatement({
  1. String? clientToken,
  2. String? consoleSourceVpce,
  3. String? excludedPrincipal,
  4. String? requestedRegion,
  5. String? signinSourceVpce,
  6. String? sourceIp,
  7. String? sourceVpc,
  8. String? vpcSourceIp,
})

Create a permission statement in the account's SignIn resource-based policy

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ServiceQuotaExceededException. May throw TooManyRequestsError. May throw ValidationException.

Parameter clientToken : Idempotency token for the request

Parameter consoleSourceVpce : Console VPC endpoint identifier

Parameter excludedPrincipal : Principal to exclude from the permission statement

Parameter requestedRegion : AWS region where the VPC and VPC endpoint reside Required when sourceVpc or signinSourceVpce/consoleSourceVpce is provided

Parameter signinSourceVpce : SignIn VPC endpoint identifier

Parameter sourceIp : Source IP address

Parameter sourceVpc : VPC identifier to restrict console access

Parameter vpcSourceIp : Source IP address within VPC

Implementation

Future<PutResourcePermissionStatementOutput> putResourcePermissionStatement({
  String? clientToken,
  String? consoleSourceVpce,
  String? excludedPrincipal,
  String? requestedRegion,
  String? signinSourceVpce,
  String? sourceIp,
  String? sourceVpc,
  String? vpcSourceIp,
}) async {
  final $payload = <String, dynamic>{
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (consoleSourceVpce != null) 'consoleSourceVpce': consoleSourceVpce,
    if (excludedPrincipal != null) 'excludedPrincipal': excludedPrincipal,
    if (requestedRegion != null) 'requestedRegion': requestedRegion,
    if (signinSourceVpce != null) 'signinSourceVpce': signinSourceVpce,
    if (sourceIp != null) 'sourceIp': sourceIp,
    if (sourceVpc != null) 'sourceVpc': sourceVpc,
    if (vpcSourceIp != null) 'vpcSourceIp': vpcSourceIp,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/put-resource-permission-statement',
    endpoint: _resolveEndpoint(
      isControlPlane: true,
    ),
    exceptionFnMap: _exceptionFns,
  );
  return PutResourcePermissionStatementOutput.fromJson(response);
}