aws-sdk-securitylake 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -372,64 +372,39 @@ module Aws::SecurityLake
372
372
  # Lake source. Enables source types for member accounts in required
373
373
  # Amazon Web Services Regions, based on the parameters you specify. You
374
374
  # can choose any source type in any Region for either accounts that are
375
- # part of a trusted organization or standalone accounts. At least one of
376
- # the three dimensions is a mandatory input to this API. However, you
377
- # can supply any combination of the three dimensions to this API.
378
- #
379
- # By default, a dimension refers to the entire set. When you don't
380
- # provide a dimension, Security Lake assumes that the missing dimension
381
- # refers to the entire set. This is overridden when you supply any one
382
- # of the inputs. For instance, when you do not specify members, the API
383
- # enables all Security Lake member accounts for all sources. Similarly,
384
- # when you do not specify Regions, Security Lake is enabled for all the
385
- # Regions where Security Lake is available as a service.
375
+ # part of a trusted organization or standalone accounts. Once you add an
376
+ # Amazon Web Service as a source, Security Lake starts collecting logs
377
+ # and events from it,
386
378
  #
387
379
  # You can use this API only to enable natively supported Amazon Web
388
380
  # Services as a source. Use `CreateCustomLogSource` to enable data
389
381
  # collection from a custom source.
390
382
  #
391
- # @option params [Hash<String,Hash>] :enable_all_dimensions
392
- # Enables data collection from specific Amazon Web Services sources in
393
- # all specific accounts and specific Regions.
394
- #
395
- # @option params [Array<String>] :enable_single_dimension
396
- # Enables data collection from all Amazon Web Services sources in
397
- # specific accounts or Regions.
398
- #
399
- # @option params [Hash<String,Array>] :enable_two_dimensions
400
- # Enables data collection from specific Amazon Web Services sources in
401
- # specific accounts or Regions.
402
- #
403
- # @option params [required, Array<String>] :input_order
404
- # Specifies the input order to enable dimensions in Security Lake,
405
- # namely Region, source type, and member account.
383
+ # @option params [required, Array<Types::AwsLogSourceConfiguration>] :sources
384
+ # Specify the natively-supported Amazon Web Services service to add as a
385
+ # source in Security Lake.
406
386
  #
407
387
  # @return [Types::CreateAwsLogSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
408
388
  #
409
389
  # * {Types::CreateAwsLogSourceResponse#failed #failed} => Array&lt;String&gt;
410
- # * {Types::CreateAwsLogSourceResponse#processing #processing} => Array&lt;String&gt;
411
390
  #
412
391
  # @example Request syntax with placeholder values
413
392
  #
414
393
  # resp = client.create_aws_log_source({
415
- # enable_all_dimensions: {
416
- # "String" => {
417
- # "String" => ["String"],
394
+ # sources: [ # required
395
+ # {
396
+ # accounts: ["AwsAccountId"],
397
+ # regions: ["Region"], # required
398
+ # source_name: "ROUTE53", # required, accepts ROUTE53, VPC_FLOW, SH_FINDINGS, CLOUD_TRAIL_MGMT, LAMBDA_EXECUTION, S3_DATA
399
+ # source_version: "AwsLogSourceVersion",
418
400
  # },
419
- # },
420
- # enable_single_dimension: ["SafeString"],
421
- # enable_two_dimensions: {
422
- # "String" => ["String"],
423
- # },
424
- # input_order: ["REGION"], # required, accepts REGION, SOURCE_TYPE, MEMBER
401
+ # ],
425
402
  # })
426
403
  #
427
404
  # @example Response structure
428
405
  #
429
406
  # resp.failed #=> Array
430
407
  # resp.failed[0] #=> String
431
- # resp.processing #=> Array
432
- # resp.processing[0] #=> String
433
408
  #
434
409
  # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateAwsLogSource AWS API Documentation
435
410
  #
@@ -447,54 +422,113 @@ module Aws::SecurityLake
447
422
  # crawler, use this API to add a custom source name in Security Lake.
448
423
  # This operation creates a partition in the Amazon S3 bucket for
449
424
  # Security Lake as the target location for log files from the custom
450
- # source in addition to an associated Glue table and an Glue crawler.
425
+ # source. In addition, this operation also creates an associated Glue
426
+ # table and an Glue crawler.
451
427
  #
452
- # @option params [required, String] :custom_source_name
453
- # The name for a third-party custom source. This must be a Regionally
454
- # unique value.
428
+ # @option params [Types::CustomLogSourceConfiguration] :configuration
429
+ # The configuration for the third-party custom source.
455
430
  #
456
- # @option params [required, String] :event_class
457
- # The Open Cybersecurity Schema Framework (OCSF) event class which
431
+ # @option params [Array<String>] :event_classes
432
+ # The Open Cybersecurity Schema Framework (OCSF) event classes which
458
433
  # describes the type of data that the custom source will send to
459
- # Security Lake.
434
+ # Security Lake. The supported event classes are:
435
+ #
436
+ # * `ACCESS_ACTIVITY`
437
+ #
438
+ # * `FILE_ACTIVITY`
439
+ #
440
+ # * `KERNEL_ACTIVITY`
441
+ #
442
+ # * `KERNEL_EXTENSION`
443
+ #
444
+ # * `MEMORY_ACTIVITY`
445
+ #
446
+ # * `MODULE_ACTIVITY`
447
+ #
448
+ # * `PROCESS_ACTIVITY`
449
+ #
450
+ # * `REGISTRY_KEY_ACTIVITY`
451
+ #
452
+ # * `REGISTRY_VALUE_ACTIVITY`
453
+ #
454
+ # * `RESOURCE_ACTIVITY`
455
+ #
456
+ # * `SCHEDULED_JOB_ACTIVITY`
457
+ #
458
+ # * `SECURITY_FINDING`
460
459
  #
461
- # @option params [required, String] :glue_invocation_role_arn
462
- # The Amazon Resource Name (ARN) of the Identity and Access Management
463
- # (IAM) role to be used by the Glue crawler. The recommended IAM
464
- # policies are:
460
+ # * `ACCOUNT_CHANGE`
465
461
  #
466
- # * The managed policy `AWSGlueServiceRole`
462
+ # * `AUTHENTICATION`
467
463
  #
468
- # * A custom policy granting access to your Amazon S3 Data Lake
464
+ # * `AUTHORIZATION`
469
465
  #
470
- # @option params [required, String] :log_provider_account_id
471
- # The Amazon Web Services account ID of the custom source that will
472
- # write logs and events into the Amazon S3 Data Lake.
466
+ # * `ENTITY_MANAGEMENT_AUDIT`
467
+ #
468
+ # * `DHCP_ACTIVITY`
469
+ #
470
+ # * `NETWORK_ACTIVITY`
471
+ #
472
+ # * `DNS_ACTIVITY`
473
+ #
474
+ # * `FTP_ACTIVITY`
475
+ #
476
+ # * `HTTP_ACTIVITY`
477
+ #
478
+ # * `RDP_ACTIVITY`
479
+ #
480
+ # * `SMB_ACTIVITY`
481
+ #
482
+ # * `SSH_ACTIVITY`
483
+ #
484
+ # * `CONFIG_STATE`
485
+ #
486
+ # * `INVENTORY_INFO`
487
+ #
488
+ # * `EMAIL_ACTIVITY`
489
+ #
490
+ # * `API_ACTIVITY`
491
+ #
492
+ # * `CLOUD_API`
493
+ #
494
+ # @option params [required, String] :source_name
495
+ # Specify the name for a third-party custom source. This must be a
496
+ # Regionally unique value.
497
+ #
498
+ # @option params [String] :source_version
499
+ # Specify the source version for the third-party custom source, to limit
500
+ # log collection to a specific version of custom data source.
473
501
  #
474
502
  # @return [Types::CreateCustomLogSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
475
503
  #
476
- # * {Types::CreateCustomLogSourceResponse#custom_data_location #custom_data_location} => String
477
- # * {Types::CreateCustomLogSourceResponse#glue_crawler_name #glue_crawler_name} => String
478
- # * {Types::CreateCustomLogSourceResponse#glue_database_name #glue_database_name} => String
479
- # * {Types::CreateCustomLogSourceResponse#glue_table_name #glue_table_name} => String
480
- # * {Types::CreateCustomLogSourceResponse#log_provider_access_role_arn #log_provider_access_role_arn} => String
504
+ # * {Types::CreateCustomLogSourceResponse#source #source} => Types::CustomLogSourceResource
481
505
  #
482
506
  # @example Request syntax with placeholder values
483
507
  #
484
508
  # resp = client.create_custom_log_source({
485
- # custom_source_name: "CustomSourceType", # required
486
- # event_class: "ACCESS_ACTIVITY", # required, accepts ACCESS_ACTIVITY, FILE_ACTIVITY, KERNEL_ACTIVITY, KERNEL_EXTENSION, MEMORY_ACTIVITY, MODULE_ACTIVITY, PROCESS_ACTIVITY, REGISTRY_KEY_ACTIVITY, REGISTRY_VALUE_ACTIVITY, RESOURCE_ACTIVITY, SCHEDULED_JOB_ACTIVITY, SECURITY_FINDING, ACCOUNT_CHANGE, AUTHENTICATION, AUTHORIZATION, ENTITY_MANAGEMENT_AUDIT, DHCP_ACTIVITY, NETWORK_ACTIVITY, DNS_ACTIVITY, FTP_ACTIVITY, HTTP_ACTIVITY, RDP_ACTIVITY, SMB_ACTIVITY, SSH_ACTIVITY, CLOUD_API, CONTAINER_LIFECYCLE, DATABASE_LIFECYCLE, CONFIG_STATE, CLOUD_STORAGE, INVENTORY_INFO, RFB_ACTIVITY, SMTP_ACTIVITY, VIRTUAL_MACHINE_ACTIVITY
487
- # glue_invocation_role_arn: "RoleArn", # required
488
- # log_provider_account_id: "AwsAccountId", # required
509
+ # configuration: {
510
+ # crawler_configuration: { # required
511
+ # role_arn: "RoleArn", # required
512
+ # },
513
+ # provider_identity: { # required
514
+ # external_id: "ExternalId", # required
515
+ # principal: "AwsPrincipal", # required
516
+ # },
517
+ # },
518
+ # event_classes: ["OcsfEventClass"],
519
+ # source_name: "CustomLogSourceName", # required
520
+ # source_version: "CustomLogSourceVersion",
489
521
  # })
490
522
  #
491
523
  # @example Response structure
492
524
  #
493
- # resp.custom_data_location #=> String
494
- # resp.glue_crawler_name #=> String
495
- # resp.glue_database_name #=> String
496
- # resp.glue_table_name #=> String
497
- # resp.log_provider_access_role_arn #=> String
525
+ # resp.source.attributes.crawler_arn #=> String
526
+ # resp.source.attributes.database_arn #=> String
527
+ # resp.source.attributes.table_arn #=> String
528
+ # resp.source.provider.location #=> String
529
+ # resp.source.provider.role_arn #=> String
530
+ # resp.source.source_name #=> String
531
+ # resp.source.source_version #=> String
498
532
  #
499
533
  # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateCustomLogSource AWS API Documentation
500
534
  #
@@ -508,15 +542,14 @@ module Aws::SecurityLake
508
542
  # Initializes an Amazon Security Lake instance with the provided (or
509
543
  # default) configuration. You can enable Security Lake in Amazon Web
510
544
  # Services Regions with customized settings before enabling log
511
- # collection in Regions. You can either use the `enableAll` parameter to
512
- # specify all Regions or specify the Regions where you want to enable
513
- # Security Lake. To specify particular Regions, use the `Regions`
514
- # parameter and then configure these Regions using the `configurations`
515
- # parameter. If you have already enabled Security Lake in a Region when
516
- # you call this command, the command will update the Region if you
517
- # provide new configuration parameters. If you have not already enabled
518
- # Security Lake in the Region when you call this API, it will set up the
519
- # data lake in the Region with the specified configurations.
545
+ # collection in Regions. By default, the `CreateDataLake` Security Lake
546
+ # in all Regions. To specify particular Regions, configure these Regions
547
+ # using the `configurations` parameter. If you have already enabled
548
+ # Security Lake in a Region when you call this command, the command will
549
+ # update the Region if you provide new configuration parameters. If you
550
+ # have not already enabled Security Lake in the Region when you call
551
+ # this API, it will set up the data lake in the Region with the
552
+ # specified configurations.
520
553
  #
521
554
  # When you enable Security Lake, it starts ingesting security data after
522
555
  # the `CreateAwsLogSource` call. This includes ingesting security data
@@ -530,145 +563,141 @@ module Aws::SecurityLake
530
563
  #
531
564
  # [1]: https://docs.aws.amazon.com/security-lake/latest/userguide/what-is-security-lake.html
532
565
  #
533
- # @option params [Hash<String,Types::LakeConfigurationRequest>] :configurations
566
+ # @option params [required, Array<Types::DataLakeConfiguration>] :configurations
534
567
  # Specify the Region or Regions that will contribute data to the rollup
535
568
  # region.
536
569
  #
537
- # @option params [Boolean] :enable_all
538
- # Enable Security Lake in all Regions.
539
- #
540
- # @option params [String] :meta_store_manager_role_arn
570
+ # @option params [required, String] :meta_store_manager_role_arn
541
571
  # The Amazon Resource Name (ARN) used to create and update the Glue
542
572
  # table. This table contains partitions generated by the ingestion and
543
573
  # normalization of Amazon Web Services log sources and custom sources.
544
574
  #
545
- # @option params [Array<String>] :regions
546
- # Enable Security Lake in the specified Regions. To enable Security Lake
547
- # in specific Amazon Web Services Regions, such as us-east-1 or
548
- # ap-northeast-3, provide the Region codes. For a list of Region codes,
549
- # see [Amazon Security Lake endpoints][1] in the Amazon Web Services
550
- # General Reference.
551
- #
552
- #
575
+ # @return [Types::CreateDataLakeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
553
576
  #
554
- # [1]: https://docs.aws.amazon.com/general/latest/gr/securitylake.html
555
- #
556
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
577
+ # * {Types::CreateDataLakeResponse#data_lakes #data_lakes} => Array&lt;Types::DataLakeResource&gt;
557
578
  #
558
579
  # @example Request syntax with placeholder values
559
580
  #
560
- # resp = client.create_datalake({
561
- # configurations: {
562
- # "us-east-1" => {
563
- # encryption_key: "String",
564
- # replication_destination_regions: ["us-east-1"], # accepts us-east-1, us-west-2, eu-central-1, us-east-2, eu-west-1, ap-northeast-1, ap-southeast-2
565
- # replication_role_arn: "RoleArn",
566
- # retention_settings: [
567
- # {
568
- # retention_period: 1,
569
- # storage_class: "STANDARD_IA", # accepts STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, GLACIER, DEEP_ARCHIVE, EXPIRE
581
+ # resp = client.create_data_lake({
582
+ # configurations: [ # required
583
+ # {
584
+ # encryption_configuration: {
585
+ # kms_key_id: "String",
586
+ # },
587
+ # lifecycle_configuration: {
588
+ # expiration: {
589
+ # days: 1,
570
590
  # },
571
- # ],
572
- # tags_map: {
573
- # "String" => "String",
591
+ # transitions: [
592
+ # {
593
+ # days: 1,
594
+ # storage_class: "DataLakeStorageClass",
595
+ # },
596
+ # ],
597
+ # },
598
+ # region: "Region", # required
599
+ # replication_configuration: {
600
+ # regions: ["Region"],
601
+ # role_arn: "RoleArn",
574
602
  # },
575
603
  # },
576
- # },
577
- # enable_all: false,
578
- # meta_store_manager_role_arn: "RoleArn",
579
- # regions: ["us-east-1"], # accepts us-east-1, us-west-2, eu-central-1, us-east-2, eu-west-1, ap-northeast-1, ap-southeast-2
604
+ # ],
605
+ # meta_store_manager_role_arn: "RoleArn", # required
580
606
  # })
581
607
  #
582
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateDatalake AWS API Documentation
608
+ # @example Response structure
583
609
  #
584
- # @overload create_datalake(params = {})
610
+ # resp.data_lakes #=> Array
611
+ # resp.data_lakes[0].create_status #=> String, one of "INITIALIZED", "PENDING", "COMPLETED", "FAILED"
612
+ # resp.data_lakes[0].data_lake_arn #=> String
613
+ # resp.data_lakes[0].encryption_configuration.kms_key_id #=> String
614
+ # resp.data_lakes[0].lifecycle_configuration.expiration.days #=> Integer
615
+ # resp.data_lakes[0].lifecycle_configuration.transitions #=> Array
616
+ # resp.data_lakes[0].lifecycle_configuration.transitions[0].days #=> Integer
617
+ # resp.data_lakes[0].lifecycle_configuration.transitions[0].storage_class #=> String
618
+ # resp.data_lakes[0].region #=> String
619
+ # resp.data_lakes[0].replication_configuration.regions #=> Array
620
+ # resp.data_lakes[0].replication_configuration.regions[0] #=> String
621
+ # resp.data_lakes[0].replication_configuration.role_arn #=> String
622
+ # resp.data_lakes[0].s3_bucket_arn #=> String
623
+ # resp.data_lakes[0].update_status.exception.code #=> String
624
+ # resp.data_lakes[0].update_status.exception.reason #=> String
625
+ # resp.data_lakes[0].update_status.request_id #=> String
626
+ # resp.data_lakes[0].update_status.status #=> String, one of "INITIALIZED", "PENDING", "COMPLETED", "FAILED"
627
+ #
628
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateDataLake AWS API Documentation
629
+ #
630
+ # @overload create_data_lake(params = {})
585
631
  # @param [Hash] params ({})
586
- def create_datalake(params = {}, options = {})
587
- req = build_request(:create_datalake, params)
632
+ def create_data_lake(params = {}, options = {})
633
+ req = build_request(:create_data_lake, params)
588
634
  req.send_request(options)
589
635
  end
590
636
 
591
- # Automatically enables Amazon Security Lake for new member accounts in
592
- # your organization. Security Lake is not automatically enabled for any
593
- # existing member accounts in your organization.
594
- #
595
- # @option params [required, Array<Types::AutoEnableNewRegionConfiguration>] :configuration_for_new_accounts
596
- # Enable Security Lake with the specified configuration settings to
597
- # begin collecting security data for new accounts in your organization.
598
- #
599
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
600
- #
601
- # @example Request syntax with placeholder values
602
- #
603
- # resp = client.create_datalake_auto_enable({
604
- # configuration_for_new_accounts: [ # required
605
- # {
606
- # region: "us-east-1", # required, accepts us-east-1, us-west-2, eu-central-1, us-east-2, eu-west-1, ap-northeast-1, ap-southeast-2
607
- # sources: ["ROUTE53"], # required, accepts ROUTE53, VPC_FLOW, CLOUD_TRAIL, SH_FINDINGS
608
- # },
609
- # ],
610
- # })
637
+ # Creates the specified notification subscription in Amazon Security
638
+ # Lake for the organization you specify.
611
639
  #
612
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateDatalakeAutoEnable AWS API Documentation
640
+ # @option params [Integer] :exception_time_to_live
641
+ # The expiration period and time-to-live (TTL).
613
642
  #
614
- # @overload create_datalake_auto_enable(params = {})
615
- # @param [Hash] params ({})
616
- def create_datalake_auto_enable(params = {}, options = {})
617
- req = build_request(:create_datalake_auto_enable, params)
618
- req.send_request(options)
619
- end
620
-
621
- # Designates the Amazon Security Lake delegated administrator account
622
- # for the organization. This API can only be called by the organization
623
- # management account. The organization management account cannot be the
624
- # delegated administrator account.
643
+ # @option params [required, String] :notification_endpoint
644
+ # The Amazon Web Services account where you want to receive exception
645
+ # notifications.
625
646
  #
626
- # @option params [required, String] :account
627
- # The Amazon Web Services account ID of the Security Lake delegated
628
- # administrator.
647
+ # @option params [required, String] :subscription_protocol
648
+ # The subscription protocol to which exception notifications are posted.
629
649
  #
630
650
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
631
651
  #
632
652
  # @example Request syntax with placeholder values
633
653
  #
634
- # resp = client.create_datalake_delegated_admin({
635
- # account: "SafeString", # required
654
+ # resp = client.create_data_lake_exception_subscription({
655
+ # exception_time_to_live: 1,
656
+ # notification_endpoint: "SafeString", # required
657
+ # subscription_protocol: "SubscriptionProtocol", # required
636
658
  # })
637
659
  #
638
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateDatalakeDelegatedAdmin AWS API Documentation
660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateDataLakeExceptionSubscription AWS API Documentation
639
661
  #
640
- # @overload create_datalake_delegated_admin(params = {})
662
+ # @overload create_data_lake_exception_subscription(params = {})
641
663
  # @param [Hash] params ({})
642
- def create_datalake_delegated_admin(params = {}, options = {})
643
- req = build_request(:create_datalake_delegated_admin, params)
664
+ def create_data_lake_exception_subscription(params = {}, options = {})
665
+ req = build_request(:create_data_lake_exception_subscription, params)
644
666
  req.send_request(options)
645
667
  end
646
668
 
647
- # Creates the specified notification subscription in Amazon Security
648
- # Lake for the organization you specify.
649
- #
650
- # @option params [required, String] :notification_endpoint
651
- # The Amazon Web Services account where you want to receive exception
652
- # notifications.
669
+ # Automatically enables Amazon Security Lake for new member accounts in
670
+ # your organization. Security Lake is not automatically enabled for any
671
+ # existing member accounts in your organization.
653
672
  #
654
- # @option params [required, String] :subscription_protocol
655
- # The subscription protocol to which exception notifications are posted.
673
+ # @option params [required, Array<Types::DataLakeAutoEnableNewAccountConfiguration>] :auto_enable_new_account
674
+ # Enable Security Lake with the specified configuration settings, to
675
+ # begin collecting security data for new accounts in your organization.
656
676
  #
657
677
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
658
678
  #
659
679
  # @example Request syntax with placeholder values
660
680
  #
661
- # resp = client.create_datalake_exceptions_subscription({
662
- # notification_endpoint: "SafeString", # required
663
- # subscription_protocol: "HTTP", # required, accepts HTTP, HTTPS, EMAIL, EMAIL_JSON, SMS, SQS, LAMBDA, APP, FIREHOSE
681
+ # resp = client.create_data_lake_organization_configuration({
682
+ # auto_enable_new_account: [ # required
683
+ # {
684
+ # region: "Region", # required
685
+ # sources: [ # required
686
+ # {
687
+ # source_name: "ROUTE53", # accepts ROUTE53, VPC_FLOW, SH_FINDINGS, CLOUD_TRAIL_MGMT, LAMBDA_EXECUTION, S3_DATA
688
+ # source_version: "AwsLogSourceVersion",
689
+ # },
690
+ # ],
691
+ # },
692
+ # ],
664
693
  # })
665
694
  #
666
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateDatalakeExceptionsSubscription AWS API Documentation
695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateDataLakeOrganizationConfiguration AWS API Documentation
667
696
  #
668
- # @overload create_datalake_exceptions_subscription(params = {})
697
+ # @overload create_data_lake_organization_configuration(params = {})
669
698
  # @param [Hash] params ({})
670
- def create_datalake_exceptions_subscription(params = {}, options = {})
671
- req = build_request(:create_datalake_exceptions_subscription, params)
699
+ def create_data_lake_organization_configuration(params = {}, options = {})
700
+ req = build_request(:create_data_lake_organization_configuration, params)
672
701
  req.send_request(options)
673
702
  end
674
703
 
@@ -679,16 +708,7 @@ module Aws::SecurityLake
679
708
  # @option params [Array<String>] :access_types
680
709
  # The Amazon S3 or Lake Formation access type.
681
710
  #
682
- # @option params [required, String] :account_id
683
- # The Amazon Web Services account ID used to access your data.
684
- #
685
- # @option params [required, String] :external_id
686
- # The external ID of the subscriber. This lets the user that is assuming
687
- # the role assert the circumstances in which they are operating. It also
688
- # provides a way for the account owner to permit the role to be assumed
689
- # only under specific circumstances.
690
- #
691
- # @option params [required, Array<Types::SourceType>] :source_types
711
+ # @option params [required, Array<Types::LogSourceResource>] :sources
692
712
  # The supported Amazon Web Services from which logs and events are
693
713
  # collected. Security Lake supports log and event collection for
694
714
  # natively supported Amazon Web Services.
@@ -696,42 +716,77 @@ module Aws::SecurityLake
696
716
  # @option params [String] :subscriber_description
697
717
  # The description for your subscriber account in Security Lake.
698
718
  #
719
+ # @option params [required, Types::AwsIdentity] :subscriber_identity
720
+ # The AWS identity used to access your data.
721
+ #
699
722
  # @option params [required, String] :subscriber_name
700
723
  # The name of your Security Lake subscriber account.
701
724
  #
702
725
  # @return [Types::CreateSubscriberResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
703
726
  #
704
- # * {Types::CreateSubscriberResponse#resource_share_arn #resource_share_arn} => String
705
- # * {Types::CreateSubscriberResponse#resource_share_name #resource_share_name} => String
706
- # * {Types::CreateSubscriberResponse#role_arn #role_arn} => String
707
- # * {Types::CreateSubscriberResponse#s3_bucket_arn #s3_bucket_arn} => String
708
- # * {Types::CreateSubscriberResponse#sns_arn #sns_arn} => String
709
- # * {Types::CreateSubscriberResponse#subscription_id #subscription_id} => String
727
+ # * {Types::CreateSubscriberResponse#subscriber #subscriber} => Types::SubscriberResource
710
728
  #
711
729
  # @example Request syntax with placeholder values
712
730
  #
713
731
  # resp = client.create_subscriber({
714
732
  # access_types: ["LAKEFORMATION"], # accepts LAKEFORMATION, S3
715
- # account_id: "AwsAccountId", # required
716
- # external_id: "SafeString", # required
717
- # source_types: [ # required
733
+ # sources: [ # required
718
734
  # {
719
- # aws_source_type: "ROUTE53", # accepts ROUTE53, VPC_FLOW, CLOUD_TRAIL, SH_FINDINGS
720
- # custom_source_type: "CustomSourceType",
735
+ # aws_log_source: {
736
+ # source_name: "ROUTE53", # accepts ROUTE53, VPC_FLOW, SH_FINDINGS, CLOUD_TRAIL_MGMT, LAMBDA_EXECUTION, S3_DATA
737
+ # source_version: "AwsLogSourceVersion",
738
+ # },
739
+ # custom_log_source: {
740
+ # attributes: {
741
+ # crawler_arn: "AmazonResourceName",
742
+ # database_arn: "AmazonResourceName",
743
+ # table_arn: "AmazonResourceName",
744
+ # },
745
+ # provider: {
746
+ # location: "S3URI",
747
+ # role_arn: "RoleArn",
748
+ # },
749
+ # source_name: "CustomLogSourceName",
750
+ # source_version: "CustomLogSourceVersion",
751
+ # },
721
752
  # },
722
753
  # ],
723
754
  # subscriber_description: "DescriptionString",
755
+ # subscriber_identity: { # required
756
+ # external_id: "ExternalId", # required
757
+ # principal: "AwsPrincipal", # required
758
+ # },
724
759
  # subscriber_name: "CreateSubscriberRequestSubscriberNameString", # required
725
760
  # })
726
761
  #
727
762
  # @example Response structure
728
763
  #
729
- # resp.resource_share_arn #=> String
730
- # resp.resource_share_name #=> String
731
- # resp.role_arn #=> String
732
- # resp.s3_bucket_arn #=> String
733
- # resp.sns_arn #=> String
734
- # resp.subscription_id #=> String
764
+ # resp.subscriber.access_types #=> Array
765
+ # resp.subscriber.access_types[0] #=> String, one of "LAKEFORMATION", "S3"
766
+ # resp.subscriber.created_at #=> Time
767
+ # resp.subscriber.resource_share_arn #=> String
768
+ # resp.subscriber.resource_share_name #=> String
769
+ # resp.subscriber.role_arn #=> String
770
+ # resp.subscriber.s3_bucket_arn #=> String
771
+ # resp.subscriber.sources #=> Array
772
+ # resp.subscriber.sources[0].aws_log_source.source_name #=> String, one of "ROUTE53", "VPC_FLOW", "SH_FINDINGS", "CLOUD_TRAIL_MGMT", "LAMBDA_EXECUTION", "S3_DATA"
773
+ # resp.subscriber.sources[0].aws_log_source.source_version #=> String
774
+ # resp.subscriber.sources[0].custom_log_source.attributes.crawler_arn #=> String
775
+ # resp.subscriber.sources[0].custom_log_source.attributes.database_arn #=> String
776
+ # resp.subscriber.sources[0].custom_log_source.attributes.table_arn #=> String
777
+ # resp.subscriber.sources[0].custom_log_source.provider.location #=> String
778
+ # resp.subscriber.sources[0].custom_log_source.provider.role_arn #=> String
779
+ # resp.subscriber.sources[0].custom_log_source.source_name #=> String
780
+ # resp.subscriber.sources[0].custom_log_source.source_version #=> String
781
+ # resp.subscriber.subscriber_arn #=> String
782
+ # resp.subscriber.subscriber_description #=> String
783
+ # resp.subscriber.subscriber_endpoint #=> String
784
+ # resp.subscriber.subscriber_id #=> String
785
+ # resp.subscriber.subscriber_identity.external_id #=> String
786
+ # resp.subscriber.subscriber_identity.principal #=> String
787
+ # resp.subscriber.subscriber_name #=> String
788
+ # resp.subscriber.subscriber_status #=> String, one of "ACTIVE", "DEACTIVATED", "PENDING", "READY"
789
+ # resp.subscriber.updated_at #=> Time
735
790
  #
736
791
  # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateSubscriber AWS API Documentation
737
792
  #
@@ -746,133 +801,84 @@ module Aws::SecurityLake
746
801
  # the sources that the subscriber consumes in Security Lake. You can
747
802
  # create only one subscriber notification per subscriber.
748
803
  #
749
- # @option params [Boolean] :create_sqs
750
- # Create an Amazon Simple Queue Service queue.
751
- #
752
- # @option params [String] :https_api_key_name
753
- # The key name for the notification subscription.
754
- #
755
- # @option params [String] :https_api_key_value
756
- # The key value for the notification subscription.
757
- #
758
- # @option params [String] :https_method
759
- # The HTTPS method used for the notification subscription.
804
+ # @option params [required, Types::NotificationConfiguration] :configuration
805
+ # Specify the configuration using which you want to create the
806
+ # subscriber notification.
760
807
  #
761
- # @option params [String] :role_arn
762
- # The Amazon Resource Name (ARN) of the EventBridge API destinations IAM
763
- # role that you created. For more information about ARNs and how to use
764
- # them in policies, see [Managing data access][1] and [Amazon Web
765
- # Services Managed Policies][2] in the Amazon Security Lake User Guide.
808
+ # @option params [required, String] :subscriber_id
809
+ # The subscriber ID for the notification subscription.
766
810
  #
811
+ # @return [Types::CreateSubscriberNotificationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
767
812
  #
768
- #
769
- # [1]: https://docs.aws.amazon.com//security-lake/latest/userguide/subscriber-data-access.html
770
- # [2]: https://docs.aws.amazon.com/security-lake/latest/userguide/security-iam-awsmanpol.html
771
- #
772
- # @option params [String] :subscription_endpoint
773
- # The subscription endpoint in Security Lake. If you prefer notification
774
- # with an HTTPs endpoint, populate this field.
775
- #
776
- # @option params [required, String] :subscription_id
777
- # The subscription ID for the notification subscription.
778
- #
779
- # @return [Types::CreateSubscriptionNotificationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
780
- #
781
- # * {Types::CreateSubscriptionNotificationConfigurationResponse#queue_arn #queue_arn} => String
813
+ # * {Types::CreateSubscriberNotificationResponse#subscriber_endpoint #subscriber_endpoint} => String
782
814
  #
783
815
  # @example Request syntax with placeholder values
784
816
  #
785
- # resp = client.create_subscription_notification_configuration({
786
- # create_sqs: false,
787
- # https_api_key_name: "String",
788
- # https_api_key_value: "String",
789
- # https_method: "POST", # accepts POST, PUT
790
- # role_arn: "RoleArn",
791
- # subscription_endpoint: "CreateSubscriptionNotificationConfigurationRequestSubscriptionEndpointString",
792
- # subscription_id: "UUID", # required
817
+ # resp = client.create_subscriber_notification({
818
+ # configuration: { # required
819
+ # https_notification_configuration: {
820
+ # authorization_api_key_name: "String",
821
+ # authorization_api_key_value: "String",
822
+ # endpoint: "HttpsNotificationConfigurationEndpointString", # required
823
+ # http_method: "POST", # accepts POST, PUT
824
+ # target_role_arn: "RoleArn", # required
825
+ # },
826
+ # sqs_notification_configuration: {
827
+ # },
828
+ # },
829
+ # subscriber_id: "UUID", # required
793
830
  # })
794
831
  #
795
832
  # @example Response structure
796
833
  #
797
- # resp.queue_arn #=> String
834
+ # resp.subscriber_endpoint #=> String
798
835
  #
799
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateSubscriptionNotificationConfiguration AWS API Documentation
836
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/CreateSubscriberNotification AWS API Documentation
800
837
  #
801
- # @overload create_subscription_notification_configuration(params = {})
838
+ # @overload create_subscriber_notification(params = {})
802
839
  # @param [Hash] params ({})
803
- def create_subscription_notification_configuration(params = {}, options = {})
804
- req = build_request(:create_subscription_notification_configuration, params)
840
+ def create_subscriber_notification(params = {}, options = {})
841
+ req = build_request(:create_subscriber_notification, params)
805
842
  req.send_request(options)
806
843
  end
807
844
 
808
845
  # Removes a natively supported Amazon Web Service as an Amazon Security
809
- # Lake source. When you remove the source, Security Lake stops
810
- # collecting data from that source, and subscribers can no longer
811
- # consume new data from the source. Subscribers can still consume data
812
- # that Security Lake collected from the source before disablement.
846
+ # Lake source. You can remove a source for one or more Regions. When you
847
+ # remove the source, Security Lake stops collecting data from that
848
+ # source in the specified Regions and accounts, and subscribers can no
849
+ # longer consume new data from the source. However, subscribers can
850
+ # still consume data that Security Lake collected from the source before
851
+ # removal.
813
852
  #
814
853
  # You can choose any source type in any Amazon Web Services Region for
815
854
  # either accounts that are part of a trusted organization or standalone
816
- # accounts. At least one of the three dimensions is a mandatory input to
817
- # this API. However, you can supply any combination of the three
818
- # dimensions to this API.
819
- #
820
- # By default, a dimension refers to the entire set. This is overridden
821
- # when you supply any one of the inputs. For instance, when you do not
822
- # specify members, the API disables all Security Lake member accounts
823
- # for sources. Similarly, when you do not specify Regions, Security Lake
824
- # is disabled for all the Regions where Security Lake is available as a
825
- # service.
826
- #
827
- # When you don't provide a dimension, Security Lake assumes that the
828
- # missing dimension refers to the entire set. For example, if you don't
829
- # provide specific accounts, the API applies to the entire set of
830
- # accounts in your organization.
831
- #
832
- # @option params [Hash<String,Hash>] :disable_all_dimensions
833
- # Removes the specific Amazon Web Services sources from specific
834
- # accounts and specific Regions.
835
- #
836
- # @option params [Array<String>] :disable_single_dimension
837
- # Removes all Amazon Web Services sources from specific accounts or
838
- # Regions.
839
- #
840
- # @option params [Hash<String,Array>] :disable_two_dimensions
841
- # Remove a specific Amazon Web Services source from specific accounts or
842
- # Regions.
843
- #
844
- # @option params [required, Array<String>] :input_order
845
- # This is a mandatory input. Specify the input order to disable
846
- # dimensions in Security Lake, namely Region (Amazon Web Services Region
847
- # code, source type, and member (account ID of a specific Amazon Web
848
- # Services account).
855
+ # accounts.
856
+ #
857
+ # @option params [required, Array<Types::AwsLogSourceConfiguration>] :sources
858
+ # Specify the natively-supported Amazon Web Services service to remove
859
+ # as a source in Security Lake.
849
860
  #
850
861
  # @return [Types::DeleteAwsLogSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
851
862
  #
852
863
  # * {Types::DeleteAwsLogSourceResponse#failed #failed} => Array&lt;String&gt;
853
- # * {Types::DeleteAwsLogSourceResponse#processing #processing} => Array&lt;String&gt;
854
864
  #
855
865
  # @example Request syntax with placeholder values
856
866
  #
857
867
  # resp = client.delete_aws_log_source({
858
- # disable_all_dimensions: {
859
- # "String" => {
860
- # "String" => ["String"],
868
+ # sources: [ # required
869
+ # {
870
+ # accounts: ["AwsAccountId"],
871
+ # regions: ["Region"], # required
872
+ # source_name: "ROUTE53", # required, accepts ROUTE53, VPC_FLOW, SH_FINDINGS, CLOUD_TRAIL_MGMT, LAMBDA_EXECUTION, S3_DATA
873
+ # source_version: "AwsLogSourceVersion",
861
874
  # },
862
- # },
863
- # disable_single_dimension: ["SafeString"],
864
- # disable_two_dimensions: {
865
- # "String" => ["String"],
866
- # },
867
- # input_order: ["REGION"], # required, accepts REGION, SOURCE_TYPE, MEMBER
875
+ # ],
868
876
  # })
869
877
  #
870
878
  # @example Response structure
871
879
  #
872
880
  # resp.failed #=> Array
873
881
  # resp.failed[0] #=> String
874
- # resp.processing #=> Array
875
- # resp.processing[0] #=> String
876
882
  #
877
883
  # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteAwsLogSource AWS API Documentation
878
884
  #
@@ -883,25 +889,25 @@ module Aws::SecurityLake
883
889
  req.send_request(options)
884
890
  end
885
891
 
886
- # Removes a custom log source from Amazon Security Lake.
892
+ # Removes a custom log source from Amazon Security Lake, to stop sending
893
+ # data from the custom source to Security Lake.
887
894
  #
888
- # @option params [required, String] :custom_source_name
889
- # The custom source name for the custom log source.
895
+ # @option params [required, String] :source_name
896
+ # The source name of custom log source that you want to delete.
890
897
  #
891
- # @return [Types::DeleteCustomLogSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
898
+ # @option params [String] :source_version
899
+ # The source version for the third-party custom source. You can limit
900
+ # the custom source removal to the specified source version.
892
901
  #
