/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.securitylake.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Amazon Security Lake collects logs and events from supported Amazon Web Services and custom sources. For the list of * supported Amazon Web Services, see the Amazon Security Lake User * Guide. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DataLakeSource implements Serializable, Cloneable, StructuredPojo { /** ** The ID of the Security Lake account for which logs are collected. *
*/ private String account; /** ** The Open Cybersecurity Schema Framework (OCSF) event classes which describes the type of data that the custom * source will send to Security Lake. The supported event classes are: *
*
* 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
*
* CONFIG_STATE
*
* INVENTORY_INFO
*
* EMAIL_ACTIVITY
*
* API_ACTIVITY
*
* CLOUD_API
*
* The supported Amazon Web Services from which logs and events are collected. Amazon Security Lake supports log and * event collection for natively supported Amazon Web Services. *
*/ private String sourceName; /** ** The log status for the Security Lake account. *
*/ private java.util.List* The ID of the Security Lake account for which logs are collected. *
* * @param account * The ID of the Security Lake account for which logs are collected. */ public void setAccount(String account) { this.account = account; } /** ** The ID of the Security Lake account for which logs are collected. *
* * @return The ID of the Security Lake account for which logs are collected. */ public String getAccount() { return this.account; } /** ** The ID of the Security Lake account for which logs are collected. *
* * @param account * The ID of the Security Lake account for which logs are collected. * @return Returns a reference to this object so that method calls can be chained together. */ public DataLakeSource withAccount(String account) { setAccount(account); return this; } /** ** The Open Cybersecurity Schema Framework (OCSF) event classes which describes the type of data that the custom * source will send to Security Lake. The supported event classes are: *
*
* 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
*
* CONFIG_STATE
*
* INVENTORY_INFO
*
* EMAIL_ACTIVITY
*
* API_ACTIVITY
*
* CLOUD_API
*
* 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
*
* CONFIG_STATE
*
* INVENTORY_INFO
*
* EMAIL_ACTIVITY
*
* API_ACTIVITY
*
* CLOUD_API
*
* The Open Cybersecurity Schema Framework (OCSF) event classes which describes the type of data that the custom * source will send to Security Lake. The supported event classes are: *
*
* 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
*
* CONFIG_STATE
*
* INVENTORY_INFO
*
* EMAIL_ACTIVITY
*
* API_ACTIVITY
*
* CLOUD_API
*
* 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
*
* CONFIG_STATE
*
* INVENTORY_INFO
*
* EMAIL_ACTIVITY
*
* API_ACTIVITY
*
* CLOUD_API
*
* The Open Cybersecurity Schema Framework (OCSF) event classes which describes the type of data that the custom * source will send to Security Lake. The supported event classes are: *
*
* 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
*
* CONFIG_STATE
*
* INVENTORY_INFO
*
* EMAIL_ACTIVITY
*
* API_ACTIVITY
*
* CLOUD_API
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setEventClasses(java.util.Collection)} or {@link #withEventClasses(java.util.Collection)} if you want to * override the existing values. *
* * @param eventClasses * The Open Cybersecurity Schema Framework (OCSF) event classes which describes the type of data that the * custom source will send to Security Lake. The supported event classes are: *
* 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
*
* CONFIG_STATE
*
* INVENTORY_INFO
*
* EMAIL_ACTIVITY
*
* API_ACTIVITY
*
* CLOUD_API
*
* The Open Cybersecurity Schema Framework (OCSF) event classes which describes the type of data that the custom * source will send to Security Lake. The supported event classes are: *
*
* 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
*
* CONFIG_STATE
*
* INVENTORY_INFO
*
* EMAIL_ACTIVITY
*
* API_ACTIVITY
*
* CLOUD_API
*
* 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
*
* CONFIG_STATE
*
* INVENTORY_INFO
*
* EMAIL_ACTIVITY
*
* API_ACTIVITY
*
* CLOUD_API
*
* The supported Amazon Web Services from which logs and events are collected. Amazon Security Lake supports log and * event collection for natively supported Amazon Web Services. *
* * @param sourceName * The supported Amazon Web Services from which logs and events are collected. Amazon Security Lake supports * log and event collection for natively supported Amazon Web Services. */ public void setSourceName(String sourceName) { this.sourceName = sourceName; } /** ** The supported Amazon Web Services from which logs and events are collected. Amazon Security Lake supports log and * event collection for natively supported Amazon Web Services. *
* * @return The supported Amazon Web Services from which logs and events are collected. Amazon Security Lake supports * log and event collection for natively supported Amazon Web Services. */ public String getSourceName() { return this.sourceName; } /** ** The supported Amazon Web Services from which logs and events are collected. Amazon Security Lake supports log and * event collection for natively supported Amazon Web Services. *
* * @param sourceName * The supported Amazon Web Services from which logs and events are collected. Amazon Security Lake supports * log and event collection for natively supported Amazon Web Services. * @return Returns a reference to this object so that method calls can be chained together. */ public DataLakeSource withSourceName(String sourceName) { setSourceName(sourceName); return this; } /** ** The log status for the Security Lake account. *
* * @return The log status for the Security Lake account. */ public java.util.List* The log status for the Security Lake account. *
* * @param sourceStatuses * The log status for the Security Lake account. */ public void setSourceStatuses(java.util.Collection* The log status for the Security Lake account. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setSourceStatuses(java.util.Collection)} or {@link #withSourceStatuses(java.util.Collection)} if you want * to override the existing values. *
* * @param sourceStatuses * The log status for the Security Lake account. * @return Returns a reference to this object so that method calls can be chained together. */ public DataLakeSource withSourceStatuses(DataLakeSourceStatus... sourceStatuses) { if (this.sourceStatuses == null) { setSourceStatuses(new java.util.ArrayList* The log status for the Security Lake account. *
* * @param sourceStatuses * The log status for the Security Lake account. * @return Returns a reference to this object so that method calls can be chained together. */ public DataLakeSource withSourceStatuses(java.util.Collection