import { EndpointsInputConfig , EndpointsResolvedConfig , RegionInputConfig , RegionResolvedConfig , resolveEndpointsConfig , resolveRegionConfig , } from "@aws-sdk/config-resolver" ; import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length" ; import { getHostHeaderPlugin , HostHeaderInputConfig , HostHeaderResolvedConfig , resolveHostHeaderConfig , } from "@aws-sdk/middleware-host-header" ; import { getLoggerPlugin } from "@aws-sdk/middleware-logger" ; import { getRetryPlugin , resolveRetryConfig , RetryInputConfig , RetryResolvedConfig } from "@aws-sdk/middleware-retry" ; import { AwsAuthInputConfig , AwsAuthResolvedConfig , getAwsAuthPlugin , resolveAwsAuthConfig , } from "@aws-sdk/middleware-signing" ; import { getUserAgentPlugin , resolveUserAgentConfig , UserAgentInputConfig , UserAgentResolvedConfig , } from "@aws-sdk/middleware-user-agent" ; import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http" ; import { Client as __Client , DefaultsMode , SmithyConfiguration as __SmithyConfiguration , SmithyResolvedConfiguration as __SmithyResolvedConfiguration , } from "@aws-sdk/smithy-client" ; import { Credentials as __Credentials , Decoder as __Decoder , Encoder as __Encoder , Hash as __Hash , HashConstructor as __HashConstructor , HttpHandlerOptions as __HttpHandlerOptions , Logger as __Logger , Provider as __Provider , Provider , RegionInfoProvider , StreamCollector as __StreamCollector , UrlParser as __UrlParser , UserAgent as __UserAgent , } from "@aws-sdk/types" ; import { AcceptInvitationCommandInput , AcceptInvitationCommandOutput } from "./commands/AcceptInvitationCommand" ; import { ArchiveFindingsCommandInput , ArchiveFindingsCommandOutput } from "./commands/ArchiveFindingsCommand" ; import { CreateDetectorCommandInput , CreateDetectorCommandOutput } from "./commands/CreateDetectorCommand" ; import { CreateFilterCommandInput , CreateFilterCommandOutput } from "./commands/CreateFilterCommand" ; import { CreateIPSetCommandInput , CreateIPSetCommandOutput } from "./commands/CreateIPSetCommand" ; import { CreateMembersCommandInput , CreateMembersCommandOutput } from "./commands/CreateMembersCommand" ; import { CreatePublishingDestinationCommandInput , CreatePublishingDestinationCommandOutput , } from "./commands/CreatePublishingDestinationCommand" ; import { CreateSampleFindingsCommandInput , CreateSampleFindingsCommandOutput , } from "./commands/CreateSampleFindingsCommand" ; import { CreateThreatIntelSetCommandInput , CreateThreatIntelSetCommandOutput , } from "./commands/CreateThreatIntelSetCommand" ; import { DeclineInvitationsCommandInput , DeclineInvitationsCommandOutput } from "./commands/DeclineInvitationsCommand" ; import { DeleteDetectorCommandInput , DeleteDetectorCommandOutput } from "./commands/DeleteDetectorCommand" ; import { DeleteFilterCommandInput , DeleteFilterCommandOutput } from "./commands/DeleteFilterCommand" ; import { DeleteInvitationsCommandInput , DeleteInvitationsCommandOutput } from "./commands/DeleteInvitationsCommand" ; import { DeleteIPSetCommandInput , DeleteIPSetCommandOutput } from "./commands/DeleteIPSetCommand" ; import { DeleteMembersCommandInput , DeleteMembersCommandOutput } from "./commands/DeleteMembersCommand" ; import { DeletePublishingDestinationCommandInput , DeletePublishingDestinationCommandOutput , } from "./commands/DeletePublishingDestinationCommand" ; import { DeleteThreatIntelSetCommandInput , DeleteThreatIntelSetCommandOutput , } from "./commands/DeleteThreatIntelSetCommand" ; import { DescribeOrganizationConfigurationCommandInput , DescribeOrganizationConfigurationCommandOutput , } from "./commands/DescribeOrganizationConfigurationCommand" ; import { DescribePublishingDestinationCommandInput , DescribePublishingDestinationCommandOutput , } from "./commands/DescribePublishingDestinationCommand" ; import { DisableOrganizationAdminAccountCommandInput , DisableOrganizationAdminAccountCommandOutput , } from "./commands/DisableOrganizationAdminAccountCommand" ; import { DisassociateFromMasterAccountCommandInput , DisassociateFromMasterAccountCommandOutput , } from "./commands/DisassociateFromMasterAccountCommand" ; import { DisassociateMembersCommandInput , DisassociateMembersCommandOutput , } from "./commands/DisassociateMembersCommand" ; import { EnableOrganizationAdminAccountCommandInput , EnableOrganizationAdminAccountCommandOutput , } from "./commands/EnableOrganizationAdminAccountCommand" ; import { GetDetectorCommandInput , GetDetectorCommandOutput } from "./commands/GetDetectorCommand" ; import { GetFilterCommandInput , GetFilterCommandOutput } from "./commands/GetFilterCommand" ; import { GetFindingsCommandInput , GetFindingsCommandOutput } from "./commands/GetFindingsCommand" ; import { GetFindingsStatisticsCommandInput , GetFindingsStatisticsCommandOutput , } from "./commands/GetFindingsStatisticsCommand" ; import { GetInvitationsCountCommandInput , GetInvitationsCountCommandOutput , } from "./commands/GetInvitationsCountCommand" ; import { GetIPSetCommandInput , GetIPSetCommandOutput } from "./commands/GetIPSetCommand" ; import { GetMasterAccountCommandInput , GetMasterAccountCommandOutput } from "./commands/GetMasterAccountCommand" ; import { GetMemberDetectorsCommandInput , GetMemberDetectorsCommandOutput } from "./commands/GetMemberDetectorsCommand" ; import { GetMembersCommandInput , GetMembersCommandOutput } from "./commands/GetMembersCommand" ; import { GetThreatIntelSetCommandInput , GetThreatIntelSetCommandOutput } from "./commands/GetThreatIntelSetCommand" ; import { GetUsageStatisticsCommandInput , GetUsageStatisticsCommandOutput } from "./commands/GetUsageStatisticsCommand" ; import { InviteMembersCommandInput , InviteMembersCommandOutput } from "./commands/InviteMembersCommand" ; import { ListDetectorsCommandInput , ListDetectorsCommandOutput } from "./commands/ListDetectorsCommand" ; import { ListFiltersCommandInput , ListFiltersCommandOutput } from "./commands/ListFiltersCommand" ; import { ListFindingsCommandInput , ListFindingsCommandOutput } from "./commands/ListFindingsCommand" ; import { ListInvitationsCommandInput , ListInvitationsCommandOutput } from "./commands/ListInvitationsCommand" ; import { ListIPSetsCommandInput , ListIPSetsCommandOutput } from "./commands/ListIPSetsCommand" ; import { ListMembersCommandInput , ListMembersCommandOutput } from "./commands/ListMembersCommand" ; import { ListOrganizationAdminAccountsCommandInput , ListOrganizationAdminAccountsCommandOutput , } from "./commands/ListOrganizationAdminAccountsCommand" ; import { ListPublishingDestinationsCommandInput , ListPublishingDestinationsCommandOutput , } from "./commands/ListPublishingDestinationsCommand" ; import { ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { ListThreatIntelSetsCommandInput , ListThreatIntelSetsCommandOutput , } from "./commands/ListThreatIntelSetsCommand" ; import { StartMonitoringMembersCommandInput , StartMonitoringMembersCommandOutput , } from "./commands/StartMonitoringMembersCommand" ; import { StopMonitoringMembersCommandInput , StopMonitoringMembersCommandOutput , } from "./commands/StopMonitoringMembersCommand" ; import { TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UnarchiveFindingsCommandInput , UnarchiveFindingsCommandOutput } from "./commands/UnarchiveFindingsCommand" ; import { UntagResourceCommandInput , UntagResourceCommandOutput } from "./commands/UntagResourceCommand" ; import { UpdateDetectorCommandInput , UpdateDetectorCommandOutput } from "./commands/UpdateDetectorCommand" ; import { UpdateFilterCommandInput , UpdateFilterCommandOutput } from "./commands/UpdateFilterCommand" ; import { UpdateFindingsFeedbackCommandInput , UpdateFindingsFeedbackCommandOutput , } from "./commands/UpdateFindingsFeedbackCommand" ; import { UpdateIPSetCommandInput , UpdateIPSetCommandOutput } from "./commands/UpdateIPSetCommand" ; import { UpdateMemberDetectorsCommandInput , UpdateMemberDetectorsCommandOutput , } from "./commands/UpdateMemberDetectorsCommand" ; import { UpdateOrganizationConfigurationCommandInput , UpdateOrganizationConfigurationCommandOutput , } from "./commands/UpdateOrganizationConfigurationCommand" ; import { UpdatePublishingDestinationCommandInput , UpdatePublishingDestinationCommandOutput , } from "./commands/UpdatePublishingDestinationCommand" ; import { UpdateThreatIntelSetCommandInput , UpdateThreatIntelSetCommandOutput , } from "./commands/UpdateThreatIntelSetCommand" ; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig" ; export type ServiceInputTypes = AcceptInvitationCommandInput | ArchiveFindingsCommandInput | CreateDetectorCommandInput | CreateFilterCommandInput | CreateIPSetCommandInput | CreateMembersCommandInput | CreatePublishingDestinationCommandInput | CreateSampleFindingsCommandInput | CreateThreatIntelSetCommandInput | DeclineInvitationsCommandInput | DeleteDetectorCommandInput | DeleteFilterCommandInput | DeleteIPSetCommandInput | DeleteInvitationsCommandInput | DeleteMembersCommandInput | DeletePublishingDestinationCommandInput | DeleteThreatIntelSetCommandInput | DescribeOrganizationConfigurationCommandInput | DescribePublishingDestinationCommandInput | DisableOrganizationAdminAccountCommandInput | DisassociateFromMasterAccountCommandInput | DisassociateMembersCommandInput | EnableOrganizationAdminAccountCommandInput | GetDetectorCommandInput | GetFilterCommandInput | GetFindingsCommandInput | GetFindingsStatisticsCommandInput | GetIPSetCommandInput | GetInvitationsCountCommandInput | GetMasterAccountCommandInput | GetMemberDetectorsCommandInput | GetMembersCommandInput | GetThreatIntelSetCommandInput | GetUsageStatisticsCommandInput | InviteMembersCommandInput | ListDetectorsCommandInput | ListFiltersCommandInput | ListFindingsCommandInput | ListIPSetsCommandInput | ListInvitationsCommandInput | ListMembersCommandInput | ListOrganizationAdminAccountsCommandInput | ListPublishingDestinationsCommandInput | ListTagsForResourceCommandInput | ListThreatIntelSetsCommandInput | StartMonitoringMembersCommandInput | StopMonitoringMembersCommandInput | TagResourceCommandInput | UnarchiveFindingsCommandInput | UntagResourceCommandInput | UpdateDetectorCommandInput | UpdateFilterCommandInput | UpdateFindingsFeedbackCommandInput | UpdateIPSetCommandInput | UpdateMemberDetectorsCommandInput | UpdateOrganizationConfigurationCommandInput | UpdatePublishingDestinationCommandInput | UpdateThreatIntelSetCommandInput ; export type ServiceOutputTypes = AcceptInvitationCommandOutput | ArchiveFindingsCommandOutput | CreateDetectorCommandOutput | CreateFilterCommandOutput | CreateIPSetCommandOutput | CreateMembersCommandOutput | CreatePublishingDestinationCommandOutput | CreateSampleFindingsCommandOutput | CreateThreatIntelSetCommandOutput | DeclineInvitationsCommandOutput | DeleteDetectorCommandOutput | DeleteFilterCommandOutput | DeleteIPSetCommandOutput | DeleteInvitationsCommandOutput | DeleteMembersCommandOutput | DeletePublishingDestinationCommandOutput | DeleteThreatIntelSetCommandOutput | DescribeOrganizationConfigurationCommandOutput | DescribePublishingDestinationCommandOutput | DisableOrganizationAdminAccountCommandOutput | DisassociateFromMasterAccountCommandOutput | DisassociateMembersCommandOutput | EnableOrganizationAdminAccountCommandOutput | GetDetectorCommandOutput | GetFilterCommandOutput | GetFindingsCommandOutput | GetFindingsStatisticsCommandOutput | GetIPSetCommandOutput | GetInvitationsCountCommandOutput | GetMasterAccountCommandOutput | GetMemberDetectorsCommandOutput | GetMembersCommandOutput | GetThreatIntelSetCommandOutput | GetUsageStatisticsCommandOutput | InviteMembersCommandOutput | ListDetectorsCommandOutput | ListFiltersCommandOutput | ListFindingsCommandOutput | ListIPSetsCommandOutput | ListInvitationsCommandOutput | ListMembersCommandOutput | ListOrganizationAdminAccountsCommandOutput | ListPublishingDestinationsCommandOutput | ListTagsForResourceCommandOutput | ListThreatIntelSetsCommandOutput | StartMonitoringMembersCommandOutput | StopMonitoringMembersCommandOutput | TagResourceCommandOutput | UnarchiveFindingsCommandOutput | UntagResourceCommandOutput | UpdateDetectorCommandOutput | UpdateFilterCommandOutput | UpdateFindingsFeedbackCommandOutput | UpdateIPSetCommandOutput | UpdateMemberDetectorsCommandOutput | UpdateOrganizationConfigurationCommandOutput | UpdatePublishingDestinationCommandOutput | UpdateThreatIntelSetCommandOutput ; export interface ClientDefaults extends Partial < __SmithyResolvedConfiguration < __HttpHandlerOptions > > { /**
     * The HTTP handler to use. Fetch in browser and Https in Nodejs.
     */ requestHandler ? : __HttpHandler ; /**
     * A constructor for a class implementing the  __Hash interface
     * that computes the SHA-256 HMAC or checksum of a string or binary buffer.
     *  internal sha256 ? : __HashConstructor ; internal urlParser ? : __UrlParser ; internal bodyLengthChecker ? : ( body : any ) => number | undefined ; internal streamCollector ? : __StreamCollector ; internal base64Decoder ? : __Decoder ; internal base64Encoder ? : __Encoder ; internal utf8Decoder ? : __Decoder ; internal utf8Encoder ? : __Encoder ; internal runtime ? : string ; /**
     * Disable dyanamically changing the endpoint of the client based on the hostPrefix
     * trait of an operation.
     */ disableHostPrefix ? : boolean ; /**
     * Value for how many times a request will be made at most in case of retry.
     */ maxAttempts ? : number | __Provider < number > ; /**
     * Specifies which retry algorithm to use.
     */ retryMode ? : string | __Provider < string > ; /**
     * Optional logger for logging debug/info/warn/error.
     */ logger ? : __Logger ; /**
     * Enables IPv6/IPv4 dualstack endpoint.
     */ useDualstackEndpoint ? : boolean | __Provider < boolean > ; /**
     * Enables FIPS compatible endpoints.
     */ useFipsEndpoint ? : boolean | __Provider < boolean > ; internal serviceId ? : string ; /**
     * The AWS region to which this client will send requests
     */ region ? : string | __Provider < string > ; internal credentialDefaultProvider ? : ( input : any ) => __Provider < __Credentials > ; internal regionInfoProvider ? : RegionInfoProvider ; internal defaultUserAgentProvider ? : Provider < __UserAgent > ; /**
     * The  DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.
      defaultsMode ? : DefaultsMode | Provider < DefaultsMode > ; } type GuardDutyClientConfigType = Partial < __SmithyConfiguration < __HttpHandlerOptions > > & ClientDefaults & RegionInputConfig & EndpointsInputConfig & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig ; /**
 * The configuration interface of GuardDutyClient class constructor that set the region, credentials and other options.
 */ export interface GuardDutyClientConfig extends GuardDutyClientConfigType { } type GuardDutyClientResolvedConfigType = __SmithyResolvedConfiguration < __HttpHandlerOptions > & Required < ClientDefaults > & RegionResolvedConfig & EndpointsResolvedConfig & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig ; /**
 * The resolved configuration interface of GuardDutyClient class. This is resolved and normalized from the  GuardDutyClientConfig .
  export interface GuardDutyClientResolvedConfig extends GuardDutyClientResolvedConfigType { } /**
 * <p>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. </p>
 *          <p>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. </p>
 *          <p>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 <i>
 *                <a href="https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html">Amazon
 *           GuardDuty User Guide</a>
 *             </i>. </p>
 */ export class GuardDutyClient extends __Client < __HttpHandlerOptions , ServiceInputTypes , ServiceOutputTypes , GuardDutyClientResolvedConfig > { /**
     * The resolved configuration of GuardDutyClient class. This is resolved and normalized from the  GuardDutyClientConfig .
      readonly config : GuardDutyClientResolvedConfig ; constructor ( configuration ) { const _config_0 = __getRuntimeConfig ( configuration ) ; const _config_1 = resolveRegionConfig ( _config_0 ) ; const _config_2 = resolveEndpointsConfig ( _config_1 ) ; const _config_3 = resolveRetryConfig ( _config_2 ) ; const _config_4 = resolveHostHeaderConfig ( _config_3 ) ; const _config_5 = resolveAwsAuthConfig ( _config_4 ) ; const _config_6 = resolveUserAgentConfig ( _config_5 ) ; super ( _config_6 ) ; this . config = _config_6 ; this . middlewareStack . use ( getRetryPlugin ( this . config ) ) ; this . middlewareStack . use ( getContentLengthPlugin ( this . config ) ) ; this . middlewareStack . use ( getHostHeaderPlugin ( this . config ) ) ; this . middlewareStack . use ( getLoggerPlugin ( this . config ) ) ; this . middlewareStack . use ( getAwsAuthPlugin ( this . config ) ) ; this . middlewareStack . use ( getUserAgentPlugin ( this . config ) ) ; } /**
     * Destroy underlying resources, like sockets. It's usually not necessary to do this.
     * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed.
     * Otherwise, sockets might stay open for quite a long time before the server terminates them.
     */ destroy ( ) { super . destroy ( ) ; } }