All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.securitylake.model.DataLakeSource Maven / Gradle / Ivy

/*
 * Copyright 2019-2024 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 *

    *
  • *
*/ private java.util.List eventClasses; /** *

* 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 sourceStatuses; /** *

* 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 *

    *
  • *
* * @return 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 *

    *
  • */ public java.util.List getEventClasses() { return 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 *

      *
    • *
    * * @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 *

      *
    • */ public void setEventClasses(java.util.Collection eventClasses) { if (eventClasses == null) { this.eventClasses = null; return; } this.eventClasses = new java.util.ArrayList(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 *

        *
      • *
      *

      * 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 *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public DataLakeSource withEventClasses(String... eventClasses) { if (this.eventClasses == null) { setEventClasses(new java.util.ArrayList(eventClasses.length)); } for (String ele : eventClasses) { this.eventClasses.add(ele); } 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 *

          *
        • *
        * * @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 *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. */ public DataLakeSource withEventClasses(java.util.Collection eventClasses) { setEventClasses(eventClasses); return this; } /** *

          * 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 getSourceStatuses() { return sourceStatuses; } /** *

          * The log status for the Security Lake account. *

          * * @param sourceStatuses * The log status for the Security Lake account. */ public void setSourceStatuses(java.util.Collection sourceStatuses) { if (sourceStatuses == null) { this.sourceStatuses = null; return; } this.sourceStatuses = new java.util.ArrayList(sourceStatuses); } /** *

          * 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(sourceStatuses.length)); } for (DataLakeSourceStatus ele : sourceStatuses) { this.sourceStatuses.add(ele); } return this; } /** *

          * 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 sourceStatuses) { setSourceStatuses(sourceStatuses); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getAccount() != null) sb.append("Account: ").append(getAccount()).append(","); if (getEventClasses() != null) sb.append("EventClasses: ").append(getEventClasses()).append(","); if (getSourceName() != null) sb.append("SourceName: ").append(getSourceName()).append(","); if (getSourceStatuses() != null) sb.append("SourceStatuses: ").append(getSourceStatuses()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DataLakeSource == false) return false; DataLakeSource other = (DataLakeSource) obj; if (other.getAccount() == null ^ this.getAccount() == null) return false; if (other.getAccount() != null && other.getAccount().equals(this.getAccount()) == false) return false; if (other.getEventClasses() == null ^ this.getEventClasses() == null) return false; if (other.getEventClasses() != null && other.getEventClasses().equals(this.getEventClasses()) == false) return false; if (other.getSourceName() == null ^ this.getSourceName() == null) return false; if (other.getSourceName() != null && other.getSourceName().equals(this.getSourceName()) == false) return false; if (other.getSourceStatuses() == null ^ this.getSourceStatuses() == null) return false; if (other.getSourceStatuses() != null && other.getSourceStatuses().equals(this.getSourceStatuses()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAccount() == null) ? 0 : getAccount().hashCode()); hashCode = prime * hashCode + ((getEventClasses() == null) ? 0 : getEventClasses().hashCode()); hashCode = prime * hashCode + ((getSourceName() == null) ? 0 : getSourceName().hashCode()); hashCode = prime * hashCode + ((getSourceStatuses() == null) ? 0 : getSourceStatuses().hashCode()); return hashCode; } @Override public DataLakeSource clone() { try { return (DataLakeSource) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.securitylake.model.transform.DataLakeSourceMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy