/* * 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.guardduty.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Additional information about the suspicious activity. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class RuntimeContext implements Serializable, Cloneable, StructuredPojo { /** ** Information about the process that modified the current process. This is available for multiple finding types. *
*/ private ProcessDetails modifyingProcess; /** ** The timestamp at which the process modified the current process. The timestamp is in UTC date string format. *
*/ private java.util.Date modifiedAt; /** ** The path to the script that was executed. *
*/ private String scriptPath; /** ** The path to the new library that was loaded. *
*/ private String libraryPath; /** ** The value of the LD_PRELOAD environment variable. *
*/ private String ldPreloadValue; /** ** The path to the docket socket that was accessed. *
*/ private String socketPath; /** *
* The path to the leveraged runc
implementation.
*
* The path in the container that modified the release agent file. *
*/ private String releaseAgentPath; /** ** The path on the host that is mounted by the container. *
*/ private String mountSource; /** ** The path in the container that is mapped to the host directory. *
*/ private String mountTarget; /** ** Represents the type of mounted fileSystem. *
*/ private String fileSystemType; /** ** Represents options that control the behavior of a runtime operation or action. For example, a filesystem mount * operation may contain a read-only flag. *
*/ private java.util.List* The name of the module loaded into the kernel. *
*/ private String moduleName; /** ** The path to the module loaded into the kernel. *
*/ private String moduleFilePath; /** *
* The SHA256
hash of the module.
*
* The path to the modified shell history file. *
*/ private String shellHistoryFilePath; /** ** Information about the process that had its memory overwritten by the current process. *
*/ private ProcessDetails targetProcess; /** *
* Represents the communication protocol associated with the address. For example, the address family
* AF_INET
is used for IP version of 4 protocol.
*
* Specifies a particular protocol within the address family. Usually there is a single protocol in address
* families. For example, the address family AF_INET
only has the IP protocol.
*
* Specifies the Region of a process's address space such as stack and heap. *
*/ private java.util.List* Information about the process that modified the current process. This is available for multiple finding types. *
* * @param modifyingProcess * Information about the process that modified the current process. This is available for multiple finding * types. */ public void setModifyingProcess(ProcessDetails modifyingProcess) { this.modifyingProcess = modifyingProcess; } /** ** Information about the process that modified the current process. This is available for multiple finding types. *
* * @return Information about the process that modified the current process. This is available for multiple finding * types. */ public ProcessDetails getModifyingProcess() { return this.modifyingProcess; } /** ** Information about the process that modified the current process. This is available for multiple finding types. *
* * @param modifyingProcess * Information about the process that modified the current process. This is available for multiple finding * types. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withModifyingProcess(ProcessDetails modifyingProcess) { setModifyingProcess(modifyingProcess); return this; } /** ** The timestamp at which the process modified the current process. The timestamp is in UTC date string format. *
* * @param modifiedAt * The timestamp at which the process modified the current process. The timestamp is in UTC date string * format. */ public void setModifiedAt(java.util.Date modifiedAt) { this.modifiedAt = modifiedAt; } /** ** The timestamp at which the process modified the current process. The timestamp is in UTC date string format. *
* * @return The timestamp at which the process modified the current process. The timestamp is in UTC date string * format. */ public java.util.Date getModifiedAt() { return this.modifiedAt; } /** ** The timestamp at which the process modified the current process. The timestamp is in UTC date string format. *
* * @param modifiedAt * The timestamp at which the process modified the current process. The timestamp is in UTC date string * format. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withModifiedAt(java.util.Date modifiedAt) { setModifiedAt(modifiedAt); return this; } /** ** The path to the script that was executed. *
* * @param scriptPath * The path to the script that was executed. */ public void setScriptPath(String scriptPath) { this.scriptPath = scriptPath; } /** ** The path to the script that was executed. *
* * @return The path to the script that was executed. */ public String getScriptPath() { return this.scriptPath; } /** ** The path to the script that was executed. *
* * @param scriptPath * The path to the script that was executed. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withScriptPath(String scriptPath) { setScriptPath(scriptPath); return this; } /** ** The path to the new library that was loaded. *
* * @param libraryPath * The path to the new library that was loaded. */ public void setLibraryPath(String libraryPath) { this.libraryPath = libraryPath; } /** ** The path to the new library that was loaded. *
* * @return The path to the new library that was loaded. */ public String getLibraryPath() { return this.libraryPath; } /** ** The path to the new library that was loaded. *
* * @param libraryPath * The path to the new library that was loaded. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withLibraryPath(String libraryPath) { setLibraryPath(libraryPath); return this; } /** ** The value of the LD_PRELOAD environment variable. *
* * @param ldPreloadValue * The value of the LD_PRELOAD environment variable. */ public void setLdPreloadValue(String ldPreloadValue) { this.ldPreloadValue = ldPreloadValue; } /** ** The value of the LD_PRELOAD environment variable. *
* * @return The value of the LD_PRELOAD environment variable. */ public String getLdPreloadValue() { return this.ldPreloadValue; } /** ** The value of the LD_PRELOAD environment variable. *
* * @param ldPreloadValue * The value of the LD_PRELOAD environment variable. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withLdPreloadValue(String ldPreloadValue) { setLdPreloadValue(ldPreloadValue); return this; } /** ** The path to the docket socket that was accessed. *
* * @param socketPath * The path to the docket socket that was accessed. */ public void setSocketPath(String socketPath) { this.socketPath = socketPath; } /** ** The path to the docket socket that was accessed. *
* * @return The path to the docket socket that was accessed. */ public String getSocketPath() { return this.socketPath; } /** ** The path to the docket socket that was accessed. *
* * @param socketPath * The path to the docket socket that was accessed. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withSocketPath(String socketPath) { setSocketPath(socketPath); return this; } /** *
* The path to the leveraged runc
implementation.
*
runc
implementation.
*/
public void setRuncBinaryPath(String runcBinaryPath) {
this.runcBinaryPath = runcBinaryPath;
}
/**
*
* The path to the leveraged runc
implementation.
*
runc
implementation.
*/
public String getRuncBinaryPath() {
return this.runcBinaryPath;
}
/**
*
* The path to the leveraged runc
implementation.
*
runc
implementation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RuntimeContext withRuncBinaryPath(String runcBinaryPath) {
setRuncBinaryPath(runcBinaryPath);
return this;
}
/**
* * The path in the container that modified the release agent file. *
* * @param releaseAgentPath * The path in the container that modified the release agent file. */ public void setReleaseAgentPath(String releaseAgentPath) { this.releaseAgentPath = releaseAgentPath; } /** ** The path in the container that modified the release agent file. *
* * @return The path in the container that modified the release agent file. */ public String getReleaseAgentPath() { return this.releaseAgentPath; } /** ** The path in the container that modified the release agent file. *
* * @param releaseAgentPath * The path in the container that modified the release agent file. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withReleaseAgentPath(String releaseAgentPath) { setReleaseAgentPath(releaseAgentPath); return this; } /** ** The path on the host that is mounted by the container. *
* * @param mountSource * The path on the host that is mounted by the container. */ public void setMountSource(String mountSource) { this.mountSource = mountSource; } /** ** The path on the host that is mounted by the container. *
* * @return The path on the host that is mounted by the container. */ public String getMountSource() { return this.mountSource; } /** ** The path on the host that is mounted by the container. *
* * @param mountSource * The path on the host that is mounted by the container. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withMountSource(String mountSource) { setMountSource(mountSource); return this; } /** ** The path in the container that is mapped to the host directory. *
* * @param mountTarget * The path in the container that is mapped to the host directory. */ public void setMountTarget(String mountTarget) { this.mountTarget = mountTarget; } /** ** The path in the container that is mapped to the host directory. *
* * @return The path in the container that is mapped to the host directory. */ public String getMountTarget() { return this.mountTarget; } /** ** The path in the container that is mapped to the host directory. *
* * @param mountTarget * The path in the container that is mapped to the host directory. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withMountTarget(String mountTarget) { setMountTarget(mountTarget); return this; } /** ** Represents the type of mounted fileSystem. *
* * @param fileSystemType * Represents the type of mounted fileSystem. */ public void setFileSystemType(String fileSystemType) { this.fileSystemType = fileSystemType; } /** ** Represents the type of mounted fileSystem. *
* * @return Represents the type of mounted fileSystem. */ public String getFileSystemType() { return this.fileSystemType; } /** ** Represents the type of mounted fileSystem. *
* * @param fileSystemType * Represents the type of mounted fileSystem. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withFileSystemType(String fileSystemType) { setFileSystemType(fileSystemType); return this; } /** ** Represents options that control the behavior of a runtime operation or action. For example, a filesystem mount * operation may contain a read-only flag. *
* * @return Represents options that control the behavior of a runtime operation or action. For example, a filesystem * mount operation may contain a read-only flag. */ public java.util.List* Represents options that control the behavior of a runtime operation or action. For example, a filesystem mount * operation may contain a read-only flag. *
* * @param flags * Represents options that control the behavior of a runtime operation or action. For example, a filesystem * mount operation may contain a read-only flag. */ public void setFlags(java.util.Collection* Represents options that control the behavior of a runtime operation or action. For example, a filesystem mount * operation may contain a read-only flag. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setFlags(java.util.Collection)} or {@link #withFlags(java.util.Collection)} if you want to override the * existing values. *
* * @param flags * Represents options that control the behavior of a runtime operation or action. For example, a filesystem * mount operation may contain a read-only flag. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withFlags(String... flags) { if (this.flags == null) { setFlags(new java.util.ArrayList* Represents options that control the behavior of a runtime operation or action. For example, a filesystem mount * operation may contain a read-only flag. *
* * @param flags * Represents options that control the behavior of a runtime operation or action. For example, a filesystem * mount operation may contain a read-only flag. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withFlags(java.util.Collection* The name of the module loaded into the kernel. *
* * @param moduleName * The name of the module loaded into the kernel. */ public void setModuleName(String moduleName) { this.moduleName = moduleName; } /** ** The name of the module loaded into the kernel. *
* * @return The name of the module loaded into the kernel. */ public String getModuleName() { return this.moduleName; } /** ** The name of the module loaded into the kernel. *
* * @param moduleName * The name of the module loaded into the kernel. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withModuleName(String moduleName) { setModuleName(moduleName); return this; } /** ** The path to the module loaded into the kernel. *
* * @param moduleFilePath * The path to the module loaded into the kernel. */ public void setModuleFilePath(String moduleFilePath) { this.moduleFilePath = moduleFilePath; } /** ** The path to the module loaded into the kernel. *
* * @return The path to the module loaded into the kernel. */ public String getModuleFilePath() { return this.moduleFilePath; } /** ** The path to the module loaded into the kernel. *
* * @param moduleFilePath * The path to the module loaded into the kernel. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withModuleFilePath(String moduleFilePath) { setModuleFilePath(moduleFilePath); return this; } /** *
* The SHA256
hash of the module.
*
SHA256
hash of the module.
*/
public void setModuleSha256(String moduleSha256) {
this.moduleSha256 = moduleSha256;
}
/**
*
* The SHA256
hash of the module.
*
SHA256
hash of the module.
*/
public String getModuleSha256() {
return this.moduleSha256;
}
/**
*
* The SHA256
hash of the module.
*
SHA256
hash of the module.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RuntimeContext withModuleSha256(String moduleSha256) {
setModuleSha256(moduleSha256);
return this;
}
/**
* * The path to the modified shell history file. *
* * @param shellHistoryFilePath * The path to the modified shell history file. */ public void setShellHistoryFilePath(String shellHistoryFilePath) { this.shellHistoryFilePath = shellHistoryFilePath; } /** ** The path to the modified shell history file. *
* * @return The path to the modified shell history file. */ public String getShellHistoryFilePath() { return this.shellHistoryFilePath; } /** ** The path to the modified shell history file. *
* * @param shellHistoryFilePath * The path to the modified shell history file. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withShellHistoryFilePath(String shellHistoryFilePath) { setShellHistoryFilePath(shellHistoryFilePath); return this; } /** ** Information about the process that had its memory overwritten by the current process. *
* * @param targetProcess * Information about the process that had its memory overwritten by the current process. */ public void setTargetProcess(ProcessDetails targetProcess) { this.targetProcess = targetProcess; } /** ** Information about the process that had its memory overwritten by the current process. *
* * @return Information about the process that had its memory overwritten by the current process. */ public ProcessDetails getTargetProcess() { return this.targetProcess; } /** ** Information about the process that had its memory overwritten by the current process. *
* * @param targetProcess * Information about the process that had its memory overwritten by the current process. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withTargetProcess(ProcessDetails targetProcess) { setTargetProcess(targetProcess); return this; } /** *
* Represents the communication protocol associated with the address. For example, the address family
* AF_INET
is used for IP version of 4 protocol.
*
AF_INET
is used for IP version of 4 protocol.
*/
public void setAddressFamily(String addressFamily) {
this.addressFamily = addressFamily;
}
/**
*
* Represents the communication protocol associated with the address. For example, the address family
* AF_INET
is used for IP version of 4 protocol.
*
AF_INET
is used for IP version of 4 protocol.
*/
public String getAddressFamily() {
return this.addressFamily;
}
/**
*
* Represents the communication protocol associated with the address. For example, the address family
* AF_INET
is used for IP version of 4 protocol.
*
AF_INET
is used for IP version of 4 protocol.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RuntimeContext withAddressFamily(String addressFamily) {
setAddressFamily(addressFamily);
return this;
}
/**
*
* Specifies a particular protocol within the address family. Usually there is a single protocol in address
* families. For example, the address family AF_INET
only has the IP protocol.
*
AF_INET
only has the IP protocol.
*/
public void setIanaProtocolNumber(Integer ianaProtocolNumber) {
this.ianaProtocolNumber = ianaProtocolNumber;
}
/**
*
* Specifies a particular protocol within the address family. Usually there is a single protocol in address
* families. For example, the address family AF_INET
only has the IP protocol.
*
AF_INET
only has the IP protocol.
*/
public Integer getIanaProtocolNumber() {
return this.ianaProtocolNumber;
}
/**
*
* Specifies a particular protocol within the address family. Usually there is a single protocol in address
* families. For example, the address family AF_INET
only has the IP protocol.
*
AF_INET
only has the IP protocol.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RuntimeContext withIanaProtocolNumber(Integer ianaProtocolNumber) {
setIanaProtocolNumber(ianaProtocolNumber);
return this;
}
/**
* * Specifies the Region of a process's address space such as stack and heap. *
* * @return Specifies the Region of a process's address space such as stack and heap. */ public java.util.List* Specifies the Region of a process's address space such as stack and heap. *
* * @param memoryRegions * Specifies the Region of a process's address space such as stack and heap. */ public void setMemoryRegions(java.util.Collection* Specifies the Region of a process's address space such as stack and heap. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setMemoryRegions(java.util.Collection)} or {@link #withMemoryRegions(java.util.Collection)} if you want * to override the existing values. *
* * @param memoryRegions * Specifies the Region of a process's address space such as stack and heap. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withMemoryRegions(String... memoryRegions) { if (this.memoryRegions == null) { setMemoryRegions(new java.util.ArrayList* Specifies the Region of a process's address space such as stack and heap. *
* * @param memoryRegions * Specifies the Region of a process's address space such as stack and heap. * @return Returns a reference to this object so that method calls can be chained together. */ public RuntimeContext withMemoryRegions(java.util.Collection