# WARNING: DO NOT EDIT, AUTO-GENERATED CODE! # See https://github.com/aws-beam/aws-codegen for more details. defmodule AWS.GuardDuty do @moduledoc """ Amazon GuardDuty is a continuous security monitoring service that analyzes and processes the following data sources: VPC Flow Logs, AWS CloudTrail event logs, and DNS logs. It uses threat intelligence feeds (such as lists of malicious IPs and domains) and machine learning to identify unexpected, potentially unauthorized, and malicious activity within your AWS environment. This can include issues like escalations of privileges, uses of exposed credentials, or communication with malicious IPs, URLs, or domains. For example, GuardDuty can detect compromised EC2 instances that serve malware or mine bitcoin. GuardDuty also monitors AWS account access behavior for signs of compromise. Some examples of this are unauthorized infrastructure deployments such as EC2 instances deployed in a Region that has never been used, or unusual API calls like a password policy change to reduce password strength. GuardDuty informs you of the status of your AWS environment by producing security findings that you can view in the GuardDuty console or through Amazon CloudWatch events. For more information, see the * [Amazon GuardDuty User Guide](https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html) *. """ alias AWS.Client alias AWS.Request def metadata do %AWS.ServiceMetadata{ abbreviation: nil, api_version: "2017-11-28", content_type: "application/x-amz-json-1.1", credential_scope: nil, endpoint_prefix: "guardduty", global?: false, protocol: "rest-json", service_id: "GuardDuty", signature_version: "v4", signing_name: "guardduty", target_prefix: nil } end @doc """ Accepts the invitation to be monitored by a GuardDuty administrator account. """ def accept_invitation(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/master" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Archives GuardDuty findings that are specified by the list of finding IDs. Only the administrator account can archive findings. Member accounts don't have permission to archive findings from their accounts. """ def archive_findings(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/findings/archive" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Creates a single Amazon GuardDuty detector. A detector is a resource that represents the GuardDuty service. To start using GuardDuty, you must create a detector in each Region where you enable the service. You can have only one detector per account per Region. All data sources are enabled in a new detector by default. """ def create_detector(%Client{} = client, input, options \\ []) do url_path = "/detector" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Creates a filter using the specified finding criteria. """ def create_filter(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/filter" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Creates a new IPSet, which is called a trusted IP list in the console user interface. An IPSet is a list of IP addresses that are trusted for secure communication with AWS infrastructure and applications. GuardDuty doesn't generate findings for IP addresses that are included in IPSets. Only users from the administrator account can use this operation. """ def create_ip_set(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/ipset" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Creates member accounts of the current AWS account by specifying a list of AWS account IDs. This step is a prerequisite for managing the associated member accounts either by invitation or through an organization. When using `Create Members` as an organizations delegated administrator this action will enable GuardDuty in the added member accounts, with the exception of the organization delegated administrator account, which must enable GuardDuty prior to being added as a member. If you are adding accounts by invitation use this action after GuardDuty has been enabled in potential member accounts and before using [ `Invite Members` ](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html). """ def create_members(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/member" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Creates a publishing destination to export findings to. The resource to export findings to must exist before you use this operation. """ def create_publishing_destination(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/publishingDestination" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Generates example findings of types specified by the list of finding types. If 'NULL' is specified for `findingTypes`, the API generates example findings of all supported finding types. """ def create_sample_findings(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/findings/create" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Creates a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only users of the administrator account can use this operation. """ def create_threat_intel_set(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/threatintelset" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Declines invitations sent to the current member account by AWS accounts specified by their account IDs. """ def decline_invitations(%Client{} = client, input, options \\ []) do url_path = "/invitation/decline" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Deletes an Amazon GuardDuty detector that is specified by the detector ID. """ def delete_detector(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :delete, url_path, query_params, headers, input, options, 200 ) end @doc """ Deletes the filter specified by the filter name. """ def delete_filter(%Client{} = client, detector_id, filter_name, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/filter/#{AWS.Util.encode_uri(filter_name)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :delete, url_path, query_params, headers, input, options, 200 ) end @doc """ Deletes invitations sent to the current member account by AWS accounts specified by their account IDs. """ def delete_invitations(%Client{} = client, input, options \\ []) do url_path = "/invitation/delete" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Deletes the IPSet specified by the `ipSetId`. IPSets are called trusted IP lists in the console user interface. """ def delete_ip_set(%Client{} = client, detector_id, ip_set_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/ipset/#{AWS.Util.encode_uri(ip_set_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :delete, url_path, query_params, headers, input, options, 200 ) end @doc """ Deletes GuardDuty member accounts (to the current GuardDuty administrator account) specified by the account IDs. """ def delete_members(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/member/delete" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Deletes the publishing definition with the specified `destinationId`. """ def delete_publishing_destination( %Client{} = client, destination_id, detector_id, input, options \\ [] ) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/publishingDestination/#{AWS.Util.encode_uri(destination_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :delete, url_path, query_params, headers, input, options, 200 ) end @doc """ Deletes the ThreatIntelSet specified by the ThreatIntelSet ID. """ def delete_threat_intel_set( %Client{} = client, detector_id, threat_intel_set_id, input, options \\ [] ) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/threatintelset/#{AWS.Util.encode_uri(threat_intel_set_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :delete, url_path, query_params, headers, input, options, 200 ) end @doc """ Returns information about the account selected as the delegated administrator for GuardDuty. """ def describe_organization_configuration(%Client{} = client, detector_id, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/admin" headers = [] query_params = [] Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Returns information about the publishing destination specified by the provided `destinationId`. """ def describe_publishing_destination( %Client{} = client, destination_id, detector_id, options \\ [] ) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/publishingDestination/#{AWS.Util.encode_uri(destination_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Disables an AWS account within the Organization as the GuardDuty delegated administrator. """ def disable_organization_admin_account(%Client{} = client, input, options \\ []) do url_path = "/admin/disable" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Disassociates the current GuardDuty member account from its administrator account. """ def disassociate_from_master_account(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/master/disassociate" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Disassociates GuardDuty member accounts (to the current GuardDuty administrator account) specified by the account IDs. """ def disassociate_members(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/member/disassociate" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Enables an AWS account within the organization as the GuardDuty delegated administrator. """ def enable_organization_admin_account(%Client{} = client, input, options \\ []) do url_path = "/admin/enable" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Retrieves an Amazon GuardDuty detector specified by the detectorId. """ def get_detector(%Client{} = client, detector_id, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Returns the details of the filter specified by the filter name. """ def get_filter(%Client{} = client, detector_id, filter_name, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/filter/#{AWS.Util.encode_uri(filter_name)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Describes Amazon GuardDuty findings specified by finding IDs. """ def get_findings(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/findings/get" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Lists Amazon GuardDuty findings statistics for the specified detector ID. """ def get_findings_statistics(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/findings/statistics" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation. """ def get_invitations_count(%Client{} = client, options \\ []) do url_path = "/invitation/count" headers = [] query_params = [] Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Retrieves the IPSet specified by the `ipSetId`. """ def get_ip_set(%Client{} = client, detector_id, ip_set_id, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/ipset/#{AWS.Util.encode_uri(ip_set_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Provides the details for the GuardDuty administrator account associated with the current GuardDuty member account. """ def get_master_account(%Client{} = client, detector_id, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/master" headers = [] query_params = [] Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Describes which data sources are enabled for the member account's detector. """ def get_member_detectors(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/member/detector/get" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Retrieves GuardDuty member accounts (of the current GuardDuty administrator account) specified by the account IDs. """ def get_members(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/member/get" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID. """ def get_threat_intel_set(%Client{} = client, detector_id, threat_intel_set_id, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/threatintelset/#{AWS.Util.encode_uri(threat_intel_set_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Lists Amazon GuardDuty usage statistics over the last 30 days for the specified detector ID. For newly enabled detectors or data sources the cost returned will include only the usage so far under 30 days, this may differ from the cost metrics in the console, which projects usage over 30 days to provide a monthly cost estimate. For more information see [Understanding How Usage Costs are Calculated](https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html#usage-calculations). """ def get_usage_statistics(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/usage/statistics" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Invites other AWS accounts (created as members of the current AWS account by CreateMembers) to enable GuardDuty, and allow the current AWS account to view and manage these accounts' findings on their behalf as the GuardDuty administrator account. """ def invite_members(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/member/invite" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Lists detectorIds of all the existing Amazon GuardDuty detector resources. """ def list_detectors(%Client{} = client, max_results \\ nil, next_token \\ nil, options \\ []) do url_path = "/detector" headers = [] query_params = [] query_params = if !is_nil(next_token) do [{"nextToken", next_token} | query_params] else query_params end query_params = if !is_nil(max_results) do [{"maxResults", max_results} | query_params] else query_params end Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Returns a paginated list of the current filters. """ def list_filters( %Client{} = client, detector_id, max_results \\ nil, next_token \\ nil, options \\ [] ) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/filter" headers = [] query_params = [] query_params = if !is_nil(next_token) do [{"nextToken", next_token} | query_params] else query_params end query_params = if !is_nil(max_results) do [{"maxResults", max_results} | query_params] else query_params end Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Lists Amazon GuardDuty findings for the specified detector ID. """ def list_findings(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/findings" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Lists all GuardDuty membership invitations that were sent to the current AWS account. """ def list_invitations(%Client{} = client, max_results \\ nil, next_token \\ nil, options \\ []) do url_path = "/invitation" headers = [] query_params = [] query_params = if !is_nil(next_token) do [{"nextToken", next_token} | query_params] else query_params end query_params = if !is_nil(max_results) do [{"maxResults", max_results} | query_params] else query_params end Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Lists the IPSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the IPSets returned are the IPSets from the associated administrator account. """ def list_ip_sets( %Client{} = client, detector_id, max_results \\ nil, next_token \\ nil, options \\ [] ) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/ipset" headers = [] query_params = [] query_params = if !is_nil(next_token) do [{"nextToken", next_token} | query_params] else query_params end query_params = if !is_nil(max_results) do [{"maxResults", max_results} | query_params] else query_params end Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Lists details about all member accounts for the current GuardDuty administrator account. """ def list_members( %Client{} = client, detector_id, max_results \\ nil, next_token \\ nil, only_associated \\ nil, options \\ [] ) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/member" headers = [] query_params = [] query_params = if !is_nil(only_associated) do [{"onlyAssociated", only_associated} | query_params] else query_params end query_params = if !is_nil(next_token) do [{"nextToken", next_token} | query_params] else query_params end query_params = if !is_nil(max_results) do [{"maxResults", max_results} | query_params] else query_params end Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Lists the accounts configured as GuardDuty delegated administrators. """ def list_organization_admin_accounts( %Client{} = client, max_results \\ nil, next_token \\ nil, options \\ [] ) do url_path = "/admin" headers = [] query_params = [] query_params = if !is_nil(next_token) do [{"nextToken", next_token} | query_params] else query_params end query_params = if !is_nil(max_results) do [{"maxResults", max_results} | query_params] else query_params end Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Returns a list of publishing destinations associated with the specified `dectectorId`. """ def list_publishing_destinations( %Client{} = client, detector_id, max_results \\ nil, next_token \\ nil, options \\ [] ) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/publishingDestination" headers = [] query_params = [] query_params = if !is_nil(next_token) do [{"nextToken", next_token} | query_params] else query_params end query_params = if !is_nil(max_results) do [{"maxResults", max_results} | query_params] else query_params end Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Lists tags for a resource. Tagging is currently supported for detectors, finding filters, IP sets, and threat intel sets, with a limit of 50 tags per resource. When invoked, this operation returns all assigned tags for a given resource. """ def list_tags_for_resource(%Client{} = client, resource_arn, options \\ []) do url_path = "/tags/#{AWS.Util.encode_uri(resource_arn)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the ThreatIntelSets associated with the administrator account are returned. """ def list_threat_intel_sets( %Client{} = client, detector_id, max_results \\ nil, next_token \\ nil, options \\ [] ) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/threatintelset" headers = [] query_params = [] query_params = if !is_nil(next_token) do [{"nextToken", next_token} | query_params] else query_params end query_params = if !is_nil(max_results) do [{"maxResults", max_results} | query_params] else query_params end Request.request_rest( client, metadata(), :get, url_path, query_params, headers, nil, options, 200 ) end @doc """ Turns on GuardDuty monitoring of the specified member accounts. Use this operation to restart monitoring of accounts that you stopped monitoring with the `StopMonitoringMembers` operation. """ def start_monitoring_members(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/member/start" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Stops GuardDuty monitoring for the specified member accounts. Use the `StartMonitoringMembers` operation to restart monitoring for those accounts. """ def stop_monitoring_members(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/member/stop" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Adds tags to a resource. """ def tag_resource(%Client{} = client, resource_arn, input, options \\ []) do url_path = "/tags/#{AWS.Util.encode_uri(resource_arn)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 204 ) end @doc """ Unarchives GuardDuty findings specified by the `findingIds`. """ def unarchive_findings(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/findings/unarchive" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Removes tags from a resource. """ def untag_resource(%Client{} = client, resource_arn, input, options \\ []) do url_path = "/tags/#{AWS.Util.encode_uri(resource_arn)}" headers = [] {query_params, input} = [ {"TagKeys", "tagKeys"} ] |> Request.build_params(input) Request.request_rest( client, metadata(), :delete, url_path, query_params, headers, input, options, 204 ) end @doc """ Updates the Amazon GuardDuty detector specified by the detectorId. """ def update_detector(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Updates the filter specified by the filter name. """ def update_filter(%Client{} = client, detector_id, filter_name, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/filter/#{AWS.Util.encode_uri(filter_name)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Marks the specified GuardDuty findings as useful or not useful. """ def update_findings_feedback(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/findings/feedback" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Updates the IPSet specified by the IPSet ID. """ def update_ip_set(%Client{} = client, detector_id, ip_set_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/ipset/#{AWS.Util.encode_uri(ip_set_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Contains information on member accounts to be updated. """ def update_member_detectors(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/member/detector/update" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Updates the delegated administrator account with the values provided. """ def update_organization_configuration(%Client{} = client, detector_id, input, options \\ []) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/admin" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Updates information about the publishing destination specified by the `destinationId`. """ def update_publishing_destination( %Client{} = client, destination_id, detector_id, input, options \\ [] ) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/publishingDestination/#{AWS.Util.encode_uri(destination_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end @doc """ Updates the ThreatIntelSet specified by the ThreatIntelSet ID. """ def update_threat_intel_set( %Client{} = client, detector_id, threat_intel_set_id, input, options \\ [] ) do url_path = "/detector/#{AWS.Util.encode_uri(detector_id)}/threatintelset/#{AWS.Util.encode_uri(threat_intel_set_id)}" headers = [] query_params = [] Request.request_rest( client, metadata(), :post, url_path, query_params, headers, input, options, 200 ) end end