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

com.amazonaws.services.detective.model.IndicatorDetail 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.detective.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Details about the indicators of compromise which are used to determine if a resource is involved in a security * incident. An indicator of compromise (IOC) is an artifact observed in or on a network, system, or environment that * can (with a high level of confidence) identify malicious activity or a security incident. For the list of indicators * of compromise that are generated by Detective investigations, see Detective * investigations. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class IndicatorDetail implements Serializable, Cloneable, StructuredPojo { /** *

* Details about the indicator of compromise. *

*/ private TTPsObservedDetail tTPsObservedDetail; /** *

* Identifies unusual and impossible user activity for an account. *

*/ private ImpossibleTravelDetail impossibleTravelDetail; /** *

* Suspicious IP addresses that are flagged, which indicates critical or severe threats based on threat intelligence * by Detective. This indicator is derived from Amazon Web Services threat intelligence. *

*/ private FlaggedIpAddressDetail flaggedIpAddressDetail; /** *

* Contains details about the new geographic location. *

*/ private NewGeolocationDetail newGeolocationDetail; /** *

* Contains details about the new Autonomous System Organization (ASO). *

*/ private NewAsoDetail newAsoDetail; /** *

* Contains details about the new user agent. *

*/ private NewUserAgentDetail newUserAgentDetail; /** *

* Contains details about related findings. *

*/ private RelatedFindingDetail relatedFindingDetail; /** *

* Contains details about related finding groups. *

*/ private RelatedFindingGroupDetail relatedFindingGroupDetail; /** *

* Details about the indicator of compromise. *

* * @param tTPsObservedDetail * Details about the indicator of compromise. */ public void setTTPsObservedDetail(TTPsObservedDetail tTPsObservedDetail) { this.tTPsObservedDetail = tTPsObservedDetail; } /** *

* Details about the indicator of compromise. *

* * @return Details about the indicator of compromise. */ public TTPsObservedDetail getTTPsObservedDetail() { return this.tTPsObservedDetail; } /** *

* Details about the indicator of compromise. *

* * @param tTPsObservedDetail * Details about the indicator of compromise. * @return Returns a reference to this object so that method calls can be chained together. */ public IndicatorDetail withTTPsObservedDetail(TTPsObservedDetail tTPsObservedDetail) { setTTPsObservedDetail(tTPsObservedDetail); return this; } /** *

* Identifies unusual and impossible user activity for an account. *

* * @param impossibleTravelDetail * Identifies unusual and impossible user activity for an account. */ public void setImpossibleTravelDetail(ImpossibleTravelDetail impossibleTravelDetail) { this.impossibleTravelDetail = impossibleTravelDetail; } /** *

* Identifies unusual and impossible user activity for an account. *

* * @return Identifies unusual and impossible user activity for an account. */ public ImpossibleTravelDetail getImpossibleTravelDetail() { return this.impossibleTravelDetail; } /** *

* Identifies unusual and impossible user activity for an account. *

* * @param impossibleTravelDetail * Identifies unusual and impossible user activity for an account. * @return Returns a reference to this object so that method calls can be chained together. */ public IndicatorDetail withImpossibleTravelDetail(ImpossibleTravelDetail impossibleTravelDetail) { setImpossibleTravelDetail(impossibleTravelDetail); return this; } /** *

* Suspicious IP addresses that are flagged, which indicates critical or severe threats based on threat intelligence * by Detective. This indicator is derived from Amazon Web Services threat intelligence. *

* * @param flaggedIpAddressDetail * Suspicious IP addresses that are flagged, which indicates critical or severe threats based on threat * intelligence by Detective. This indicator is derived from Amazon Web Services threat intelligence. */ public void setFlaggedIpAddressDetail(FlaggedIpAddressDetail flaggedIpAddressDetail) { this.flaggedIpAddressDetail = flaggedIpAddressDetail; } /** *

* Suspicious IP addresses that are flagged, which indicates critical or severe threats based on threat intelligence * by Detective. This indicator is derived from Amazon Web Services threat intelligence. *

* * @return Suspicious IP addresses that are flagged, which indicates critical or severe threats based on threat * intelligence by Detective. This indicator is derived from Amazon Web Services threat intelligence. */ public FlaggedIpAddressDetail getFlaggedIpAddressDetail() { return this.flaggedIpAddressDetail; } /** *

* Suspicious IP addresses that are flagged, which indicates critical or severe threats based on threat intelligence * by Detective. This indicator is derived from Amazon Web Services threat intelligence. *

* * @param flaggedIpAddressDetail * Suspicious IP addresses that are flagged, which indicates critical or severe threats based on threat * intelligence by Detective. This indicator is derived from Amazon Web Services threat intelligence. * @return Returns a reference to this object so that method calls can be chained together. */ public IndicatorDetail withFlaggedIpAddressDetail(FlaggedIpAddressDetail flaggedIpAddressDetail) { setFlaggedIpAddressDetail(flaggedIpAddressDetail); return this; } /** *

* Contains details about the new geographic location. *

* * @param newGeolocationDetail * Contains details about the new geographic location. */ public void setNewGeolocationDetail(NewGeolocationDetail newGeolocationDetail) { this.newGeolocationDetail = newGeolocationDetail; } /** *

* Contains details about the new geographic location. *

* * @return Contains details about the new geographic location. */ public NewGeolocationDetail getNewGeolocationDetail() { return this.newGeolocationDetail; } /** *

* Contains details about the new geographic location. *

* * @param newGeolocationDetail * Contains details about the new geographic location. * @return Returns a reference to this object so that method calls can be chained together. */ public IndicatorDetail withNewGeolocationDetail(NewGeolocationDetail newGeolocationDetail) { setNewGeolocationDetail(newGeolocationDetail); return this; } /** *

* Contains details about the new Autonomous System Organization (ASO). *

* * @param newAsoDetail * Contains details about the new Autonomous System Organization (ASO). */ public void setNewAsoDetail(NewAsoDetail newAsoDetail) { this.newAsoDetail = newAsoDetail; } /** *

* Contains details about the new Autonomous System Organization (ASO). *

* * @return Contains details about the new Autonomous System Organization (ASO). */ public NewAsoDetail getNewAsoDetail() { return this.newAsoDetail; } /** *

* Contains details about the new Autonomous System Organization (ASO). *

* * @param newAsoDetail * Contains details about the new Autonomous System Organization (ASO). * @return Returns a reference to this object so that method calls can be chained together. */ public IndicatorDetail withNewAsoDetail(NewAsoDetail newAsoDetail) { setNewAsoDetail(newAsoDetail); return this; } /** *

* Contains details about the new user agent. *

* * @param newUserAgentDetail * Contains details about the new user agent. */ public void setNewUserAgentDetail(NewUserAgentDetail newUserAgentDetail) { this.newUserAgentDetail = newUserAgentDetail; } /** *

* Contains details about the new user agent. *

* * @return Contains details about the new user agent. */ public NewUserAgentDetail getNewUserAgentDetail() { return this.newUserAgentDetail; } /** *

* Contains details about the new user agent. *

* * @param newUserAgentDetail * Contains details about the new user agent. * @return Returns a reference to this object so that method calls can be chained together. */ public IndicatorDetail withNewUserAgentDetail(NewUserAgentDetail newUserAgentDetail) { setNewUserAgentDetail(newUserAgentDetail); return this; } /** *

* Contains details about related findings. *

* * @param relatedFindingDetail * Contains details about related findings. */ public void setRelatedFindingDetail(RelatedFindingDetail relatedFindingDetail) { this.relatedFindingDetail = relatedFindingDetail; } /** *

* Contains details about related findings. *

* * @return Contains details about related findings. */ public RelatedFindingDetail getRelatedFindingDetail() { return this.relatedFindingDetail; } /** *

* Contains details about related findings. *

* * @param relatedFindingDetail * Contains details about related findings. * @return Returns a reference to this object so that method calls can be chained together. */ public IndicatorDetail withRelatedFindingDetail(RelatedFindingDetail relatedFindingDetail) { setRelatedFindingDetail(relatedFindingDetail); return this; } /** *

* Contains details about related finding groups. *

* * @param relatedFindingGroupDetail * Contains details about related finding groups. */ public void setRelatedFindingGroupDetail(RelatedFindingGroupDetail relatedFindingGroupDetail) { this.relatedFindingGroupDetail = relatedFindingGroupDetail; } /** *

* Contains details about related finding groups. *

* * @return Contains details about related finding groups. */ public RelatedFindingGroupDetail getRelatedFindingGroupDetail() { return this.relatedFindingGroupDetail; } /** *

* Contains details about related finding groups. *

* * @param relatedFindingGroupDetail * Contains details about related finding groups. * @return Returns a reference to this object so that method calls can be chained together. */ public IndicatorDetail withRelatedFindingGroupDetail(RelatedFindingGroupDetail relatedFindingGroupDetail) { setRelatedFindingGroupDetail(relatedFindingGroupDetail); 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 (getTTPsObservedDetail() != null) sb.append("TTPsObservedDetail: ").append(getTTPsObservedDetail()).append(","); if (getImpossibleTravelDetail() != null) sb.append("ImpossibleTravelDetail: ").append(getImpossibleTravelDetail()).append(","); if (getFlaggedIpAddressDetail() != null) sb.append("FlaggedIpAddressDetail: ").append(getFlaggedIpAddressDetail()).append(","); if (getNewGeolocationDetail() != null) sb.append("NewGeolocationDetail: ").append(getNewGeolocationDetail()).append(","); if (getNewAsoDetail() != null) sb.append("NewAsoDetail: ").append(getNewAsoDetail()).append(","); if (getNewUserAgentDetail() != null) sb.append("NewUserAgentDetail: ").append(getNewUserAgentDetail()).append(","); if (getRelatedFindingDetail() != null) sb.append("RelatedFindingDetail: ").append(getRelatedFindingDetail()).append(","); if (getRelatedFindingGroupDetail() != null) sb.append("RelatedFindingGroupDetail: ").append(getRelatedFindingGroupDetail()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof IndicatorDetail == false) return false; IndicatorDetail other = (IndicatorDetail) obj; if (other.getTTPsObservedDetail() == null ^ this.getTTPsObservedDetail() == null) return false; if (other.getTTPsObservedDetail() != null && other.getTTPsObservedDetail().equals(this.getTTPsObservedDetail()) == false) return false; if (other.getImpossibleTravelDetail() == null ^ this.getImpossibleTravelDetail() == null) return false; if (other.getImpossibleTravelDetail() != null && other.getImpossibleTravelDetail().equals(this.getImpossibleTravelDetail()) == false) return false; if (other.getFlaggedIpAddressDetail() == null ^ this.getFlaggedIpAddressDetail() == null) return false; if (other.getFlaggedIpAddressDetail() != null && other.getFlaggedIpAddressDetail().equals(this.getFlaggedIpAddressDetail()) == false) return false; if (other.getNewGeolocationDetail() == null ^ this.getNewGeolocationDetail() == null) return false; if (other.getNewGeolocationDetail() != null && other.getNewGeolocationDetail().equals(this.getNewGeolocationDetail()) == false) return false; if (other.getNewAsoDetail() == null ^ this.getNewAsoDetail() == null) return false; if (other.getNewAsoDetail() != null && other.getNewAsoDetail().equals(this.getNewAsoDetail()) == false) return false; if (other.getNewUserAgentDetail() == null ^ this.getNewUserAgentDetail() == null) return false; if (other.getNewUserAgentDetail() != null && other.getNewUserAgentDetail().equals(this.getNewUserAgentDetail()) == false) return false; if (other.getRelatedFindingDetail() == null ^ this.getRelatedFindingDetail() == null) return false; if (other.getRelatedFindingDetail() != null && other.getRelatedFindingDetail().equals(this.getRelatedFindingDetail()) == false) return false; if (other.getRelatedFindingGroupDetail() == null ^ this.getRelatedFindingGroupDetail() == null) return false; if (other.getRelatedFindingGroupDetail() != null && other.getRelatedFindingGroupDetail().equals(this.getRelatedFindingGroupDetail()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTTPsObservedDetail() == null) ? 0 : getTTPsObservedDetail().hashCode()); hashCode = prime * hashCode + ((getImpossibleTravelDetail() == null) ? 0 : getImpossibleTravelDetail().hashCode()); hashCode = prime * hashCode + ((getFlaggedIpAddressDetail() == null) ? 0 : getFlaggedIpAddressDetail().hashCode()); hashCode = prime * hashCode + ((getNewGeolocationDetail() == null) ? 0 : getNewGeolocationDetail().hashCode()); hashCode = prime * hashCode + ((getNewAsoDetail() == null) ? 0 : getNewAsoDetail().hashCode()); hashCode = prime * hashCode + ((getNewUserAgentDetail() == null) ? 0 : getNewUserAgentDetail().hashCode()); hashCode = prime * hashCode + ((getRelatedFindingDetail() == null) ? 0 : getRelatedFindingDetail().hashCode()); hashCode = prime * hashCode + ((getRelatedFindingGroupDetail() == null) ? 0 : getRelatedFindingGroupDetail().hashCode()); return hashCode; } @Override public IndicatorDetail clone() { try { return (IndicatorDetail) 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.detective.model.transform.IndicatorDetailMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy