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

Details of a container.

See Also:

AWS * API Reference

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

The container runtime (such as, Docker or containerd) used to run the * container.

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

The container runtime (such as, Docker or containerd) used to run the * container.

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

The container runtime (such as, Docker or containerd) used to run the * container.

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

The container runtime (such as, Docker or containerd) used to run the * container.

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

The container runtime (such as, Docker or containerd) used to run the * container.

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

The container runtime (such as, Docker or containerd) used to run the * container.

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

The container runtime (such as, Docker or containerd) used to run the * container.

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

The container runtime (such as, Docker or containerd) used to run the * container.

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

Container ID.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

Container ID.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

Container ID.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

Container ID.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

Container ID.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

Container ID.

*/ inline Container& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

Container ID.

*/ inline Container& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

Container ID.

*/ inline Container& WithId(const char* value) { SetId(value); return *this;} /** *

Container name.

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

Container name.

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

Container name.

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

Container name.

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

Container name.

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

Container name.

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

Container name.

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

Container name.

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

Container image.

*/ inline const Aws::String& GetImage() const{ return m_image; } /** *

Container image.

*/ inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; } /** *

Container image.

*/ inline void SetImage(const Aws::String& value) { m_imageHasBeenSet = true; m_image = value; } /** *

Container image.

*/ inline void SetImage(Aws::String&& value) { m_imageHasBeenSet = true; m_image = std::move(value); } /** *

Container image.

*/ inline void SetImage(const char* value) { m_imageHasBeenSet = true; m_image.assign(value); } /** *

Container image.

*/ inline Container& WithImage(const Aws::String& value) { SetImage(value); return *this;} /** *

Container image.

*/ inline Container& WithImage(Aws::String&& value) { SetImage(std::move(value)); return *this;} /** *

Container image.

*/ inline Container& WithImage(const char* value) { SetImage(value); return *this;} /** *

Part of the image name before the last slash. For example, imagePrefix for * public.ecr.aws/amazonlinux/amazonlinux:latest would be * public.ecr.aws/amazonlinux. If the image name is relative and does not have a * slash, this field is empty.

*/ inline const Aws::String& GetImagePrefix() const{ return m_imagePrefix; } /** *

Part of the image name before the last slash. For example, imagePrefix for * public.ecr.aws/amazonlinux/amazonlinux:latest would be * public.ecr.aws/amazonlinux. If the image name is relative and does not have a * slash, this field is empty.

*/ inline bool ImagePrefixHasBeenSet() const { return m_imagePrefixHasBeenSet; } /** *

Part of the image name before the last slash. For example, imagePrefix for * public.ecr.aws/amazonlinux/amazonlinux:latest would be * public.ecr.aws/amazonlinux. If the image name is relative and does not have a * slash, this field is empty.

*/ inline void SetImagePrefix(const Aws::String& value) { m_imagePrefixHasBeenSet = true; m_imagePrefix = value; } /** *

Part of the image name before the last slash. For example, imagePrefix for * public.ecr.aws/amazonlinux/amazonlinux:latest would be * public.ecr.aws/amazonlinux. If the image name is relative and does not have a * slash, this field is empty.

*/ inline void SetImagePrefix(Aws::String&& value) { m_imagePrefixHasBeenSet = true; m_imagePrefix = std::move(value); } /** *

Part of the image name before the last slash. For example, imagePrefix for * public.ecr.aws/amazonlinux/amazonlinux:latest would be * public.ecr.aws/amazonlinux. If the image name is relative and does not have a * slash, this field is empty.

*/ inline void SetImagePrefix(const char* value) { m_imagePrefixHasBeenSet = true; m_imagePrefix.assign(value); } /** *

Part of the image name before the last slash. For example, imagePrefix for * public.ecr.aws/amazonlinux/amazonlinux:latest would be * public.ecr.aws/amazonlinux. If the image name is relative and does not have a * slash, this field is empty.

*/ inline Container& WithImagePrefix(const Aws::String& value) { SetImagePrefix(value); return *this;} /** *

Part of the image name before the last slash. For example, imagePrefix for * public.ecr.aws/amazonlinux/amazonlinux:latest would be * public.ecr.aws/amazonlinux. If the image name is relative and does not have a * slash, this field is empty.

*/ inline Container& WithImagePrefix(Aws::String&& value) { SetImagePrefix(std::move(value)); return *this;} /** *

Part of the image name before the last slash. For example, imagePrefix for * public.ecr.aws/amazonlinux/amazonlinux:latest would be * public.ecr.aws/amazonlinux. If the image name is relative and does not have a * slash, this field is empty.

*/ inline Container& WithImagePrefix(const char* value) { SetImagePrefix(value); return *this;} /** *

Container volume mounts.

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

Container volume mounts.

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

Container volume mounts.

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

Container volume mounts.

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

Container volume mounts.

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

Container volume mounts.

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

Container volume mounts.

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

Container volume mounts.

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

Container security context.

*/ inline const SecurityContext& GetSecurityContext() const{ return m_securityContext; } /** *

Container security context.

*/ inline bool SecurityContextHasBeenSet() const { return m_securityContextHasBeenSet; } /** *

Container security context.

*/ inline void SetSecurityContext(const SecurityContext& value) { m_securityContextHasBeenSet = true; m_securityContext = value; } /** *

Container security context.

*/ inline void SetSecurityContext(SecurityContext&& value) { m_securityContextHasBeenSet = true; m_securityContext = std::move(value); } /** *

Container security context.

*/ inline Container& WithSecurityContext(const SecurityContext& value) { SetSecurityContext(value); return *this;} /** *

Container security context.

*/ inline Container& WithSecurityContext(SecurityContext&& value) { SetSecurityContext(std::move(value)); return *this;} private: Aws::String m_containerRuntime; bool m_containerRuntimeHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_image; bool m_imageHasBeenSet = false; Aws::String m_imagePrefix; bool m_imagePrefixHasBeenSet = false; Aws::Vector m_volumeMounts; bool m_volumeMountsHasBeenSet = false; SecurityContext m_securityContext; bool m_securityContextHasBeenSet = false; }; } // namespace Model } // namespace GuardDuty } // namespace Aws