893
- # * {Types::DeleteCustomLogSourceResponse#custom_data_location #custom_data_location} => String
902
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
894
903
  #
895
904
  # @example Request syntax with placeholder values
896
905
  #
897
906
  # resp = client.delete_custom_log_source({
898
- # custom_source_name: "String", # required
907
+ # source_name: "CustomLogSourceName", # required
908
+ # source_version: "CustomLogSourceVersion",
899
909
  # })
900
910
  #
901
- # @example Response structure
902
- #
903
- # resp.custom_data_location #=> String
904
- #
905
911
  # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteCustomLogSource AWS API Documentation
906
912
  #
907
913
  # @overload delete_custom_log_source(params = {})
@@ -911,117 +917,103 @@ module Aws::SecurityLake
911
917
  req.send_request(options)
912
918
  end
913
919
 
914
- # When you delete Amazon Security Lake from your account, Security Lake
915
- # is disabled in all Amazon Web Services Regions. Also, this API
916
- # automatically takes steps to remove the account from Security Lake .
920
+ # When you disable Amazon Security Lake from your account, Security Lake
921
+ # is disabled in all Amazon Web Services Regions and it stops collecting
922
+ # data from your sources. Also, this API automatically takes steps to
923
+ # remove the account from Security Lake. However, Security Lake retains
924
+ # all of your existing settings and the resources that it created in
925
+ # your Amazon Web Services account in the current Amazon Web Services
926
+ # Region.
917
927
  #
918
- # This operation disables security data collection from sources, deletes
919
- # data stored, and stops making data accessible to subscribers. Security
920
- # Lake also deletes all the existing settings and resources that it
921
- # stores or maintains for your Amazon Web Services account in the
922
- # current Region, including security log and event data. The
923
- # `DeleteDatalake` operation does not delete the Amazon S3 bucket, which
924
- # is owned by your Amazon Web Services account. For more information,
925
- # see the [Amazon Security Lake User Guide][1].
928
+ # The `DeleteDataLake` operation does not delete the data that is stored
929
+ # in your Amazon S3 bucket, which is owned by your Amazon Web Services
930
+ # account. For more information, see the [Amazon Security Lake User
931
+ # Guide][1].
926
932
  #
927
933
  #
928
934
  #
929
935
  # [1]: https://docs.aws.amazon.com/security-lake/latest/userguide/disable-security-lake.html
930
936
  #
931
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
932
- #
933
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteDatalake AWS API Documentation
934
- #
935
- # @overload delete_datalake(params = {})
936
- # @param [Hash] params ({})
937
- def delete_datalake(params = {}, options = {})
938
- req = build_request(:delete_datalake, params)
939
- req.send_request(options)
940
- end
941
-
942
- # `DeleteDatalakeAutoEnable` removes automatic enablement of
943
- # configuration settings for new member accounts (but keeps settings for
944
- # the delegated administrator) from Amazon Security Lake. You must run
945
- # this API using credentials of the delegated administrator. When you
946
- # run this API, new member accounts that are added after the
947
- # organization enables Security Lake won't contribute to the data lake.
948
- #
949
- # @option params [required, Array<Types::AutoEnableNewRegionConfiguration>] :remove_from_configuration_for_new_accounts
950
- # Remove automatic enablement of configuration settings for new member
951
- # accounts in Security Lake.
937
+ # @option params [required, Array<String>] :regions
938
+ # The list of Regions where Security Lake is enabled.
952
939
  #
953
940
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
954
941
  #
955
942
  # @example Request syntax with placeholder values
956
943
  #
957
- # resp = client.delete_datalake_auto_enable({
958
- # remove_from_configuration_for_new_accounts: [ # required
959
- # {
960
- # region: "us-east-1", # required, accepts us-east-1, us-west-2, eu-central-1, us-east-2, eu-west-1, ap-northeast-1, ap-southeast-2
961
- # sources: ["ROUTE53"], # required, accepts ROUTE53, VPC_FLOW, CLOUD_TRAIL, SH_FINDINGS
962
- # },
963
- # ],
944
+ # resp = client.delete_data_lake({
945
+ # regions: ["Region"], # required
964
946
  # })
965
947
  #
966
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteDatalakeAutoEnable AWS API Documentation
948
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteDataLake AWS API Documentation
967
949
  #
968
- # @overload delete_datalake_auto_enable(params = {})
950
+ # @overload delete_data_lake(params = {})
969
951
  # @param [Hash] params ({})
970
- def delete_datalake_auto_enable(params = {}, options = {})
971
- req = build_request(:delete_datalake_auto_enable, params)
952
+ def delete_data_lake(params = {}, options = {})
953
+ req = build_request(:delete_data_lake, params)
972
954
  req.send_request(options)
973
955
  end
974
956
 
975
- # Deletes the Amazon Security Lake delegated administrator account for
976
- # the organization. This API can only be called by the organization
977
- # management account. The organization management account cannot be the
978
- # delegated administrator account.
979
- #
980
- # @option params [required, String] :account
981
- # The account ID the Security Lake delegated administrator.
957
+ # Deletes the specified notification subscription in Amazon Security
958
+ # Lake for the organization you specify.
982
959
  #
983
960
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
984
961
  #
985
- # @example Request syntax with placeholder values
986
- #
987
- # resp = client.delete_datalake_delegated_admin({
988
- # account: "SafeString", # required
989
- # })
962
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteDataLakeExceptionSubscription AWS API Documentation
990
963
  #
991
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteDatalakeDelegatedAdmin AWS API Documentation
992
- #
993
- # @overload delete_datalake_delegated_admin(params = {})
964
+ # @overload delete_data_lake_exception_subscription(params = {})
994
965
  # @param [Hash] params ({})
995
- def delete_datalake_delegated_admin(params = {}, options = {})
996
- req = build_request(:delete_datalake_delegated_admin, params)
966
+ def delete_data_lake_exception_subscription(params = {}, options = {})
967
+ req = build_request(:delete_data_lake_exception_subscription, params)
997
968
  req.send_request(options)
998
969
  end
999
970
 
1000
- # Deletes the specified notification subscription in Amazon Security
1001
- # Lake for the organization you specify.
971
+ # Removes automatic the enablement of configuration settings for new
972
+ # member accounts (but retains the settings for the delegated
973
+ # administrator) from Amazon Security Lake. You must run this API using
974
+ # the credentials of the delegated administrator. When you run this API,
975
+ # new member accounts that are added after the organization enables
976
+ # Security Lake won't contribute to the data lake.
1002
977
  #
1003
- # @return [Types::DeleteDatalakeExceptionsSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
978
+ # @option params [required, Array<Types::DataLakeAutoEnableNewAccountConfiguration>] :auto_enable_new_account
979
+ # Removes the automatic enablement of configuration settings for new
980
+ # member accounts in Security Lake.
1004
981
  #
1005
- # * {Types::DeleteDatalakeExceptionsSubscriptionResponse#status #status} => String
982
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1006
983
  #
1007
- # @example Response structure
984
+ # @example Request syntax with placeholder values
1008
985
  #
1009
- # resp.status #=> String
986
+ # resp = client.delete_data_lake_organization_configuration({
987
+ # auto_enable_new_account: [ # required
988
+ # {
989
+ # region: "Region", # required
990
+ # sources: [ # required
991
+ # {
992
+ # source_name: "ROUTE53", # accepts ROUTE53, VPC_FLOW, SH_FINDINGS, CLOUD_TRAIL_MGMT, LAMBDA_EXECUTION, S3_DATA
993
+ # source_version: "AwsLogSourceVersion",
994
+ # },
995
+ # ],
996
+ # },
997
+ # ],
998
+ # })
1010
999
  #
1011
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteDatalakeExceptionsSubscription AWS API Documentation
1000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteDataLakeOrganizationConfiguration AWS API Documentation
1012
1001
  #
1013
- # @overload delete_datalake_exceptions_subscription(params = {})
1002
+ # @overload delete_data_lake_organization_configuration(params = {})
1014
1003
  # @param [Hash] params ({})
1015
- def delete_datalake_exceptions_subscription(params = {}, options = {})
1016
- req = build_request(:delete_datalake_exceptions_subscription, params)
1004
+ def delete_data_lake_organization_configuration(params = {}, options = {})
1005
+ req = build_request(:delete_data_lake_organization_configuration, params)
1017
1006
  req.send_request(options)
1018
1007
  end
1019
1008
 
1020
- # Deletes the subscription permission for accounts that are already
1021
- # enabled in Amazon Security Lake. You can delete a subscriber and
1022
- # remove access to data in the current Amazon Web Services Region.
1023
- #
1024
- # @option params [required, String] :id
1009
+ # Deletes the subscription permission and all notification settings for
1010
+ # accounts that are already enabled in Amazon Security Lake. When you
1011
+ # run `DeleteSubscriber`, the subscriber will no longer consume data
1012
+ # from Security Lake and the subscriber is removed. This operation
1013
+ # deletes the subscriber and removes access to data in the current
1014
+ # Amazon Web Services Region.
1015
+ #
1016
+ # @option params [required, String] :subscriber_id
1025
1017
  # A value created by Security Lake that uniquely identifies your
1026
1018
  # `DeleteSubscriber` API request.
1027
1019
  #
@@ -1030,7 +1022,7 @@ module Aws::SecurityLake
1030
1022
  # @example Request syntax with placeholder values
1031
1023
  #
1032
1024
  # resp = client.delete_subscriber({
1033
- # id: "String", # required
1025
+ # subscriber_id: "UUID", # required
1034
1026
  # })
1035
1027
  #
1036
1028
  # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteSubscriber AWS API Documentation
@@ -1045,128 +1037,89 @@ module Aws::SecurityLake
1045
1037
  # Deletes the specified notification subscription in Amazon Security
1046
1038
  # Lake for the organization you specify.
1047
1039
  #
1048
- # @option params [required, String] :subscription_id
1040
+ # @option params [required, String] :subscriber_id
1049
1041
  # The ID of the Security Lake subscriber account.
1050
1042
  #
1051
1043
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1052
1044
  #
1053
1045
  # @example Request syntax with placeholder values
1054
1046
  #
1055
- # resp = client.delete_subscription_notification_configuration({
1056
- # subscription_id: "UUID", # required
1047
+ # resp = client.delete_subscriber_notification({
1048
+ # subscriber_id: "UUID", # required
1057
1049
  # })
1058
1050
  #
1059
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteSubscriptionNotificationConfiguration AWS API Documentation
1051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeleteSubscriberNotification AWS API Documentation
1060
1052
  #
1061
- # @overload delete_subscription_notification_configuration(params = {})
1053
+ # @overload delete_subscriber_notification(params = {})
1062
1054
  # @param [Hash] params ({})
1063
- def delete_subscription_notification_configuration(params = {}, options = {})
1064
- req = build_request(:delete_subscription_notification_configuration, params)
1055
+ def delete_subscriber_notification(params = {}, options = {})
1056
+ req = build_request(:delete_subscriber_notification, params)
1065
1057
  req.send_request(options)
1066
1058
  end
1067
1059
 
1068
- # Retrieves the Amazon Security Lake configuration object for the
1069
- # specified Amazon Web Services account ID. You can use the
1070
- # `GetDatalake` API to know whether Security Lake is enabled for the
1071
- # current Region. This API does not take input parameters.
1072
- #
1073
- # @return [Types::GetDatalakeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1074
- #
1075
- # * {Types::GetDatalakeResponse#configurations #configurations} => Hash&lt;String,Types::LakeConfigurationResponse&gt;
1076
- #
1077
- # @example Response structure
1078
- #
1079
- # resp.configurations #=> Hash
1080
- # resp.configurations["Region"].encryption_key #=> String
1081
- # resp.configurations["Region"].replication_destination_regions #=> Array
1082
- # resp.configurations["Region"].replication_destination_regions[0] #=> String, one of "us-east-1", "us-west-2", "eu-central-1", "us-east-2", "eu-west-1", "ap-northeast-1", "ap-southeast-2"
1083
- # resp.configurations["Region"].replication_role_arn #=> String
1084
- # resp.configurations["Region"].retention_settings #=> Array
1085
- # resp.configurations["Region"].retention_settings[0].retention_period #=> Integer
1086
- # resp.configurations["Region"].retention_settings[0].storage_class #=> String, one of "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER_IR", "GLACIER", "DEEP_ARCHIVE", "EXPIRE"
1087
- # resp.configurations["Region"].s3_bucket_arn #=> String
1088
- # resp.configurations["Region"].status #=> String, one of "INITIALIZED", "PENDING", "COMPLETED", "FAILED"
1089
- # resp.configurations["Region"].tags_map #=> Hash
1090
- # resp.configurations["Region"].tags_map["String"] #=> String
1091
- # resp.configurations["Region"].update_status.last_update_failure.code #=> String
1092
- # resp.configurations["Region"].update_status.last_update_failure.reason #=> String
1093
- # resp.configurations["Region"].update_status.last_update_request_id #=> String
1094
- # resp.configurations["Region"].update_status.last_update_status #=> String, one of "INITIALIZED", "PENDING", "COMPLETED", "FAILED"
1095
- #
1096
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/GetDatalake AWS API Documentation
1097
- #
1098
- # @overload get_datalake(params = {})
1099
- # @param [Hash] params ({})
1100
- def get_datalake(params = {}, options = {})
1101
- req = build_request(:get_datalake, params)
1102
- req.send_request(options)
1103
- end
1104
-
1105
- # Retrieves the configuration that will be automatically set up for
1106
- # accounts added to the organization after the organization has
1107
- # onboarded to Amazon Security Lake. This API does not take input
1108
- # parameters.
1109
- #
1110
- # @return [Types::GetDatalakeAutoEnableResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1111
- #
1112
- # * {Types::GetDatalakeAutoEnableResponse#auto_enable_new_accounts #auto_enable_new_accounts} => Array&lt;Types::AutoEnableNewRegionConfiguration&gt;
1113
- #
1114
- # @example Response structure
1060
+ # Deletes the Amazon Security Lake delegated administrator account for
1061
+ # the organization. This API can only be called by the organization
1062
+ # management account. The organization management account cannot be the
1063
+ # delegated administrator account.
1115
1064
  #
1116
- # resp.auto_enable_new_accounts #=> Array
1117
- # resp.auto_enable_new_accounts[0].region #=> String, one of "us-east-1", "us-west-2", "eu-central-1", "us-east-2", "eu-west-1", "ap-northeast-1", "ap-southeast-2"
1118
- # resp.auto_enable_new_accounts[0].sources #=> Array
1119
- # resp.auto_enable_new_accounts[0].sources[0] #=> String, one of "ROUTE53", "VPC_FLOW", "CLOUD_TRAIL", "SH_FINDINGS"
1065
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1120
1066
  #
1121
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/GetDatalakeAutoEnable AWS API Documentation
1067
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/DeregisterDataLakeDelegatedAdministrator AWS API Documentation
1122
1068
  #
1123
- # @overload get_datalake_auto_enable(params = {})
1069
+ # @overload deregister_data_lake_delegated_administrator(params = {})
1124
1070
  # @param [Hash] params ({})
1125
- def get_datalake_auto_enable(params = {}, options = {})
1126
- req = build_request(:get_datalake_auto_enable, params)
1071
+ def deregister_data_lake_delegated_administrator(params = {}, options = {})
1072
+ req = build_request(:deregister_data_lake_delegated_administrator, params)
1127
1073
  req.send_request(options)
1128
1074
  end
1129
1075
 
1130
- # Retrieves the expiration period and time-to-live (TTL) for which the
1131
- # exception message will remain. Exceptions are stored by default, for 2
1132
- # weeks from when a record was created in Amazon Security Lake. This API
1133
- # does not take input parameters.
1076
+ # Retrieves the details of exception notifications for the account in
1077
+ # Amazon Security Lake.
1134
1078
  #
1135
- # @return [Types::GetDatalakeExceptionsExpiryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1079
+ # @return [Types::GetDataLakeExceptionSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1136
1080
  #
1137
- # * {Types::GetDatalakeExceptionsExpiryResponse#exception_message_expiry #exception_message_expiry} => Integer
1081
+ # * {Types::GetDataLakeExceptionSubscriptionResponse#exception_time_to_live #exception_time_to_live} => Integer
1082
+ # * {Types::GetDataLakeExceptionSubscriptionResponse#notification_endpoint #notification_endpoint} => String
1083
+ # * {Types::GetDataLakeExceptionSubscriptionResponse#subscription_protocol #subscription_protocol} => String
1138
1084
  #
1139
1085
  # @example Response structure
1140
1086
  #
1141
- # resp.exception_message_expiry #=> Integer
1087
+ # resp.exception_time_to_live #=> Integer
1088
+ # resp.notification_endpoint #=> String
1089
+ # resp.subscription_protocol #=> String
1142
1090
  #
1143
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/GetDatalakeExceptionsExpiry AWS API Documentation
1091
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/GetDataLakeExceptionSubscription AWS API Documentation
1144
1092
  #
1145
- # @overload get_datalake_exceptions_expiry(params = {})
1093
+ # @overload get_data_lake_exception_subscription(params = {})
1146
1094
  # @param [Hash] params ({})
1147
- def get_datalake_exceptions_expiry(params = {}, options = {})
1148
- req = build_request(:get_datalake_exceptions_expiry, params)
1095
+ def get_data_lake_exception_subscription(params = {}, options = {})
1096
+ req = build_request(:get_data_lake_exception_subscription, params)
1149
1097
  req.send_request(options)
1150
1098
  end
1151
1099
 
1152
- # Retrieves the details of exception notifications for the account in
1153
- # Amazon Security Lake.
1100
+ # Retrieves the configuration that will be automatically set up for
1101
+ # accounts added to the organization after the organization has
1102
+ # onboarded to Amazon Security Lake. This API does not take input
1103
+ # parameters.
1154
1104
  #
1155
- # @return [Types::GetDatalakeExceptionsSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1105
+ # @return [Types::GetDataLakeOrganizationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1156
1106
  #
1157
- # * {Types::GetDatalakeExceptionsSubscriptionResponse#protocol_and_notification_endpoint #protocol_and_notification_endpoint} => Types::ProtocolAndNotificationEndpoint
1107
+ # * {Types::GetDataLakeOrganizationConfigurationResponse#auto_enable_new_account #auto_enable_new_account} => Array&lt;Types::DataLakeAutoEnableNewAccountConfiguration&gt;
1158
1108
  #
1159
1109
  # @example Response structure
1160
1110
  #
1161
- # resp.protocol_and_notification_endpoint.endpoint #=> String
1162
- # resp.protocol_and_notification_endpoint.protocol #=> String
1111
+ # resp.auto_enable_new_account #=> Array
1112
+ # resp.auto_enable_new_account[0].region #=> String
1113
+ # resp.auto_enable_new_account[0].sources #=> Array
1114
+ # resp.auto_enable_new_account[0].sources[0].source_name #=> String, one of "ROUTE53", "VPC_FLOW", "SH_FINDINGS", "CLOUD_TRAIL_MGMT", "LAMBDA_EXECUTION", "S3_DATA"
1115
+ # resp.auto_enable_new_account[0].sources[0].source_version #=> String
1163
1116
  #
1164
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/GetDatalakeExceptionsSubscription AWS API Documentation
1117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/GetDataLakeOrganizationConfiguration AWS API Documentation
1165
1118
  #
1166
- # @overload get_datalake_exceptions_subscription(params = {})
1119
+ # @overload get_data_lake_organization_configuration(params = {})
1167
1120
  # @param [Hash] params ({})
1168
- def get_datalake_exceptions_subscription(params = {}, options = {})
1169
- req = build_request(:get_datalake_exceptions_subscription, params)
1121
+ def get_data_lake_organization_configuration(params = {}, options = {})
1122
+ req = build_request(:get_data_lake_organization_configuration, params)
1170
1123
  req.send_request(options)
1171
1124
  end
1172
1125
 
@@ -1174,12 +1127,12 @@ module Aws::SecurityLake
1174
1127
  # Security Lake is enabled for those accounts and which sources Security
1175
1128
  # Lake is collecting data from.
1176
1129
  #
1177
- # @option params [Array<String>] :account_set
1130
+ # @option params [Array<String>] :accounts
1178
1131
  # The Amazon Web Services account ID for which a static snapshot of the
1179
1132
  # current Amazon Web Services Region, including enabled accounts and log
1180
1133
  # sources, is retrieved.
1181
1134
  #
1182
- # @option params [Integer] :max_account_results
1135
+ # @option params [Integer] :max_results
1183
1136
  # The maximum limit of accounts for which the static snapshot of the
1184
1137
  # current Region, including enabled accounts and log sources, is
1185
1138
  # retrieved.
@@ -1193,45 +1146,48 @@ module Aws::SecurityLake
1193
1146
  # Each pagination token expires after 24 hours. Using an expired
1194
1147
  # pagination token will return an HTTP 400 InvalidToken error.
1195
1148
  #
1196
- # @return [Types::GetDatalakeStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1149
+ # @return [Types::GetDataLakeSourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1197
1150
  #
1198
- # * {Types::GetDatalakeStatusResponse#account_sources_list #account_sources_list} => Array&lt;Types::AccountSources&gt;
1199
- # * {Types::GetDatalakeStatusResponse#next_token #next_token} => String
1151
+ # * {Types::GetDataLakeSourcesResponse#data_lake_arn #data_lake_arn} => String
1152
+ # * {Types::GetDataLakeSourcesResponse#data_lake_sources #data_lake_sources} => Array&lt;Types::DataLakeSource&gt;
1153
+ # * {Types::GetDataLakeSourcesResponse#next_token #next_token} => String
1200
1154
  #
1201
1155
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1202
1156
  #
1203
1157
  # @example Request syntax with placeholder values
1204
1158
  #
1205
- # resp = client.get_datalake_status({
1206
- # account_set: ["SafeString"],
1207
- # max_account_results: 1,
1208
- # next_token: "SafeString",
1159
+ # resp = client.get_data_lake_sources({
1160
+ # accounts: ["AwsAccountId"],
1161
+ # max_results: 1,
1162
+ # next_token: "NextToken",
1209
1163
  # })
1210
1164
  #
1211
1165
  # @example Response structure
1212
1166
  #
1213
- # resp.account_sources_list #=> Array
1214
- # resp.account_sources_list[0].account #=> String
1215
- # resp.account_sources_list[0].event_class #=> String, one of "ACCESS_ACTIVITY", "FILE_ACTIVITY", "KERNEL_ACTIVITY", "KERNEL_EXTENSION", "MEMORY_ACTIVITY", "MODULE_ACTIVITY", "PROCESS_ACTIVITY", "REGISTRY_KEY_ACTIVITY", "REGISTRY_VALUE_ACTIVITY", "RESOURCE_ACTIVITY", "SCHEDULED_JOB_ACTIVITY", "SECURITY_FINDING", "ACCOUNT_CHANGE", "AUTHENTICATION", "AUTHORIZATION", "ENTITY_MANAGEMENT_AUDIT", "DHCP_ACTIVITY", "NETWORK_ACTIVITY", "DNS_ACTIVITY", "FTP_ACTIVITY", "HTTP_ACTIVITY", "RDP_ACTIVITY", "SMB_ACTIVITY", "SSH_ACTIVITY", "CLOUD_API", "CONTAINER_LIFECYCLE", "DATABASE_LIFECYCLE", "CONFIG_STATE", "CLOUD_STORAGE", "INVENTORY_INFO", "RFB_ACTIVITY", "SMTP_ACTIVITY", "VIRTUAL_MACHINE_ACTIVITY"
1216
- # resp.account_sources_list[0].logs_status #=> Array
1217
- # resp.account_sources_list[0].logs_status[0].health_status #=> String, one of "ACTIVE", "DEACTIVATED", "PENDING"
1218
- # resp.account_sources_list[0].logs_status[0].path_to_logs #=> String
1219
- # resp.account_sources_list[0].source_type #=> String
1167
+ # resp.data_lake_arn #=> String
1168
+ # resp.data_lake_sources #=> Array
1169
+ # resp.data_lake_sources[0].account #=> String
1170
+ # resp.data_lake_sources[0].event_classes #=> Array
1171
+ # resp.data_lake_sources[0].event_classes[0] #=> String
1172
+ # resp.data_lake_sources[0].source_name #=> String
1173
+ # resp.data_lake_sources[0].source_statuses #=> Array
1174
+ # resp.data_lake_sources[0].source_statuses[0].resource #=> String
1175
+ # resp.data_lake_sources[0].source_statuses[0].status #=> String, one of "COLLECTING", "MISCONFIGURED", "NOT_COLLECTING"
1220
1176
  # resp.next_token #=> String
1221
1177
  #
1222
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/GetDatalakeStatus AWS API Documentation
1178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/GetDataLakeSources AWS API Documentation
1223
1179
  #
1224
- # @overload get_datalake_status(params = {})
1180
+ # @overload get_data_lake_sources(params = {})
1225
1181
  # @param [Hash] params ({})
1226
- def get_datalake_status(params = {}, options = {})
1227
- req = build_request(:get_datalake_status, params)
1182
+ def get_data_lake_sources(params = {}, options = {})
1183
+ req = build_request(:get_data_lake_sources, params)
1228
1184
  req.send_request(options)
1229
1185
  end
1230
1186
 
1231
1187
  # Retrieves the subscription information for the specified subscription
1232
1188
  # ID. You can get information about a specific subscriber.
1233
1189
  #
1234
- # @option params [required, String] :id
1190
+ # @option params [required, String] :subscriber_id
1235
1191
  # A value created by Amazon Security Lake that uniquely identifies your
1236
1192
  # `GetSubscriber` API request.
1237
1193
  #
@@ -1242,30 +1198,36 @@ module Aws::SecurityLake
1242
1198
  # @example Request syntax with placeholder values
1243
1199
  #
1244
1200
  # resp = client.get_subscriber({
