aws-sdk-securitylake 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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