NAME

Paws::SecurityHub::BatchImportFindings - Arguments for method BatchImportFindings on Paws::SecurityHub

DESCRIPTION

This class represents the parameters used for calling the method BatchImportFindings on the AWS SecurityHub service. Use the attributes of this class as arguments to method BatchImportFindings.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to BatchImportFindings.

SYNOPSIS

my $securityhub = Paws->service('SecurityHub');
my $BatchImportFindingsResponse = $securityhub->BatchImportFindings(
  Findings => [
    {
      AwsAccountId => 'MyNonEmptyString',
      CreatedAt    => 'MyNonEmptyString',
      Description  => 'MyNonEmptyString',
      GeneratorId  => 'MyNonEmptyString',
      Id           => 'MyNonEmptyString',
      ProductArn   => 'MyNonEmptyString',
      Resources    => [
        {
          Id      => 'MyNonEmptyString',
          Type    => 'MyNonEmptyString',
          Details => {
            AwsCloudFrontDistribution => {
              DomainName       => 'MyNonEmptyString',
              ETag             => 'MyNonEmptyString',
              LastModifiedTime => 'MyNonEmptyString',
              Logging          => {
                Bucket         => 'MyNonEmptyString',
                Enabled        => 1,                    # OPTIONAL
                IncludeCookies => 1,                    # OPTIONAL
                Prefix         => 'MyNonEmptyString',
              },    # OPTIONAL
              Origins => {
                Items => [
                  {
                    DomainName => 'MyNonEmptyString',
                    Id         => 'MyNonEmptyString',
                    OriginPath => 'MyNonEmptyString',
                  },
                  ...
                ],    # OPTIONAL
              },    # OPTIONAL
              Status   => 'MyNonEmptyString',
              WebAclId => 'MyNonEmptyString',
            },    # OPTIONAL
            AwsCodeBuildProject => {
              EncryptionKey => 'MyNonEmptyString',
              Environment   => {
                Certificate              => 'MyNonEmptyString',
                ImagePullCredentialsType => 'MyNonEmptyString',
                RegistryCredential       => {
                  Credential         => 'MyNonEmptyString',
                  CredentialProvider => 'MyNonEmptyString',
                },    # OPTIONAL
                Type => 'MyNonEmptyString',
              },    # OPTIONAL
              Name        => 'MyNonEmptyString',
              ServiceRole => 'MyNonEmptyString',
              Source      => {
                GitCloneDepth => 1,
                InsecureSsl   => 1,                    # OPTIONAL
                Location      => 'MyNonEmptyString',
                Type          => 'MyNonEmptyString',
              },    # OPTIONAL
              VpcConfig => {
                SecurityGroupIds => [ 'MyNonEmptyString', ... ],  # OPTIONAL
                Subnets          => [ 'MyNonEmptyString', ... ],  # OPTIONAL
                VpcId            => 'MyNonEmptyString',
              },    # OPTIONAL
            },    # OPTIONAL
            AwsEc2Instance => {
              IamInstanceProfileArn => 'MyNonEmptyString',
              ImageId               => 'MyNonEmptyString',
              IpV4Addresses => [ 'MyNonEmptyString', ... ],    # OPTIONAL
              IpV6Addresses => [ 'MyNonEmptyString', ... ],    # OPTIONAL
              KeyName       => 'MyNonEmptyString',
              LaunchedAt    => 'MyNonEmptyString',
              SubnetId      => 'MyNonEmptyString',
              Type          => 'MyNonEmptyString',
              VpcId         => 'MyNonEmptyString',
            },    # OPTIONAL
            AwsEc2NetworkInterface => {
              Attachment => {
                AttachTime          => 'MyNonEmptyString',
                AttachmentId        => 'MyNonEmptyString',
                DeleteOnTermination => 1,                    # OPTIONAL
                DeviceIndex         => 1,
                InstanceId          => 'MyNonEmptyString',
                InstanceOwnerId     => 'MyNonEmptyString',
                Status              => 'MyNonEmptyString',
              },    # OPTIONAL
              NetworkInterfaceId => 'MyNonEmptyString',
              SecurityGroups     => [
                {
                  GroupId   => 'MyNonEmptyString',
                  GroupName => 'MyNonEmptyString',
                },
                ...
              ],    # OPTIONAL
              SourceDestCheck => 1,    # OPTIONAL
            },    # OPTIONAL
            AwsEc2SecurityGroup => {
              GroupId       => 'MyNonEmptyString',
              GroupName     => 'MyNonEmptyString',
              IpPermissions => [
                {
                  FromPort   => 1,
                  IpProtocol => 'MyNonEmptyString',
                  IpRanges   => [ { CidrIp => 'MyNonEmptyString', }, ... ]
                  ,    # OPTIONAL
                  Ipv6Ranges =>
                    [ { CidrIpv6 => 'MyNonEmptyString', }, ... ], # OPTIONAL
                  PrefixListIds =>
                    [ { PrefixListId => 'MyNonEmptyString', }, ... ]
                  ,                                               # OPTIONAL
                  ToPort           => 1,
                  UserIdGroupPairs => [
                    {
                      GroupId                => 'MyNonEmptyString',
                      GroupName              => 'MyNonEmptyString',
                      PeeringStatus          => 'MyNonEmptyString',
                      UserId                 => 'MyNonEmptyString',
                      VpcId                  => 'MyNonEmptyString',
                      VpcPeeringConnectionId => 'MyNonEmptyString',
                    },
                    ...
                  ],                                              # OPTIONAL
                },
                ...
              ],    # OPTIONAL
              IpPermissionsEgress => [
                {
                  FromPort   => 1,
                  IpProtocol => 'MyNonEmptyString',
                  IpRanges   => [ { CidrIp => 'MyNonEmptyString', }, ... ]
                  ,    # OPTIONAL
                  Ipv6Ranges =>
                    [ { CidrIpv6 => 'MyNonEmptyString', }, ... ], # OPTIONAL
                  PrefixListIds =>
                    [ { PrefixListId => 'MyNonEmptyString', }, ... ]
                  ,                                               # OPTIONAL
                  ToPort           => 1,
                  UserIdGroupPairs => [
                    {
                      GroupId                => 'MyNonEmptyString',
                      GroupName              => 'MyNonEmptyString',
                      PeeringStatus          => 'MyNonEmptyString',
                      UserId                 => 'MyNonEmptyString',
                      VpcId                  => 'MyNonEmptyString',
                      VpcPeeringConnectionId => 'MyNonEmptyString',
                    },
                    ...
                  ],                                              # OPTIONAL
                },
                ...
              ],    # OPTIONAL
              OwnerId => 'MyNonEmptyString',
              VpcId   => 'MyNonEmptyString',
            },    # OPTIONAL
            AwsElasticsearchDomain => {
              AccessPolicies        => 'MyNonEmptyString',
              DomainEndpointOptions => {
                EnforceHTTPS      => 1,                    # OPTIONAL
                TLSSecurityPolicy => 'MyNonEmptyString',
              },    # OPTIONAL
              DomainId                => 'MyNonEmptyString',
              DomainName              => 'MyNonEmptyString',
              ElasticsearchVersion    => 'MyNonEmptyString',
              EncryptionAtRestOptions => {
                Enabled  => 1,                    # OPTIONAL
                KmsKeyId => 'MyNonEmptyString',
              },    # OPTIONAL
              Endpoint  => 'MyNonEmptyString',
              Endpoints => { 'MyNonEmptyString' => 'MyNonEmptyString', }
              ,     # OPTIONAL
              NodeToNodeEncryptionOptions => {
                Enabled => 1,    # OPTIONAL
              },    # OPTIONAL
              VPCOptions => {
                AvailabilityZones => [ 'MyNonEmptyString', ... ], # OPTIONAL
                SecurityGroupIds  => [ 'MyNonEmptyString', ... ], # OPTIONAL
                SubnetIds         => [ 'MyNonEmptyString', ... ], # OPTIONAL
                VPCId             => 'MyNonEmptyString',
              },    # OPTIONAL
            },    # OPTIONAL
            AwsElbv2LoadBalancer => {
              AvailabilityZones => [
                {
                  SubnetId => 'MyNonEmptyString',
                  ZoneName => 'MyNonEmptyString',
                },
                ...
              ],    # OPTIONAL
              CanonicalHostedZoneId => 'MyNonEmptyString',
              CreatedTime           => 'MyNonEmptyString',
              DNSName               => 'MyNonEmptyString',
              IpAddressType         => 'MyNonEmptyString',
              Scheme                => 'MyNonEmptyString',
              SecurityGroups => [ 'MyNonEmptyString', ... ],    # OPTIONAL
              State          => {
                Code   => 'MyNonEmptyString',
                Reason => 'MyNonEmptyString',
              },                                                # OPTIONAL
              Type  => 'MyNonEmptyString',
              VpcId => 'MyNonEmptyString',
            },    # OPTIONAL
            AwsIamAccessKey => {
              CreatedAt     => 'MyNonEmptyString',
              PrincipalId   => 'MyNonEmptyString',
              PrincipalName => 'MyNonEmptyString',
              PrincipalType => 'MyNonEmptyString',
              Status   => 'Active',    # values: Active, Inactive; OPTIONAL
              UserName => 'MyNonEmptyString',
            },    # OPTIONAL
            AwsIamRole => {
              AssumeRolePolicyDocument =>
                'MyAwsIamRoleAssumeRolePolicyDocument'
              ,    # min: 1, max: 131072; OPTIONAL
              CreateDate         => 'MyNonEmptyString',
              MaxSessionDuration => 1,
              Path               => 'MyNonEmptyString',
              RoleId             => 'MyNonEmptyString',
              RoleName           => 'MyNonEmptyString',
            },    # OPTIONAL
            AwsKmsKey => {
              AWSAccountId => 'MyNonEmptyString',
              CreationDate => 1,                    # OPTIONAL
              KeyId        => 'MyNonEmptyString',
              KeyManager   => 'MyNonEmptyString',
              KeyState     => 'MyNonEmptyString',
              Origin       => 'MyNonEmptyString',
            },    # OPTIONAL
            AwsLambdaFunction => {
              Code => {
                S3Bucket        => 'MyNonEmptyString',
                S3Key           => 'MyNonEmptyString',
                S3ObjectVersion => 'MyNonEmptyString',
                ZipFile         => 'MyNonEmptyString',
              },    # OPTIONAL
              CodeSha256       => 'MyNonEmptyString',
              DeadLetterConfig => { TargetArn => 'MyNonEmptyString', }
              ,     # OPTIONAL
              Environment => {
                Error => {
                  ErrorCode => 'MyNonEmptyString',
                  Message   => 'MyNonEmptyString',
                },    # OPTIONAL
                Variables => { 'MyNonEmptyString' => 'MyNonEmptyString', }
                ,     # OPTIONAL
              },    # OPTIONAL
              FunctionName => 'MyNonEmptyString',
              Handler      => 'MyNonEmptyString',
              KmsKeyArn    => 'MyNonEmptyString',
              LastModified => 'MyNonEmptyString',
              Layers       => [
                {
                  Arn      => 'MyNonEmptyString',
                  CodeSize => 1,
                },
                ...
              ],    # OPTIONAL
              MasterArn     => 'MyNonEmptyString',
              MemorySize    => 1,
              RevisionId    => 'MyNonEmptyString',
              Role          => 'MyNonEmptyString',
              Runtime       => 'MyNonEmptyString',
              Timeout       => 1,
              TracingConfig => { Mode => 'MyNonEmptyString', },   # OPTIONAL
              Version       => 'MyNonEmptyString',
              VpcConfig     => {
                SecurityGroupIds => [ 'MyNonEmptyString', ... ],  # OPTIONAL
                SubnetIds        => [ 'MyNonEmptyString', ... ],  # OPTIONAL
                VpcId            => 'MyNonEmptyString',
              },    # OPTIONAL
            },    # OPTIONAL
            AwsLambdaLayerVersion => {
              CompatibleRuntimes => [ 'MyNonEmptyString', ... ],  # OPTIONAL
              CreatedDate        => 'MyNonEmptyString',
              Version            => 1,                            # OPTIONAL
            },    # OPTIONAL
            AwsRdsDbInstance => {
              AssociatedRoles => [
                {
                  FeatureName => 'MyNonEmptyString',
                  RoleArn     => 'MyNonEmptyString',
                  Status      => 'MyNonEmptyString',
                },
                ...
              ],    # OPTIONAL
              CACertificateIdentifier => 'MyNonEmptyString',
              DBClusterIdentifier     => 'MyNonEmptyString',
              DBInstanceClass         => 'MyNonEmptyString',
              DBInstanceIdentifier    => 'MyNonEmptyString',
              DBName                  => 'MyNonEmptyString',
              DbInstancePort          => 1,
              DbiResourceId           => 'MyNonEmptyString',
              DeletionProtection      => 1,                    # OPTIONAL
              Endpoint                => {
                Address      => 'MyNonEmptyString',
                HostedZoneId => 'MyNonEmptyString',
                Port         => 1,
              },                                               # OPTIONAL
              Engine                           => 'MyNonEmptyString',
              EngineVersion                    => 'MyNonEmptyString',
              IAMDatabaseAuthenticationEnabled => 1,           # OPTIONAL
              InstanceCreateTime => 'MyNonEmptyString',
              KmsKeyId           => 'MyNonEmptyString',
              PubliclyAccessible => 1,                         # OPTIONAL
              StorageEncrypted   => 1,                         # OPTIONAL
              TdeCredentialArn   => 'MyNonEmptyString',
              VpcSecurityGroups  => [
                {
                  Status             => 'MyNonEmptyString',
                  VpcSecurityGroupId => 'MyNonEmptyString',
                },
                ...
              ],                                               # OPTIONAL
            },    # OPTIONAL
            AwsS3Bucket => {
              OwnerId   => 'MyNonEmptyString',
              OwnerName => 'MyNonEmptyString',
            },    # OPTIONAL
            AwsSnsTopic => {
              KmsMasterKeyId => 'MyNonEmptyString',
              Owner          => 'MyNonEmptyString',
              Subscription   => [
                {
                  Endpoint => 'MyNonEmptyString',
                  Protocol => 'MyNonEmptyString',
                },
                ...
              ],    # OPTIONAL
              TopicName => 'MyNonEmptyString',
            },    # OPTIONAL
            AwsSqsQueue => {
              DeadLetterTargetArn          => 'MyNonEmptyString',
              KmsDataKeyReusePeriodSeconds => 1,
              KmsMasterKeyId               => 'MyNonEmptyString',
              QueueName                    => 'MyNonEmptyString',
            },    # OPTIONAL
            AwsWafWebAcl => {
              DefaultAction => 'MyNonEmptyString',
              Name          => 'MyNonEmptyString',
              Rules         => [
                {
                  Action => { Type => 'MyNonEmptyString', },    # OPTIONAL
                  ExcludedRules =>
                    [ { RuleId => 'MyNonEmptyString', }, ... ],   # OPTIONAL
                  OverrideAction => { Type => 'MyNonEmptyString', }
                  ,                                               # OPTIONAL
                  Priority => 1,
                  RuleId   => 'MyNonEmptyString',
                  Type     => 'MyNonEmptyString',
                },
                ...
              ],    # OPTIONAL
              WebAclId => 'MyNonEmptyString',
            },    # OPTIONAL
            Container => {
              ImageId    => 'MyNonEmptyString',
              ImageName  => 'MyNonEmptyString',
              LaunchedAt => 'MyNonEmptyString',
              Name       => 'MyNonEmptyString',
            },    # OPTIONAL
            Other => { 'MyNonEmptyString' => 'MyNonEmptyString', }
            ,     # OPTIONAL
          },    # OPTIONAL
          Partition => 'aws',    # values: aws, aws-cn, aws-us-gov; OPTIONAL
          Region    => 'MyNonEmptyString',
          Tags => { 'MyNonEmptyString' => 'MyNonEmptyString', },  # OPTIONAL
        },
        ...
      ],
      SchemaVersion => 'MyNonEmptyString',
      Severity      => {
        Normalized => 1,
        Product    => 1,    # OPTIONAL
      },
      Title      => 'MyNonEmptyString',
      Types      => [ 'MyNonEmptyString', ... ],
      UpdatedAt  => 'MyNonEmptyString',
      Compliance => {
        RelatedRequirements => [ 'MyNonEmptyString', ... ],    # OPTIONAL
        Status              => 'PASSED'
        ,    # values: PASSED, WARNING, FAILED, NOT_AVAILABLE; OPTIONAL
      },    # OPTIONAL
      Confidence      => 1,
      Criticality     => 1,
      FirstObservedAt => 'MyNonEmptyString',
      LastObservedAt  => 'MyNonEmptyString',
      Malware         => [
        {
          Name  => 'MyNonEmptyString',
          Path  => 'MyNonEmptyString',
          State => 'OBSERVED'
          ,    # values: OBSERVED, REMOVAL_FAILED, REMOVED; OPTIONAL
          Type => 'ADWARE'
          , # values: ADWARE, BLENDED_THREAT, BOTNET_AGENT, COIN_MINER, EXPLOIT_KIT, KEYLOGGER, MACRO, POTENTIALLY_UNWANTED, SPYWARE, RANSOMWARE, REMOTE_ACCESS, ROOTKIT, TROJAN, VIRUS, WORM; OPTIONAL
        },
        ...
      ],    # OPTIONAL
      Network => {
        DestinationDomain => 'MyNonEmptyString',
        DestinationIpV4   => 'MyNonEmptyString',
        DestinationIpV6   => 'MyNonEmptyString',
        DestinationPort   => 1,
        Direction         => 'IN',               # values: IN, OUT; OPTIONAL
        Protocol          => 'MyNonEmptyString',
        SourceDomain      => 'MyNonEmptyString',
        SourceIpV4        => 'MyNonEmptyString',
        SourceIpV6        => 'MyNonEmptyString',
        SourceMac         => 'MyNonEmptyString',
        SourcePort        => 1,
      },    # OPTIONAL
      Note => {
        Text      => 'MyNonEmptyString',
        UpdatedAt => 'MyNonEmptyString',
        UpdatedBy => 'MyNonEmptyString',

      },    # OPTIONAL
      Process => {
        LaunchedAt   => 'MyNonEmptyString',
        Name         => 'MyNonEmptyString',
        ParentPid    => 1,
        Path         => 'MyNonEmptyString',
        Pid          => 1,
        TerminatedAt => 'MyNonEmptyString',
      },    # OPTIONAL
      ProductFields => { 'MyNonEmptyString' => 'MyNonEmptyString', }
      ,                               # OPTIONAL
      RecordState     => 'ACTIVE',    # values: ACTIVE, ARCHIVED; OPTIONAL
      RelatedFindings => [
        {
          Id         => 'MyNonEmptyString',
          ProductArn => 'MyNonEmptyString',

        },
        ...
      ],                              # OPTIONAL
      Remediation => {
        Recommendation => {
          Text => 'MyNonEmptyString',
          Url  => 'MyNonEmptyString',
        },                            # OPTIONAL
      },    # OPTIONAL
      SourceUrl             => 'MyNonEmptyString',
      ThreatIntelIndicators => [
        {
          Category => 'BACKDOOR'
          , # values: BACKDOOR, CARD_STEALER, COMMAND_AND_CONTROL, DROP_SITE, EXPLOIT_SITE, KEYLOGGER; OPTIONAL
          LastObservedAt => 'MyNonEmptyString',
          Source         => 'MyNonEmptyString',
          SourceUrl      => 'MyNonEmptyString',
          Type           => 'DOMAIN'
          , # values: DOMAIN, EMAIL_ADDRESS, HASH_MD5, HASH_SHA1, HASH_SHA256, HASH_SHA512, IPV4_ADDRESS, IPV6_ADDRESS, MUTEX, PROCESS, URL; OPTIONAL
          Value => 'MyNonEmptyString',
        },
        ...
      ],    # OPTIONAL
      UserDefinedFields => { 'MyNonEmptyString' => 'MyNonEmptyString', }
      ,     # OPTIONAL
      VerificationState => 'UNKNOWN'
      , # values: UNKNOWN, TRUE_POSITIVE, FALSE_POSITIVE, BENIGN_POSITIVE; OPTIONAL
      WorkflowState => 'NEW'
      ,   # values: NEW, ASSIGNED, IN_PROGRESS, DEFERRED, RESOLVED; OPTIONAL
    },
    ...
  ],

);

# Results:
my $FailedCount    = $BatchImportFindingsResponse->FailedCount;
my $FailedFindings = $BatchImportFindingsResponse->FailedFindings;
my $SuccessCount   = $BatchImportFindingsResponse->SuccessCount;

# Returns a L<Paws::SecurityHub::BatchImportFindingsResponse> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/securityhub/BatchImportFindings

ATTRIBUTES

REQUIRED Findings => ArrayRef[Paws::SecurityHub::AwsSecurityFinding]

A list of findings to import. To successfully import a finding, it must follow the AWS Security Finding Format (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html). Maximum of 100 findings per request.

SEE ALSO

This class forms part of Paws, documenting arguments for method BatchImportFindings in Paws::SecurityHub

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues