putResourcePolicy method
Attaches a resource-based permission policy to a CloudTrail event data store, dashboard, or channel. For more information about resource-based policies, see CloudTrail resource-based policy examples in the CloudTrail User Guide.
May throw ConflictException.
May throw OperationNotPermittedException.
May throw ResourceARNNotValidException.
May throw ResourceNotFoundException.
May throw ResourcePolicyNotValidException.
May throw ResourceTypeNotSupportedException.
May throw UnsupportedOperationException.
Parameter resourceArn :
The Amazon Resource Name (ARN) of the CloudTrail event data store,
dashboard, or channel attached to the resource-based policy.
Example event data store ARN format:
arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE
Example dashboard ARN format:
arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash
Example channel ARN format:
arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890
Parameter resourcePolicy :
A JSON-formatted string for an Amazon Web Services resource-based policy.
For example resource-based policies, see CloudTrail resource-based policy examples in the CloudTrail User Guide.
Implementation
Future<PutResourcePolicyResponse> putResourcePolicy({
required String resourceArn,
required String resourcePolicy,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'CloudTrail_20131101.PutResourcePolicy'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'ResourceArn': resourceArn,
'ResourcePolicy': resourcePolicy,
},
);
return PutResourcePolicyResponse.fromJson(jsonResponse.body);
}