putSinkPolicy method

Future<PutSinkPolicyOutput> putSinkPolicy({
  1. required String policy,
  2. required String sinkIdentifier,
})

Creates or updates the resource policy that grants permissions to source accounts to link to the monitoring account sink. When you create a sink policy, you can grant permissions to all accounts in an organization or to individual accounts.

You can also use a sink policy to limit the types of data that is shared. The six types of services with their respective resource types that you can allow or deny are:

  • Metrics - Specify with AWS::CloudWatch::Metric
  • Log groups - Specify with AWS::Logs::LogGroup
  • Traces - Specify with AWS::XRay::Trace
  • Application Insights - Applications - Specify with AWS::ApplicationInsights::Application
  • Internet Monitor - Specify with AWS::InternetMonitor::Monitor
  • Application Signals - Specify with AWS::ApplicationSignals::Service and AWS::ApplicationSignals::ServiceLevelObjective
See the examples in this section to see how to specify permitted source accounts and data types.

May throw InternalServiceFault. May throw InvalidParameterException. May throw MissingRequiredParameterException. May throw ResourceNotFoundException.

Parameter policy : The JSON policy to use. If you are updating an existing policy, the entire existing policy is replaced by what you specify here.

The policy must be in JSON string format with quotation marks escaped and no newlines.

For examples of different types of policies, see the Examples section on this page.

Parameter sinkIdentifier : The ARN of the sink to attach this policy to.

Implementation

Future<PutSinkPolicyOutput> putSinkPolicy({
  required String policy,
  required String sinkIdentifier,
}) async {
  final $payload = <String, dynamic>{
    'Policy': policy,
    'SinkIdentifier': sinkIdentifier,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/PutSinkPolicy',
    exceptionFnMap: _exceptionFns,
  );
  return PutSinkPolicyOutput.fromJson(response);
}