/** * 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 MediaStoreData { namespace Model { /** */ class GetObjectRequest : public MediaStoreDataRequest { public: AWS_MEDIASTOREDATA_API GetObjectRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "GetObject"; } AWS_MEDIASTOREDATA_API Aws::String SerializePayload() const override; AWS_MEDIASTOREDATA_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The path (including the file name) where the object is stored in the * container. Format: <folder name>/<folder name>/<file name>

*

For example, to upload the file mlaw.avi to the folder path * premium\canada in the container movies, enter the path * premium/canada/mlaw.avi.

Do not include the container name * in this path.

If the path includes any folders that don't exist yet, the * service creates them. For example, suppose you have an existing * premium/usa subfolder. If you specify premium/canada, * the service creates a canada subfolder in the premium * folder. You then have two subfolders, usa and canada, * in the premium folder.

There is no correlation between the * path to the source and the path (folders) in the container in AWS Elemental * MediaStore.

For more information about folders and how they exist in a * container, see the AWS Elemental MediaStore * User Guide.

The file name is the name that is assigned to the file * that you upload. The file can have the same name inside and outside of AWS * Elemental MediaStore, or it can have the same name. The file name can include or * omit an extension.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The path (including the file name) where the object is stored in the * container. Format: <folder name>/<folder name>/<file name>

*

For example, to upload the file mlaw.avi to the folder path * premium\canada in the container movies, enter the path * premium/canada/mlaw.avi.

Do not include the container name * in this path.

If the path includes any folders that don't exist yet, the * service creates them. For example, suppose you have an existing * premium/usa subfolder. If you specify premium/canada, * the service creates a canada subfolder in the premium * folder. You then have two subfolders, usa and canada, * in the premium folder.

There is no correlation between the * path to the source and the path (folders) in the container in AWS Elemental * MediaStore.

For more information about folders and how they exist in a * container, see the AWS Elemental MediaStore * User Guide.

The file name is the name that is assigned to the file * that you upload. The file can have the same name inside and outside of AWS * Elemental MediaStore, or it can have the same name. The file name can include or * omit an extension.

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

The path (including the file name) where the object is stored in the * container. Format: <folder name>/<folder name>/<file name>

*

For example, to upload the file mlaw.avi to the folder path * premium\canada in the container movies, enter the path * premium/canada/mlaw.avi.

Do not include the container name * in this path.

If the path includes any folders that don't exist yet, the * service creates them. For example, suppose you have an existing * premium/usa subfolder. If you specify premium/canada, * the service creates a canada subfolder in the premium * folder. You then have two subfolders, usa and canada, * in the premium folder.

There is no correlation between the * path to the source and the path (folders) in the container in AWS Elemental * MediaStore.

For more information about folders and how they exist in a * container, see the AWS Elemental MediaStore * User Guide.

The file name is the name that is assigned to the file * that you upload. The file can have the same name inside and outside of AWS * Elemental MediaStore, or it can have the same name. The file name can include or * omit an extension.

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

The path (including the file name) where the object is stored in the * container. Format: <folder name>/<folder name>/<file name>

*

For example, to upload the file mlaw.avi to the folder path * premium\canada in the container movies, enter the path * premium/canada/mlaw.avi.

Do not include the container name * in this path.

If the path includes any folders that don't exist yet, the * service creates them. For example, suppose you have an existing * premium/usa subfolder. If you specify premium/canada, * the service creates a canada subfolder in the premium * folder. You then have two subfolders, usa and canada, * in the premium folder.

There is no correlation between the * path to the source and the path (folders) in the container in AWS Elemental * MediaStore.

For more information about folders and how they exist in a * container, see the AWS Elemental MediaStore * User Guide.

The file name is the name that is assigned to the file * that you upload. The file can have the same name inside and outside of AWS * Elemental MediaStore, or it can have the same name. The file name can include or * omit an extension.

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

The path (including the file name) where the object is stored in the * container. Format: <folder name>/<folder name>/<file name>

*

For example, to upload the file mlaw.avi to the folder path * premium\canada in the container movies, enter the path * premium/canada/mlaw.avi.

Do not include the container name * in this path.

If the path includes any folders that don't exist yet, the * service creates them. For example, suppose you have an existing * premium/usa subfolder. If you specify premium/canada, * the service creates a canada subfolder in the premium * folder. You then have two subfolders, usa and canada, * in the premium folder.

There is no correlation between the * path to the source and the path (folders) in the container in AWS Elemental * MediaStore.

For more information about folders and how they exist in a * container, see the AWS Elemental MediaStore * User Guide.

The file name is the name that is assigned to the file * that you upload. The file can have the same name inside and outside of AWS * Elemental MediaStore, or it can have the same name. The file name can include or * omit an extension.

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

The path (including the file name) where the object is stored in the * container. Format: <folder name>/<folder name>/<file name>

*

For example, to upload the file mlaw.avi to the folder path * premium\canada in the container movies, enter the path * premium/canada/mlaw.avi.

Do not include the container name * in this path.

If the path includes any folders that don't exist yet, the * service creates them. For example, suppose you have an existing * premium/usa subfolder. If you specify premium/canada, * the service creates a canada subfolder in the premium * folder. You then have two subfolders, usa and canada, * in the premium folder.

There is no correlation between the * path to the source and the path (folders) in the container in AWS Elemental * MediaStore.

For more information about folders and how they exist in a * container, see the AWS Elemental MediaStore * User Guide.

The file name is the name that is assigned to the file * that you upload. The file can have the same name inside and outside of AWS * Elemental MediaStore, or it can have the same name. The file name can include or * omit an extension.

*/ inline GetObjectRequest& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The path (including the file name) where the object is stored in the * container. Format: <folder name>/<folder name>/<file name>

*

For example, to upload the file mlaw.avi to the folder path * premium\canada in the container movies, enter the path * premium/canada/mlaw.avi.

Do not include the container name * in this path.

If the path includes any folders that don't exist yet, the * service creates them. For example, suppose you have an existing * premium/usa subfolder. If you specify premium/canada, * the service creates a canada subfolder in the premium * folder. You then have two subfolders, usa and canada, * in the premium folder.

There is no correlation between the * path to the source and the path (folders) in the container in AWS Elemental * MediaStore.

For more information about folders and how they exist in a * container, see the AWS Elemental MediaStore * User Guide.

The file name is the name that is assigned to the file * that you upload. The file can have the same name inside and outside of AWS * Elemental MediaStore, or it can have the same name. The file name can include or * omit an extension.

*/ inline GetObjectRequest& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The path (including the file name) where the object is stored in the * container. Format: <folder name>/<folder name>/<file name>

*

For example, to upload the file mlaw.avi to the folder path * premium\canada in the container movies, enter the path * premium/canada/mlaw.avi.

Do not include the container name * in this path.

If the path includes any folders that don't exist yet, the * service creates them. For example, suppose you have an existing * premium/usa subfolder. If you specify premium/canada, * the service creates a canada subfolder in the premium * folder. You then have two subfolders, usa and canada, * in the premium folder.

There is no correlation between the * path to the source and the path (folders) in the container in AWS Elemental * MediaStore.

For more information about folders and how they exist in a * container, see the AWS Elemental MediaStore * User Guide.

The file name is the name that is assigned to the file * that you upload. The file can have the same name inside and outside of AWS * Elemental MediaStore, or it can have the same name. The file name can include or * omit an extension.

*/ inline GetObjectRequest& WithPath(const char* value) { SetPath(value); return *this;} /** *

The range bytes of an object to retrieve. For more information about the * Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. * AWS Elemental MediaStore ignores this header for partially uploaded objects that * have streaming upload availability.

*/ inline const Aws::String& GetRange() const{ return m_range; } /** *

The range bytes of an object to retrieve. For more information about the * Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. * AWS Elemental MediaStore ignores this header for partially uploaded objects that * have streaming upload availability.

*/ inline bool RangeHasBeenSet() const { return m_rangeHasBeenSet; } /** *

The range bytes of an object to retrieve. For more information about the * Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. * AWS Elemental MediaStore ignores this header for partially uploaded objects that * have streaming upload availability.

*/ inline void SetRange(const Aws::String& value) { m_rangeHasBeenSet = true; m_range = value; } /** *

The range bytes of an object to retrieve. For more information about the * Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. * AWS Elemental MediaStore ignores this header for partially uploaded objects that * have streaming upload availability.

*/ inline void SetRange(Aws::String&& value) { m_rangeHasBeenSet = true; m_range = std::move(value); } /** *

The range bytes of an object to retrieve. For more information about the * Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. * AWS Elemental MediaStore ignores this header for partially uploaded objects that * have streaming upload availability.

*/ inline void SetRange(const char* value) { m_rangeHasBeenSet = true; m_range.assign(value); } /** *

The range bytes of an object to retrieve. For more information about the * Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. * AWS Elemental MediaStore ignores this header for partially uploaded objects that * have streaming upload availability.

*/ inline GetObjectRequest& WithRange(const Aws::String& value) { SetRange(value); return *this;} /** *

The range bytes of an object to retrieve. For more information about the * Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. * AWS Elemental MediaStore ignores this header for partially uploaded objects that * have streaming upload availability.

*/ inline GetObjectRequest& WithRange(Aws::String&& value) { SetRange(std::move(value)); return *this;} /** *

The range bytes of an object to retrieve. For more information about the * Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. * AWS Elemental MediaStore ignores this header for partially uploaded objects that * have streaming upload availability.

*/ inline GetObjectRequest& WithRange(const char* value) { SetRange(value); return *this;} private: Aws::String m_path; bool m_pathHasBeenSet = false; Aws::String m_range; bool m_rangeHasBeenSet = false; }; } // namespace Model } // namespace MediaStoreData } // namespace Aws