1245
- # id: "String", # required
1201
+ # subscriber_id: "UUID", # required
1246
1202
  # })
1247
1203
  #
1248
1204
  # @example Response structure
1249
1205
  #
1250
1206
  # resp.subscriber.access_types #=> Array
1251
1207
  # resp.subscriber.access_types[0] #=> String, one of "LAKEFORMATION", "S3"
1252
- # resp.subscriber.account_id #=> String
1253
1208
  # resp.subscriber.created_at #=> Time
1254
- # resp.subscriber.external_id #=> String
1255
1209
  # resp.subscriber.resource_share_arn #=> String
1256
1210
  # resp.subscriber.resource_share_name #=> String
1257
1211
  # resp.subscriber.role_arn #=> String
1258
1212
  # resp.subscriber.s3_bucket_arn #=> String
1259
- # resp.subscriber.sns_arn #=> String
1260
- # resp.subscriber.source_types #=> Array
1261
- # resp.subscriber.source_types[0].aws_source_type #=> String, one of "ROUTE53", "VPC_FLOW", "CLOUD_TRAIL", "SH_FINDINGS"
1262
- # resp.subscriber.source_types[0].custom_source_type #=> String
1213
+ # resp.subscriber.sources #=> Array
1214
+ # resp.subscriber.sources[0].aws_log_source.source_name #=> String, one of "ROUTE53", "VPC_FLOW", "SH_FINDINGS", "CLOUD_TRAIL_MGMT", "LAMBDA_EXECUTION", "S3_DATA"
1215
+ # resp.subscriber.sources[0].aws_log_source.source_version #=> String
1216
+ # resp.subscriber.sources[0].custom_log_source.attributes.crawler_arn #=> String
1217
+ # resp.subscriber.sources[0].custom_log_source.attributes.database_arn #=> String
1218
+ # resp.subscriber.sources[0].custom_log_source.attributes.table_arn #=> String
1219
+ # resp.subscriber.sources[0].custom_log_source.provider.location #=> String
1220
+ # resp.subscriber.sources[0].custom_log_source.provider.role_arn #=> String
1221
+ # resp.subscriber.sources[0].custom_log_source.source_name #=> String
1222
+ # resp.subscriber.sources[0].custom_log_source.source_version #=> String
1223
+ # resp.subscriber.subscriber_arn #=> String
1263
1224
  # resp.subscriber.subscriber_description #=> String
1225
+ # resp.subscriber.subscriber_endpoint #=> String
1226
+ # resp.subscriber.subscriber_id #=> String
1227
+ # resp.subscriber.subscriber_identity.external_id #=> String
1228
+ # resp.subscriber.subscriber_identity.principal #=> String
1264
1229
  # resp.subscriber.subscriber_name #=> String
1265
- # resp.subscriber.subscription_endpoint #=> String
1266
- # resp.subscriber.subscription_id #=> String
1267
- # resp.subscriber.subscription_protocol #=> String, one of "HTTPS", "SQS"
1268
- # resp.subscriber.subscription_status #=> String, one of "ACTIVE", "DEACTIVATED", "PENDING", "READY"
1230
+ # resp.subscriber.subscriber_status #=> String, one of "ACTIVE", "DEACTIVATED", "PENDING", "READY"
1269
1231
  # resp.subscriber.updated_at #=> Time
1270
1232
  #
1271
1233
  # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/GetSubscriber AWS API Documentation
@@ -1280,7 +1242,7 @@ module Aws::SecurityLake
1280
1242
  # Lists the Amazon Security Lake exceptions that you can use to find the
1281
1243
  # source of problems and fix them.
1282
1244
  #
1283
- # @option params [Integer] :max_failures
1245
+ # @option params [Integer] :max_results
1284
1246
  # List the maximum number of failures in Security Lake.
1285
1247
  #
1286
1248
  # @option params [String] :next_token
@@ -1292,64 +1254,95 @@ module Aws::SecurityLake
1292
1254
  # Each pagination token expires after 24 hours. Using an expired
1293
1255
  # pagination token will return an HTTP 400 InvalidToken error.
1294
1256
  #
1295
- # @option params [Array<String>] :region_set
1257
+ # @option params [Array<String>] :regions
1296
1258
  # List the Amazon Web Services Regions from which exceptions are
1297
1259
  # retrieved.
1298
1260
  #
1299
- # @return [Types::ListDatalakeExceptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1261
+ # @return [Types::ListDataLakeExceptionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1300
1262
  #
1301
- # * {Types::ListDatalakeExceptionsResponse#next_token #next_token} => String
1302
- # * {Types::ListDatalakeExceptionsResponse#non_retryable_failures #non_retryable_failures} => Array&lt;Types::FailuresResponse&gt;
1263
+ # * {Types::ListDataLakeExceptionsResponse#exceptions #exceptions} => Array&lt;Types::DataLakeException&gt;
1264
+ # * {Types::ListDataLakeExceptionsResponse#next_token #next_token} => String
1303
1265
  #
1304
1266
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1305
1267
  #
1306
1268
  # @example Request syntax with placeholder values
1307
1269
  #
1308
- # resp = client.list_datalake_exceptions({
1309
- # max_failures: 1,
1310
- # next_token: "SafeString",
1311
- # region_set: ["us-east-1"], # accepts us-east-1, us-west-2, eu-central-1, us-east-2, eu-west-1, ap-northeast-1, ap-southeast-2
1270
+ # resp = client.list_data_lake_exceptions({
1271
+ # max_results: 1,
1272
+ # next_token: "NextToken",
1273
+ # regions: ["Region"],
1312
1274
  # })
1313
1275
  #
1314
1276
  # @example Response structure
1315
1277
  #
1278
+ # resp.exceptions #=> Array
1279
+ # resp.exceptions[0].exception #=> String
1280
+ # resp.exceptions[0].region #=> String
1281
+ # resp.exceptions[0].remediation #=> String
1282
+ # resp.exceptions[0].timestamp #=> Time
1316
1283
  # resp.next_token #=> String
1317
- # resp.non_retryable_failures #=> Array
1318
- # resp.non_retryable_failures[0].failures #=> Array
1319
- # resp.non_retryable_failures[0].failures[0].exception_message #=> String
1320
- # resp.non_retryable_failures[0].failures[0].remediation #=> String
1321
- # resp.non_retryable_failures[0].failures[0].timestamp #=> Time
1322
- # resp.non_retryable_failures[0].region #=> String
1323
1284
  #
1324
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/ListDatalakeExceptions AWS API Documentation
1285
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/ListDataLakeExceptions AWS API Documentation
1325
1286
  #
1326
- # @overload list_datalake_exceptions(params = {})
1287
+ # @overload list_data_lake_exceptions(params = {})
1327
1288
  # @param [Hash] params ({})
1328
- def list_datalake_exceptions(params = {}, options = {})
1329
- req = build_request(:list_datalake_exceptions, params)
1289
+ def list_data_lake_exceptions(params = {}, options = {})
1290
+ req = build_request(:list_data_lake_exceptions, params)
1330
1291
  req.send_request(options)
1331
1292
  end
1332
1293
 
1333
- # Retrieves the log sources in the current Amazon Web Services Region.
1294
+ # Retrieves the Amazon Security Lake configuration object for the
1295
+ # specified Amazon Web Services account ID. You can use the
1296
+ # `ListDataLakes` API to know whether Security Lake is enabled for any
1297
+ # region.
1334
1298
  #
1335
- # @option params [Array<String>] :input_order
1336
- # Lists the log sources in input order, namely Region, source type, and
1337
- # member account.
1299
+ # @option params [Array<String>] :regions
1300
+ # The list of regions where Security Lake is enabled.
1338
1301
  #
1339
- # @option params [Hash<String,Hash>] :list_all_dimensions
1340
- # List the view of log sources for enabled Amazon Security Lake accounts
1341
- # for specific Amazon Web Services sources from specific accounts and
1342
- # specific Regions.
1302
+ # @return [Types::ListDataLakesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1343
1303
  #
1344
- # @option params [Array<String>] :list_single_dimension
1345
- # List the view of log sources for enabled Security Lake accounts for
1346
- # all Amazon Web Services sources from specific accounts or specific
1347
- # Regions.
1304
+ # * {Types::ListDataLakesResponse#data_lakes #data_lakes} => Array&lt;Types::DataLakeResource&gt;
1305
+ #
1306
+ # @example Request syntax with placeholder values
1348
1307
  #
1349
- # @option params [Hash<String,Array>] :list_two_dimensions
1350
- # Lists the view of log sources for enabled Security Lake accounts for
1351
- # specific Amazon Web Services sources from specific accounts or
1352
- # specific Regions.
1308
+ # resp = client.list_data_lakes({
1309
+ # regions: ["Region"],
1310
+ # })
1311
+ #
1312
+ # @example Response structure
1313
+ #
1314
+ # resp.data_lakes #=> Array
1315
+ # resp.data_lakes[0].create_status #=> String, one of "INITIALIZED", "PENDING", "COMPLETED", "FAILED"
1316
+ # resp.data_lakes[0].data_lake_arn #=> String
1317
+ # resp.data_lakes[0].encryption_configuration.kms_key_id #=> String
1318
+ # resp.data_lakes[0].lifecycle_configuration.expiration.days #=> Integer
1319
+ # resp.data_lakes[0].lifecycle_configuration.transitions #=> Array
1320
+ # resp.data_lakes[0].lifecycle_configuration.transitions[0].days #=> Integer
1321
+ # resp.data_lakes[0].lifecycle_configuration.transitions[0].storage_class #=> String
1322
+ # resp.data_lakes[0].region #=> String
1323
+ # resp.data_lakes[0].replication_configuration.regions #=> Array
1324
+ # resp.data_lakes[0].replication_configuration.regions[0] #=> String
1325
+ # resp.data_lakes[0].replication_configuration.role_arn #=> String
1326
+ # resp.data_lakes[0].s3_bucket_arn #=> String
1327
+ # resp.data_lakes[0].update_status.exception.code #=> String
1328
+ # resp.data_lakes[0].update_status.exception.reason #=> String
1329
+ # resp.data_lakes[0].update_status.request_id #=> String
1330
+ # resp.data_lakes[0].update_status.status #=> String, one of "INITIALIZED", "PENDING", "COMPLETED", "FAILED"
1331
+ #
1332
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/ListDataLakes AWS API Documentation
1333
+ #
1334
+ # @overload list_data_lakes(params = {})
1335
+ # @param [Hash] params ({})
1336
+ def list_data_lakes(params = {}, options = {})
1337
+ req = build_request(:list_data_lakes, params)
1338
+ req.send_request(options)
1339
+ end
1340
+
1341
+ # Retrieves the log sources in the current Amazon Web Services Region.
1342
+ #
1343
+ # @option params [Array<String>] :accounts
1344
+ # The list of Amazon Web Services accounts for which log sources are
1345
+ # displayed.
1353
1346
  #
1354
1347
  # @option params [Integer] :max_results
1355
1348
  # The maximum number of accounts for which the log sources are
@@ -1359,38 +1352,65 @@ module Aws::SecurityLake
1359
1352
  # If nextToken is returned, there are more results available. You can
1360
1353
  # repeat the call using the returned token to retrieve the next page.
1361
1354
  #
1355
+ # @option params [Array<String>] :regions
1356
+ # The list of regions for which log sources are displayed.
1357
+ #
1358
+ # @option params [Array<Types::LogSourceResource>] :sources
1359
+ # The list of sources for which log sources are displayed.
1360
+ #
1362
1361
  # @return [Types::ListLogSourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1363
1362
  #
1364
1363
  # * {Types::ListLogSourcesResponse#next_token #next_token} => String
1365
- # * {Types::ListLogSourcesResponse#region_source_types_accounts_list #region_source_types_accounts_list} => Array&lt;Hash&lt;String,Hash&lt;String,Array&lt;String&gt;&gt;&gt;&gt;
1364
+ # * {Types::ListLogSourcesResponse#sources #sources} => Array&lt;Types::LogSource&gt;
1366
1365
  #
1367
1366
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1368
1367
  #
1369
1368
  # @example Request syntax with placeholder values
1370
1369
  #
1371
1370
  # resp = client.list_log_sources({
1372
- # input_order: ["REGION"], # accepts REGION, SOURCE_TYPE, MEMBER
1373
- # list_all_dimensions: {
1374
- # "String" => {
1375
- # "String" => ["String"],
1376
- # },
1377
- # },
1378
- # list_single_dimension: ["SafeString"],
1379
- # list_two_dimensions: {
1380
- # "String" => ["String"],
1381
- # },
1371
+ # accounts: ["AwsAccountId"],
1382
1372
  # max_results: 1,
1383
- # next_token: "SafeString",
1373
+ # next_token: "NextToken",
1374
+ # regions: ["Region"],
1375
+ # sources: [
1376
+ # {
1377
+ # aws_log_source: {
1378
+ # source_name: "ROUTE53", # accepts ROUTE53, VPC_FLOW, SH_FINDINGS, CLOUD_TRAIL_MGMT, LAMBDA_EXECUTION, S3_DATA
1379
+ # source_version: "AwsLogSourceVersion",
1380
+ # },
1381
+ # custom_log_source: {
1382
+ # attributes: {
1383
+ # crawler_arn: "AmazonResourceName",
1384
+ # database_arn: "AmazonResourceName",
1385
+ # table_arn: "AmazonResourceName",
1386
+ # },
1387
+ # provider: {
1388
+ # location: "S3URI",
1389
+ # role_arn: "RoleArn",
1390
+ # },
1391
+ # source_name: "CustomLogSourceName",
1392
+ # source_version: "CustomLogSourceVersion",
1393
+ # },
1394
+ # },
1395
+ # ],
1384
1396
  # })
1385
1397
  #
1386
1398
  # @example Response structure
1387
1399
  #
1388
1400
  # resp.next_token #=> String
1389
- # resp.region_source_types_accounts_list #=> Array
1390
- # resp.region_source_types_accounts_list[0] #=> Hash
1391
- # resp.region_source_types_accounts_list[0]["String"] #=> Hash
1392
- # resp.region_source_types_accounts_list[0]["String"]["String"] #=> Array
1393
- # resp.region_source_types_accounts_list[0]["String"]["String"][0] #=> String
1401
+ # resp.sources #=> Array
1402
+ # resp.sources[0].account #=> String
1403
+ # resp.sources[0].region #=> String
1404
+ # resp.sources[0].sources #=> Array
1405
+ # resp.sources[0].sources[0].aws_log_source.source_name #=> String, one of "ROUTE53", "VPC_FLOW", "SH_FINDINGS", "CLOUD_TRAIL_MGMT", "LAMBDA_EXECUTION", "S3_DATA"
1406
+ # resp.sources[0].sources[0].aws_log_source.source_version #=> String
1407
+ # resp.sources[0].sources[0].custom_log_source.attributes.crawler_arn #=> String
1408
+ # resp.sources[0].sources[0].custom_log_source.attributes.database_arn #=> String
1409
+ # resp.sources[0].sources[0].custom_log_source.attributes.table_arn #=> String
1410
+ # resp.sources[0].sources[0].custom_log_source.provider.location #=> String
1411
+ # resp.sources[0].sources[0].custom_log_source.provider.role_arn #=> String
1412
+ # resp.sources[0].sources[0].custom_log_source.source_name #=> String
1413
+ # resp.sources[0].sources[0].custom_log_source.source_version #=> String
1394
1414
  #
1395
1415
  # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/ListLogSources AWS API Documentation
1396
1416
  #
@@ -1424,7 +1444,7 @@ module Aws::SecurityLake
1424
1444
  #
1425
1445
  # resp = client.list_subscribers({
1426
1446
  # max_results: 1,
1427
- # next_token: "String",
1447
+ # next_token: "NextToken",
1428
1448
  # })
1429
1449
  #
1430
1450
  # @example Response structure
@@ -1433,23 +1453,29 @@ module Aws::SecurityLake
1433
1453
  # resp.subscribers #=> Array
1434
1454
  # resp.subscribers[0].access_types #=> Array
1435
1455
  # resp.subscribers[0].access_types[0] #=> String, one of "LAKEFORMATION", "S3"
1436
- # resp.subscribers[0].account_id #=> String
1437
1456
  # resp.subscribers[0].created_at #=> Time
1438
- # resp.subscribers[0].external_id #=> String
1439
1457
  # resp.subscribers[0].resource_share_arn #=> String
1440
1458
  # resp.subscribers[0].resource_share_name #=> String
1441
1459
  # resp.subscribers[0].role_arn #=> String
1442
1460
  # resp.subscribers[0].s3_bucket_arn #=> String
1443
- # resp.subscribers[0].sns_arn #=> String
1444
- # resp.subscribers[0].source_types #=> Array
1445
- # resp.subscribers[0].source_types[0].aws_source_type #=> String, one of "ROUTE53", "VPC_FLOW", "CLOUD_TRAIL", "SH_FINDINGS"
1446
- # resp.subscribers[0].source_types[0].custom_source_type #=> String
1461
+ # resp.subscribers[0].sources #=> Array
1462
+ # resp.subscribers[0].sources[0].aws_log_source.source_name #=> String, one of "ROUTE53", "VPC_FLOW", "SH_FINDINGS", "CLOUD_TRAIL_MGMT", "LAMBDA_EXECUTION", "S3_DATA"
1463
+ # resp.subscribers[0].sources[0].aws_log_source.source_version #=> String
1464
+ # resp.subscribers[0].sources[0].custom_log_source.attributes.crawler_arn #=> String
1465
+ # resp.subscribers[0].sources[0].custom_log_source.attributes.database_arn #=> String
1466
+ # resp.subscribers[0].sources[0].custom_log_source.attributes.table_arn #=> String
1467
+ # resp.subscribers[0].sources[0].custom_log_source.provider.location #=> String
1468
+ # resp.subscribers[0].sources[0].custom_log_source.provider.role_arn #=> String
1469
+ # resp.subscribers[0].sources[0].custom_log_source.source_name #=> String
1470
+ # resp.subscribers[0].sources[0].custom_log_source.source_version #=> String
1471
+ # resp.subscribers[0].subscriber_arn #=> String
1447
1472
  # resp.subscribers[0].subscriber_description #=> String
1473
+ # resp.subscribers[0].subscriber_endpoint #=> String
1474
+ # resp.subscribers[0].subscriber_id #=> String
1475
+ # resp.subscribers[0].subscriber_identity.external_id #=> String
1476
+ # resp.subscribers[0].subscriber_identity.principal #=> String
1448
1477
  # resp.subscribers[0].subscriber_name #=> String
1449
- # resp.subscribers[0].subscription_endpoint #=> String
1450
- # resp.subscribers[0].subscription_id #=> String
1451
- # resp.subscribers[0].subscription_protocol #=> String, one of "HTTPS", "SQS"
1452
- # resp.subscribers[0].subscription_status #=> String, one of "ACTIVE", "DEACTIVATED", "PENDING", "READY"
1478
+ # resp.subscribers[0].subscriber_status #=> String, one of "ACTIVE", "DEACTIVATED", "PENDING", "READY"
1453
1479
  # resp.subscribers[0].updated_at #=> Time
1454
1480
  #
1455
1481
  # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/ListSubscribers AWS API Documentation
@@ -1461,74 +1487,107 @@ module Aws::SecurityLake
1461
1487
  req.send_request(options)
1462
1488
  end
1463
1489
 
1464
- # Specifies where to store your security data and for how long. You can
1465
- # add a rollup Region to consolidate data from multiple Amazon Web
1466
- # Services Regions.
1490
+ # Designates the Amazon Security Lake delegated administrator account
1491
+ # for the organization. This API can only be called by the organization
1492
+ # management account. The organization management account cannot be the
1493
+ # delegated administrator account.
1467
1494
  #
1468
- # @option params [required, Hash<String,Types::LakeConfigurationRequest>] :configurations
1469
- # Specify the Region or Regions that will contribute data to the rollup
1470
- # region.
1495
+ # @option params [required, String] :account_id
1496
+ # The Amazon Web Services account ID of the Security Lake delegated
1497
+ # administrator.
1471
1498
  #
1472
1499
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1473
1500
  #
1474
1501
  # @example Request syntax with placeholder values
1475
1502
  #
1476
- # resp = client.update_datalake({
1477
- # configurations: { # required
1478
- # "us-east-1" => {
1479
- # encryption_key: "String",
1480
- # replication_destination_regions: ["us-east-1"], # accepts us-east-1, us-west-2, eu-central-1, us-east-2, eu-west-1, ap-northeast-1, ap-southeast-2
1481
- # replication_role_arn: "RoleArn",
1482
- # retention_settings: [
1483
- # {
1484
- # retention_period: 1,
1485
- # storage_class: "STANDARD_IA", # accepts STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, GLACIER, DEEP_ARCHIVE, EXPIRE
1486
- # },
1487
- # ],
1488
- # tags_map: {
1489
- # "String" => "String",
1490
- # },
1491
- # },
1492
- # },
1503
+ # resp = client.register_data_lake_delegated_administrator({
1504
+ # account_id: "SafeString", # required
1493
1505
  # })
1494
1506
  #
1495
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/UpdateDatalake AWS API Documentation
1507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/RegisterDataLakeDelegatedAdministrator AWS API Documentation
1496
1508
  #
1497
- # @overload update_datalake(params = {})
1509
+ # @overload register_data_lake_delegated_administrator(params = {})
1498
1510
  # @param [Hash] params ({})
1499
- def update_datalake(params = {}, options = {})
1500
- req = build_request(:update_datalake, params)
1511
+ def register_data_lake_delegated_administrator(params = {}, options = {})
1512
+ req = build_request(:register_data_lake_delegated_administrator, params)
1501
1513
  req.send_request(options)
1502
1514
  end
1503
1515
 
1504
- # Update the expiration period for the exception message to your
1505
- # preferred time, and control the time-to-live (TTL) for the exception
1506
- # message to remain. Exceptions are stored by default for 2 weeks from
1507
- # when a record was created in Amazon Security Lake.
1516
+ # Specifies where to store your security data and for how long. You can
1517
+ # add a rollup Region to consolidate data from multiple Amazon Web
1518
+ # Services Regions.
1508
1519
  #
1509
- # @option params [required, Integer] :exception_message_expiry
1510
- # The time-to-live (TTL) for the exception message to remain.
1520
+ # @option params [required, Array<Types::DataLakeConfiguration>] :configurations
1521
+ # Specify the Region or Regions that will contribute data to the rollup
1522
+ # region.
1511
1523
  #
1512
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1524
+ # @return [Types::UpdateDataLakeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1525
+ #
1526
+ # * {Types::UpdateDataLakeResponse#data_lakes #data_lakes} => Array&lt;Types::DataLakeResource&gt;
1513
1527
  #
1514
1528
  # @example Request syntax with placeholder values
1515
1529
  #
1516
- # resp = client.update_datalake_exceptions_expiry({
1517
- # exception_message_expiry: 1, # required
1530
+ # resp = client.update_data_lake({
1531
+ # configurations: [ # required
1532
+ # {
1533
+ # encryption_configuration: {
1534
+ # kms_key_id: "String",
1535
+ # },
1536
+ # lifecycle_configuration: {
1537
+ # expiration: {
1538
+ # days: 1,
1539
+ # },
1540
+ # transitions: [
1541
+ # {
1542
+ # days: 1,
1543
+ # storage_class: "DataLakeStorageClass",
1544
+ # },
1545
+ # ],
1546
+ # },
1547
+ # region: "Region", # required
1548
+ # replication_configuration: {
1549
+ # regions: ["Region"],
1550
+ # role_arn: "RoleArn",
1551
+ # },
1552
+ # },
1553
+ # ],
1518
1554
  # })
1519
1555
  #
1520
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/UpdateDatalakeExceptionsExpiry AWS API Documentation
1556
+ # @example Response structure
1521
1557
  #
1522
- # @overload update_datalake_exceptions_expiry(params = {})
1558
+ # resp.data_lakes #=> Array
1559
+ # resp.data_lakes[0].create_status #=> String, one of "INITIALIZED", "PENDING", "COMPLETED", "FAILED"
1560
+ # resp.data_lakes[0].data_lake_arn #=> String
1561
+ # resp.data_lakes[0].encryption_configuration.kms_key_id #=> String
1562
+ # resp.data_lakes[0].lifecycle_configuration.expiration.days #=> Integer
1563
+ # resp.data_lakes[0].lifecycle_configuration.transitions #=> Array
1564
+ # resp.data_lakes[0].lifecycle_configuration.transitions[0].days #=> Integer
1565
+ # resp.data_lakes[0].lifecycle_configuration.transitions[0].storage_class #=> String
1566
+ # resp.data_lakes[0].region #=> String
1567
+ # resp.data_lakes[0].replication_configuration.regions #=> Array
1568
+ # resp.data_lakes[0].replication_configuration.regions[0] #=> String
1569
+ # resp.data_lakes[0].replication_configuration.role_arn #=> String
1570
+ # resp.data_lakes[0].s3_bucket_arn #=> String
1571
+ # resp.data_lakes[0].update_status.exception.code #=> String
1572
+ # resp.data_lakes[0].update_status.exception.reason #=> String
1573
+ # resp.data_lakes[0].update_status.request_id #=> String
1574
+ # resp.data_lakes[0].update_status.status #=> String, one of "INITIALIZED", "PENDING", "COMPLETED", "FAILED"
1575
+ #
1576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/UpdateDataLake AWS API Documentation
1577
+ #
1578
+ # @overload update_data_lake(params = {})
1523
1579
  # @param [Hash] params ({})
1524
- def update_datalake_exceptions_expiry(params = {}, options = {})
1525
- req = build_request(:update_datalake_exceptions_expiry, params)
1580
+ def update_data_lake(params = {}, options = {})
1581
+ req = build_request(:update_data_lake, params)
1526
1582
  req.send_request(options)
1527
1583
  end
1528
1584
 
1529
1585
  # Updates the specified notification subscription in Amazon Security
1530
1586
  # Lake for the organization you specify.
1531
1587
  #
1588
+ # @option params [Integer] :exception_time_to_live
1589
+ # The time-to-live (TTL) for the exception message to remain.
1590
+ #
1532
1591
  # @option params [required, String] :notification_endpoint
1533
1592
  # The account that is subscribed to receive exception notifications.
1534
1593
  #
@@ -1539,17 +1598,18 @@ module Aws::SecurityLake
1539
1598
  #
1540
1599
  # @example Request syntax with placeholder values
1541
1600
  #
1542
- # resp = client.update_datalake_exceptions_subscription({
1601
+ # resp = client.update_data_lake_exception_subscription({
1602
+ # exception_time_to_live: 1,
1543
1603
  # notification_endpoint: "SafeString", # required
1544
- # subscription_protocol: "HTTP", # required, accepts HTTP, HTTPS, EMAIL, EMAIL_JSON, SMS, SQS, LAMBDA, APP, FIREHOSE
1604
+ # subscription_protocol: "SubscriptionProtocol", # required
1545
1605
  # })
1546
1606
  #
1547
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/UpdateDatalakeExceptionsSubscription AWS API Documentation
1607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/UpdateDataLakeExceptionSubscription AWS API Documentation
1548
1608
  #
1549
- # @overload update_datalake_exceptions_subscription(params = {})
1609
+ # @overload update_data_lake_exception_subscription(params = {})
1550
1610
  # @param [Hash] params ({})
1551
- def update_datalake_exceptions_subscription(params = {}, options = {})
1552
- req = build_request(:update_datalake_exceptions_subscription, params)
1611
+ def update_data_lake_exception_subscription(params = {}, options = {})
1612
+ req = build_request(:update_data_lake_exception_subscription, params)
1553
1613
  req.send_request(options)
1554
1614
  end
1555
1615
 
@@ -1557,14 +1617,7 @@ module Aws::SecurityLake
1557
1617
  # account ID. You can update a subscriber by changing the sources that
1558
1618
  # the subscriber consumes data from.
1559
1619
  #
1560
- # @option params [String] :external_id
1561
- # The external ID of the Security Lake account.
1562
- #
1563
- # @option params [required, String] :id
1564
- # A value created by Security Lake that uniquely identifies your
1565
- # subscription.
1566
- #
1567
- # @option params [required, Array<Types::SourceType>] :source_types
1620
+ # @option params [Array<Types::LogSourceResource>] :sources
1568
1621
  # The supported Amazon Web Services from which logs and events are
1569
1622
  # collected. For the list of supported Amazon Web Services, see the
1570
1623
  # [Amazon Security Lake User Guide][1].
@@ -1576,6 +1629,13 @@ module Aws::SecurityLake
1576
1629
  # @option params [String] :subscriber_description
1577
1630
  # The description of the Security Lake account subscriber.
1578
1631
  #
1632
+ # @option params [required, String] :subscriber_id
1633
+ # A value created by Security Lake that uniquely identifies your
1634
+ # subscription.
1635
+ #
1636
+ # @option params [Types::AwsIdentity] :subscriber_identity
1637
+ # The AWS identity used to access your data.
1638
+ #
1579
1639
  # @option params [String] :subscriber_name
1580
1640
  # The name of the Security Lake account subscriber.
1581
1641
  #
@@ -1586,15 +1646,33 @@ module Aws::SecurityLake
1586
1646
  # @example Request syntax with placeholder values
1587
1647
  #
1588
1648
  # resp = client.update_subscriber({
1589
- # external_id: "SafeString",
1590
- # id: "String", # required
1591
- # source_types: [ # required
1649
+ # sources: [
1592
1650
  # {
1593
- # aws_source_type: "ROUTE53", # accepts ROUTE53, VPC_FLOW, CLOUD_TRAIL, SH_FINDINGS
1594
- # custom_source_type: "CustomSourceType",
1651
+ # aws_log_source: {
1652
+ # source_name: "ROUTE53", # accepts ROUTE53, VPC_FLOW, SH_FINDINGS, CLOUD_TRAIL_MGMT, LAMBDA_EXECUTION, S3_DATA
1653
+ # source_version: "AwsLogSourceVersion",
1654
+ # },
1655
+ # custom_log_source: {
1656
+ # attributes: {
1657
+ # crawler_arn: "AmazonResourceName",
1658
+ # database_arn: "AmazonResourceName",
1659
+ # table_arn: "AmazonResourceName",
1660
+ # },
1661
+ # provider: {
1662
+ # location: "S3URI",
1663
+ # role_arn: "RoleArn",
1664
+ # },
1665
+ # source_name: "CustomLogSourceName",
1666
+ # source_version: "CustomLogSourceVersion",
1667
+ # },
1595
1668
  # },
1596
1669
  # ],
1597
1670
  # subscriber_description: "DescriptionString",
1671
+ # subscriber_id: "UUID", # required
1672
+ # subscriber_identity: {
1673
+ # external_id: "ExternalId", # required
1674
+ # principal: "AwsPrincipal", # required
1675
+ # },
1598
1676
  # subscriber_name: "UpdateSubscriberRequestSubscriberNameString",
1599
1677
  # })
1600
1678
  #
@@ -1602,23 +1680,29 @@ module Aws::SecurityLake
1602
1680
  #
1603
1681
  # resp.subscriber.access_types #=> Array
1604
1682
  # resp.subscriber.access_types[0] #=> String, one of "LAKEFORMATION", "S3"
1605
- # resp.subscriber.account_id #=> String
1606
1683
  # resp.subscriber.created_at #=> Time
1607
- # resp.subscriber.external_id #=> String
1608
1684
  # resp.subscriber.resource_share_arn #=> String
1609
1685
  # resp.subscriber.resource_share_name #=> String
1610
1686
  # resp.subscriber.role_arn #=> String
1611
1687
  # resp.subscriber.s3_bucket_arn #=> String
1612
- # resp.subscriber.sns_arn #=> String
1613
- # resp.subscriber.source_types #=> Array
1614
- # resp.subscriber.source_types[0].aws_source_type #=> String, one of "ROUTE53", "VPC_FLOW", "CLOUD_TRAIL", "SH_FINDINGS"
1615
- # resp.subscriber.source_types[0].custom_source_type #=> String
1688
+ # resp.subscriber.sources #=> Array
1689
+ # resp.subscriber.sources[0].aws_log_source.source_name #=> String, one of "ROUTE53", "VPC_FLOW", "SH_FINDINGS", "CLOUD_TRAIL_MGMT", "LAMBDA_EXECUTION", "S3_DATA"
1690
+ # resp.subscriber.sources[0].aws_log_source.source_version #=> String
1691
+ # resp.subscriber.sources[0].custom_log_source.attributes.crawler_arn #=> String
1692
+ # resp.subscriber.sources[0].custom_log_source.attributes.database_arn #=> String
1693
+ # resp.subscriber.sources[0].custom_log_source.attributes.table_arn #=> String
1694
+ # resp.subscriber.sources[0].custom_log_source.provider.location #=> String
1695
+ # resp.subscriber.sources[0].custom_log_source.provider.role_arn #=> String
1696
+ # resp.subscriber.sources[0].custom_log_source.source_name #=> String
1697
+ # resp.subscriber.sources[0].custom_log_source.source_version #=> String
1698
+ # resp.subscriber.subscriber_arn #=> String
1616
1699
  # resp.subscriber.subscriber_description #=> String
1700
+ # resp.subscriber.subscriber_endpoint #=> String
1701
+ # resp.subscriber.subscriber_id #=> String
1702
+ # resp.subscriber.subscriber_identity.external_id #=> String
1703
+ # resp.subscriber.subscriber_identity.principal #=> String
1617
1704
  # resp.subscriber.subscriber_name #=> String
1618
- # resp.subscriber.subscription_endpoint #=> String
1619
- # resp.subscriber.subscription_id #=> String
1620
- # resp.subscriber.subscription_protocol #=> String, one of "HTTPS", "SQS"
1621
- # resp.subscriber.subscription_status #=> String, one of "ACTIVE", "DEACTIVATED", "PENDING", "READY"
1705
+ # resp.subscriber.subscriber_status #=> String, one of "ACTIVE", "DEACTIVATED", "PENDING", "READY"
1622
1706
  # resp.subscriber.updated_at #=> Time
1623
1707
  #
1624
1708
  # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/UpdateSubscriber AWS API Documentation
@@ -1634,63 +1718,44 @@ module Aws::SecurityLake
1634
1718
  # HTTPs endpoint) or switches the notification subscription endpoint for
1635
1719
  # a subscriber.
1636
1720
  #
1637
- # @option params [Boolean] :create_sqs
1638
- # Create a new subscription notification for the specified subscription
1639
- # ID in Amazon Security Lake.
1640
- #
1641
- # @option params [String] :https_api_key_name
1642
- # The key name for the subscription notification.
1643
- #
1644
- # @option params [String] :https_api_key_value
1645
- # The key value for the subscription notification.
1721
+ # @option params [required, Types::NotificationConfiguration] :configuration
1722
+ # The configuration for subscriber notification.
1646
1723
  #
1647
- # @option params [String] :https_method
1648
- # The HTTPS method used for the subscription notification.
1649
- #
1650
- # @option params [String] :role_arn
1651
- # The Amazon Resource Name (ARN) specifying the role of the subscriber.
1652
- # For more information about ARNs and how to use them in policies, see,
1653
- # see the [Managing data access][1] and [Amazon Web Services Managed
1654
- # Policies][2]in the Amazon Security Lake User Guide.
1655
- #
1656
- #
1657
- #
1658
- # [1]: https://docs.aws.amazon.com//security-lake/latest/userguide/subscriber-data-access.html
1659
- # [2]: https://docs.aws.amazon.com/security-lake/latest/userguide/security-iam-awsmanpol.html
1660
- #
1661
- # @option params [String] :subscription_endpoint
1662
- # The subscription endpoint in Security Lake.
1663
- #
1664
- # @option params [required, String] :subscription_id
1724
+ # @option params [required, String] :subscriber_id
1665
1725
  # The subscription ID for which the subscription notification is
1666
1726
  # specified.
1667
1727
  #
1668
- # @return [Types::UpdateSubscriptionNotificationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1728
+ # @return [Types::UpdateSubscriberNotificationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1669
1729
  #
1670
- # * {Types::UpdateSubscriptionNotificationConfigurationResponse#queue_arn #queue_arn} => String
1730
+ # * {Types::UpdateSubscriberNotificationResponse#subscriber_endpoint #subscriber_endpoint} => String
1671
1731
  #
1672
1732
  # @example Request syntax with placeholder values
1673
1733
  #
1674
- # resp = client.update_subscription_notification_configuration({
1675
- # create_sqs: false,
1676
- # https_api_key_name: "String",
1677
- # https_api_key_value: "String",
1678
- # https_method: "POST", # accepts POST, PUT
1679
- # role_arn: "RoleArn",
1680
- # subscription_endpoint: "UpdateSubscriptionNotificationConfigurationRequestSubscriptionEndpointString",
1681
- # subscription_id: "UUID", # required
1734
+ # resp = client.update_subscriber_notification({
1735
+ # configuration: { # required
1736
+ # https_notification_configuration: {
1737
+ # authorization_api_key_name: "String",
1738
+ # authorization_api_key_value: "String",
1739
+ # endpoint: "HttpsNotificationConfigurationEndpointString", # required
1740
+ # http_method: "POST", # accepts POST, PUT
1741
+ # target_role_arn: "RoleArn", # required
1742
+ # },
1743
+ # sqs_notification_configuration: {
1744
+ # },
1745
+ # },
1746
+ # subscriber_id: "UUID", # required
1682
1747
  # })
1683
1748
  #
1684
1749
  # @example Response structure
1685
1750
  #
1686
- # resp.queue_arn #=> String
1751
+ # resp.subscriber_endpoint #=> String
1687
1752
  #
1688
- # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/UpdateSubscriptionNotificationConfiguration AWS API Documentation
1753
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securitylake-2018-05-10/UpdateSubscriberNotification AWS API Documentation
1689
1754
  #
1690
- # @overload update_subscription_notification_configuration(params = {})
1755
+ # @overload update_subscriber_notification(params = {})
1691
1756
  # @param [Hash] params ({})
1692
- def update_subscription_notification_configuration(params = {}, options = {})
1693
- req = build_request(:update_subscription_notification_configuration, params)
1757
+ def update_subscriber_notification(params = {}, options = {})
1758
+ req = build_request(:update_subscriber_notification, params)
1694
1759
  req.send_request(options)
1695
1760
  end
1696
1761
 
@@ -1707,7 +1772,7 @@ module Aws::SecurityLake
1707
1772
  params: params,
1708
1773
  config: config)
1709
1774
  context[:gem_name] = 'aws-sdk-securitylake'
1710
- context[:gem_version] = '1.3.0'
1775
+ context[:gem_version] = '1.4.0'
1711
1776
  Seahorse::Client::Request.new(handlers, context)
1712
1777
  end
1713
1778