/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Container details related to a finding.

See Also:

AWS * API Reference

*/ class ContainerDetails { public: AWS_SECURITYHUB_API ContainerDetails(); AWS_SECURITYHUB_API ContainerDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API ContainerDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The runtime of the container.

*/ inline const Aws::String& GetContainerRuntime() const{ return m_containerRuntime; } /** *

The runtime of the container.

*/ inline bool ContainerRuntimeHasBeenSet() const { return m_containerRuntimeHasBeenSet; } /** *

The runtime of the container.

*/ inline void SetContainerRuntime(const Aws::String& value) { m_containerRuntimeHasBeenSet = true; m_containerRuntime = value; } /** *

The runtime of the container.

*/ inline void SetContainerRuntime(Aws::String&& value) { m_containerRuntimeHasBeenSet = true; m_containerRuntime = std::move(value); } /** *

The runtime of the container.

*/ inline void SetContainerRuntime(const char* value) { m_containerRuntimeHasBeenSet = true; m_containerRuntime.assign(value); } /** *

The runtime of the container.

*/ inline ContainerDetails& WithContainerRuntime(const Aws::String& value) { SetContainerRuntime(value); return *this;} /** *

The runtime of the container.

*/ inline ContainerDetails& WithContainerRuntime(Aws::String&& value) { SetContainerRuntime(std::move(value)); return *this;} /** *

The runtime of the container.

*/ inline ContainerDetails& WithContainerRuntime(const char* value) { SetContainerRuntime(value); return *this;} /** *

The name of the container related to a finding.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the container related to a finding.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the container related to a finding.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the container related to a finding.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the container related to a finding.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the container related to a finding.

*/ inline ContainerDetails& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the container related to a finding.

*/ inline ContainerDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the container related to a finding.

*/ inline ContainerDetails& WithName(const char* value) { SetName(value); return *this;} /** *

The identifier of the container image related to a finding.

*/ inline const Aws::String& GetImageId() const{ return m_imageId; } /** *

The identifier of the container image related to a finding.

*/ inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } /** *

The identifier of the container image related to a finding.

*/ inline void SetImageId(const Aws::String& value) { m_imageIdHasBeenSet = true; m_imageId = value; } /** *

The identifier of the container image related to a finding.

*/ inline void SetImageId(Aws::String&& value) { m_imageIdHasBeenSet = true; m_imageId = std::move(value); } /** *

The identifier of the container image related to a finding.

*/ inline void SetImageId(const char* value) { m_imageIdHasBeenSet = true; m_imageId.assign(value); } /** *

The identifier of the container image related to a finding.

*/ inline ContainerDetails& WithImageId(const Aws::String& value) { SetImageId(value); return *this;} /** *

The identifier of the container image related to a finding.

*/ inline ContainerDetails& WithImageId(Aws::String&& value) { SetImageId(std::move(value)); return *this;} /** *

The identifier of the container image related to a finding.

*/ inline ContainerDetails& WithImageId(const char* value) { SetImageId(value); return *this;} /** *

The name of the container image related to a finding.

*/ inline const Aws::String& GetImageName() const{ return m_imageName; } /** *

The name of the container image related to a finding.

*/ inline bool ImageNameHasBeenSet() const { return m_imageNameHasBeenSet; } /** *

The name of the container image related to a finding.

*/ inline void SetImageName(const Aws::String& value) { m_imageNameHasBeenSet = true; m_imageName = value; } /** *

The name of the container image related to a finding.

*/ inline void SetImageName(Aws::String&& value) { m_imageNameHasBeenSet = true; m_imageName = std::move(value); } /** *

The name of the container image related to a finding.

*/ inline void SetImageName(const char* value) { m_imageNameHasBeenSet = true; m_imageName.assign(value); } /** *

The name of the container image related to a finding.

*/ inline ContainerDetails& WithImageName(const Aws::String& value) { SetImageName(value); return *this;} /** *

The name of the container image related to a finding.

*/ inline ContainerDetails& WithImageName(Aws::String&& value) { SetImageName(std::move(value)); return *this;} /** *

The name of the container image related to a finding.

*/ inline ContainerDetails& WithImageName(const char* value) { SetImageName(value); return *this;} /** *

Indicates when the container started.

Uses the date-time * format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline const Aws::String& GetLaunchedAt() const{ return m_launchedAt; } /** *

Indicates when the container started.

Uses the date-time * format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline bool LaunchedAtHasBeenSet() const { return m_launchedAtHasBeenSet; } /** *

Indicates when the container started.

Uses the date-time * format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetLaunchedAt(const Aws::String& value) { m_launchedAtHasBeenSet = true; m_launchedAt = value; } /** *

Indicates when the container started.

Uses the date-time * format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetLaunchedAt(Aws::String&& value) { m_launchedAtHasBeenSet = true; m_launchedAt = std::move(value); } /** *

Indicates when the container started.

Uses the date-time * format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetLaunchedAt(const char* value) { m_launchedAtHasBeenSet = true; m_launchedAt.assign(value); } /** *

Indicates when the container started.

Uses the date-time * format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline ContainerDetails& WithLaunchedAt(const Aws::String& value) { SetLaunchedAt(value); return *this;} /** *

Indicates when the container started.

Uses the date-time * format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline ContainerDetails& WithLaunchedAt(Aws::String&& value) { SetLaunchedAt(std::move(value)); return *this;} /** *

Indicates when the container started.

Uses the date-time * format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline ContainerDetails& WithLaunchedAt(const char* value) { SetLaunchedAt(value); return *this;} /** *

Provides information about the mounting of a volume in a container.

*/ inline const Aws::Vector& GetVolumeMounts() const{ return m_volumeMounts; } /** *

Provides information about the mounting of a volume in a container.

*/ inline bool VolumeMountsHasBeenSet() const { return m_volumeMountsHasBeenSet; } /** *

Provides information about the mounting of a volume in a container.

*/ inline void SetVolumeMounts(const Aws::Vector& value) { m_volumeMountsHasBeenSet = true; m_volumeMounts = value; } /** *

Provides information about the mounting of a volume in a container.

*/ inline void SetVolumeMounts(Aws::Vector&& value) { m_volumeMountsHasBeenSet = true; m_volumeMounts = std::move(value); } /** *

Provides information about the mounting of a volume in a container.

*/ inline ContainerDetails& WithVolumeMounts(const Aws::Vector& value) { SetVolumeMounts(value); return *this;} /** *

Provides information about the mounting of a volume in a container.

*/ inline ContainerDetails& WithVolumeMounts(Aws::Vector&& value) { SetVolumeMounts(std::move(value)); return *this;} /** *

Provides information about the mounting of a volume in a container.

*/ inline ContainerDetails& AddVolumeMounts(const VolumeMount& value) { m_volumeMountsHasBeenSet = true; m_volumeMounts.push_back(value); return *this; } /** *

Provides information about the mounting of a volume in a container.

*/ inline ContainerDetails& AddVolumeMounts(VolumeMount&& value) { m_volumeMountsHasBeenSet = true; m_volumeMounts.push_back(std::move(value)); return *this; } /** *

When this parameter is true, the container is given elevated * privileges on the host container instance (similar to the root user).

*/ inline bool GetPrivileged() const{ return m_privileged; } /** *

When this parameter is true, the container is given elevated * privileges on the host container instance (similar to the root user).

*/ inline bool PrivilegedHasBeenSet() const { return m_privilegedHasBeenSet; } /** *

When this parameter is true, the container is given elevated * privileges on the host container instance (similar to the root user).

*/ inline void SetPrivileged(bool value) { m_privilegedHasBeenSet = true; m_privileged = value; } /** *

When this parameter is true, the container is given elevated * privileges on the host container instance (similar to the root user).

*/ inline ContainerDetails& WithPrivileged(bool value) { SetPrivileged(value); return *this;} private: Aws::String m_containerRuntime; bool m_containerRuntimeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_imageId; bool m_imageIdHasBeenSet = false; Aws::String m_imageName; bool m_imageNameHasBeenSet = false; Aws::String m_launchedAt; bool m_launchedAtHasBeenSet = false; Aws::Vector m_volumeMounts; bool m_volumeMountsHasBeenSet = false; bool m_privileged; bool m_privilegedHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws