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

An object representing an Amazon ECR image layer.

See Also:

* AWS API * Reference

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

The sha256 digest of the image layer.

*/ inline const Aws::String& GetLayerDigest() const{ return m_layerDigest; } /** *

The sha256 digest of the image layer.

*/ inline bool LayerDigestHasBeenSet() const { return m_layerDigestHasBeenSet; } /** *

The sha256 digest of the image layer.

*/ inline void SetLayerDigest(const Aws::String& value) { m_layerDigestHasBeenSet = true; m_layerDigest = value; } /** *

The sha256 digest of the image layer.

*/ inline void SetLayerDigest(Aws::String&& value) { m_layerDigestHasBeenSet = true; m_layerDigest = std::move(value); } /** *

The sha256 digest of the image layer.

*/ inline void SetLayerDigest(const char* value) { m_layerDigestHasBeenSet = true; m_layerDigest.assign(value); } /** *

The sha256 digest of the image layer.

*/ inline Layer& WithLayerDigest(const Aws::String& value) { SetLayerDigest(value); return *this;} /** *

The sha256 digest of the image layer.

*/ inline Layer& WithLayerDigest(Aws::String&& value) { SetLayerDigest(std::move(value)); return *this;} /** *

The sha256 digest of the image layer.

*/ inline Layer& WithLayerDigest(const char* value) { SetLayerDigest(value); return *this;} /** *

The availability status of the image layer.

*/ inline const LayerAvailability& GetLayerAvailability() const{ return m_layerAvailability; } /** *

The availability status of the image layer.

*/ inline bool LayerAvailabilityHasBeenSet() const { return m_layerAvailabilityHasBeenSet; } /** *

The availability status of the image layer.

*/ inline void SetLayerAvailability(const LayerAvailability& value) { m_layerAvailabilityHasBeenSet = true; m_layerAvailability = value; } /** *

The availability status of the image layer.

*/ inline void SetLayerAvailability(LayerAvailability&& value) { m_layerAvailabilityHasBeenSet = true; m_layerAvailability = std::move(value); } /** *

The availability status of the image layer.

*/ inline Layer& WithLayerAvailability(const LayerAvailability& value) { SetLayerAvailability(value); return *this;} /** *

The availability status of the image layer.

*/ inline Layer& WithLayerAvailability(LayerAvailability&& value) { SetLayerAvailability(std::move(value)); return *this;} /** *

The size, in bytes, of the image layer.

*/ inline long long GetLayerSize() const{ return m_layerSize; } /** *

The size, in bytes, of the image layer.

*/ inline bool LayerSizeHasBeenSet() const { return m_layerSizeHasBeenSet; } /** *

The size, in bytes, of the image layer.

*/ inline void SetLayerSize(long long value) { m_layerSizeHasBeenSet = true; m_layerSize = value; } /** *

The size, in bytes, of the image layer.

*/ inline Layer& WithLayerSize(long long value) { SetLayerSize(value); return *this;} /** *

The media type of the layer, such as * application/vnd.docker.image.rootfs.diff.tar.gzip or * application/vnd.oci.image.layer.v1.tar+gzip.

*/ inline const Aws::String& GetMediaType() const{ return m_mediaType; } /** *

The media type of the layer, such as * application/vnd.docker.image.rootfs.diff.tar.gzip or * application/vnd.oci.image.layer.v1.tar+gzip.

*/ inline bool MediaTypeHasBeenSet() const { return m_mediaTypeHasBeenSet; } /** *

The media type of the layer, such as * application/vnd.docker.image.rootfs.diff.tar.gzip or * application/vnd.oci.image.layer.v1.tar+gzip.

*/ inline void SetMediaType(const Aws::String& value) { m_mediaTypeHasBeenSet = true; m_mediaType = value; } /** *

The media type of the layer, such as * application/vnd.docker.image.rootfs.diff.tar.gzip or * application/vnd.oci.image.layer.v1.tar+gzip.

*/ inline void SetMediaType(Aws::String&& value) { m_mediaTypeHasBeenSet = true; m_mediaType = std::move(value); } /** *

The media type of the layer, such as * application/vnd.docker.image.rootfs.diff.tar.gzip or * application/vnd.oci.image.layer.v1.tar+gzip.

*/ inline void SetMediaType(const char* value) { m_mediaTypeHasBeenSet = true; m_mediaType.assign(value); } /** *

The media type of the layer, such as * application/vnd.docker.image.rootfs.diff.tar.gzip or * application/vnd.oci.image.layer.v1.tar+gzip.

*/ inline Layer& WithMediaType(const Aws::String& value) { SetMediaType(value); return *this;} /** *

The media type of the layer, such as * application/vnd.docker.image.rootfs.diff.tar.gzip or * application/vnd.oci.image.layer.v1.tar+gzip.

*/ inline Layer& WithMediaType(Aws::String&& value) { SetMediaType(std::move(value)); return *this;} /** *

The media type of the layer, such as * application/vnd.docker.image.rootfs.diff.tar.gzip or * application/vnd.oci.image.layer.v1.tar+gzip.

*/ inline Layer& WithMediaType(const char* value) { SetMediaType(value); return *this;} private: Aws::String m_layerDigest; bool m_layerDigestHasBeenSet = false; LayerAvailability m_layerAvailability; bool m_layerAvailabilityHasBeenSet = false; long long m_layerSize; bool m_layerSizeHasBeenSet = false; Aws::String m_mediaType; bool m_mediaTypeHasBeenSet = false; }; } // namespace Model } // namespace ECR } // namespace Aws