create method

Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent.

These modules are enabled by default.

request - The metadata request object.

Request parameters:

parent - Required. The new custom module's parent. Its format is: * "organizations/{organization}/eventThreatDetectionSettings". * "folders/{folder}/eventThreatDetectionSettings". * "projects/{project}/eventThreatDetectionSettings". Value must have pattern ^projects/\[^/\]+/eventThreatDetectionSettings$.

$fields - Selector specifying which fields to include in a partial response.

Completes with a EventThreatDetectionCustomModule.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<EventThreatDetectionCustomModule> create(
  EventThreatDetectionCustomModule request,
  core.String parent, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/customModules';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return EventThreatDetectionCustomModule.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}