/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes an Amazon FPGA image (AFI).See Also:
AWS API
* Reference
The FPGA image identifier (AFI ID).
*/ inline const Aws::String& GetFpgaImageId() const{ return m_fpgaImageId; } /** *The FPGA image identifier (AFI ID).
*/ inline bool FpgaImageIdHasBeenSet() const { return m_fpgaImageIdHasBeenSet; } /** *The FPGA image identifier (AFI ID).
*/ inline void SetFpgaImageId(const Aws::String& value) { m_fpgaImageIdHasBeenSet = true; m_fpgaImageId = value; } /** *The FPGA image identifier (AFI ID).
*/ inline void SetFpgaImageId(Aws::String&& value) { m_fpgaImageIdHasBeenSet = true; m_fpgaImageId = std::move(value); } /** *The FPGA image identifier (AFI ID).
*/ inline void SetFpgaImageId(const char* value) { m_fpgaImageIdHasBeenSet = true; m_fpgaImageId.assign(value); } /** *The FPGA image identifier (AFI ID).
*/ inline FpgaImage& WithFpgaImageId(const Aws::String& value) { SetFpgaImageId(value); return *this;} /** *The FPGA image identifier (AFI ID).
*/ inline FpgaImage& WithFpgaImageId(Aws::String&& value) { SetFpgaImageId(std::move(value)); return *this;} /** *The FPGA image identifier (AFI ID).
*/ inline FpgaImage& WithFpgaImageId(const char* value) { SetFpgaImageId(value); return *this;} /** *The global FPGA image identifier (AGFI ID).
*/ inline const Aws::String& GetFpgaImageGlobalId() const{ return m_fpgaImageGlobalId; } /** *The global FPGA image identifier (AGFI ID).
*/ inline bool FpgaImageGlobalIdHasBeenSet() const { return m_fpgaImageGlobalIdHasBeenSet; } /** *The global FPGA image identifier (AGFI ID).
*/ inline void SetFpgaImageGlobalId(const Aws::String& value) { m_fpgaImageGlobalIdHasBeenSet = true; m_fpgaImageGlobalId = value; } /** *The global FPGA image identifier (AGFI ID).
*/ inline void SetFpgaImageGlobalId(Aws::String&& value) { m_fpgaImageGlobalIdHasBeenSet = true; m_fpgaImageGlobalId = std::move(value); } /** *The global FPGA image identifier (AGFI ID).
*/ inline void SetFpgaImageGlobalId(const char* value) { m_fpgaImageGlobalIdHasBeenSet = true; m_fpgaImageGlobalId.assign(value); } /** *The global FPGA image identifier (AGFI ID).
*/ inline FpgaImage& WithFpgaImageGlobalId(const Aws::String& value) { SetFpgaImageGlobalId(value); return *this;} /** *The global FPGA image identifier (AGFI ID).
*/ inline FpgaImage& WithFpgaImageGlobalId(Aws::String&& value) { SetFpgaImageGlobalId(std::move(value)); return *this;} /** *The global FPGA image identifier (AGFI ID).
*/ inline FpgaImage& WithFpgaImageGlobalId(const char* value) { SetFpgaImageGlobalId(value); return *this;} /** *The name of the AFI.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the AFI.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the AFI.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the AFI.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the AFI.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the AFI.
*/ inline FpgaImage& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the AFI.
*/ inline FpgaImage& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the AFI.
*/ inline FpgaImage& WithName(const char* value) { SetName(value); return *this;} /** *The description of the AFI.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The description of the AFI.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The description of the AFI.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The description of the AFI.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The description of the AFI.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The description of the AFI.
*/ inline FpgaImage& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The description of the AFI.
*/ inline FpgaImage& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The description of the AFI.
*/ inline FpgaImage& WithDescription(const char* value) { SetDescription(value); return *this;} /** *The version of the AWS Shell that was used to create the bitstream.
*/ inline const Aws::String& GetShellVersion() const{ return m_shellVersion; } /** *The version of the AWS Shell that was used to create the bitstream.
*/ inline bool ShellVersionHasBeenSet() const { return m_shellVersionHasBeenSet; } /** *The version of the AWS Shell that was used to create the bitstream.
*/ inline void SetShellVersion(const Aws::String& value) { m_shellVersionHasBeenSet = true; m_shellVersion = value; } /** *The version of the AWS Shell that was used to create the bitstream.
*/ inline void SetShellVersion(Aws::String&& value) { m_shellVersionHasBeenSet = true; m_shellVersion = std::move(value); } /** *The version of the AWS Shell that was used to create the bitstream.
*/ inline void SetShellVersion(const char* value) { m_shellVersionHasBeenSet = true; m_shellVersion.assign(value); } /** *The version of the AWS Shell that was used to create the bitstream.
*/ inline FpgaImage& WithShellVersion(const Aws::String& value) { SetShellVersion(value); return *this;} /** *The version of the AWS Shell that was used to create the bitstream.
*/ inline FpgaImage& WithShellVersion(Aws::String&& value) { SetShellVersion(std::move(value)); return *this;} /** *The version of the AWS Shell that was used to create the bitstream.
*/ inline FpgaImage& WithShellVersion(const char* value) { SetShellVersion(value); return *this;} /** *Information about the PCI bus.
*/ inline const PciId& GetPciId() const{ return m_pciId; } /** *Information about the PCI bus.
*/ inline bool PciIdHasBeenSet() const { return m_pciIdHasBeenSet; } /** *Information about the PCI bus.
*/ inline void SetPciId(const PciId& value) { m_pciIdHasBeenSet = true; m_pciId = value; } /** *Information about the PCI bus.
*/ inline void SetPciId(PciId&& value) { m_pciIdHasBeenSet = true; m_pciId = std::move(value); } /** *Information about the PCI bus.
*/ inline FpgaImage& WithPciId(const PciId& value) { SetPciId(value); return *this;} /** *Information about the PCI bus.
*/ inline FpgaImage& WithPciId(PciId&& value) { SetPciId(std::move(value)); return *this;} /** *Information about the state of the AFI.
*/ inline const FpgaImageState& GetState() const{ return m_state; } /** *Information about the state of the AFI.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *Information about the state of the AFI.
*/ inline void SetState(const FpgaImageState& value) { m_stateHasBeenSet = true; m_state = value; } /** *Information about the state of the AFI.
*/ inline void SetState(FpgaImageState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *Information about the state of the AFI.
*/ inline FpgaImage& WithState(const FpgaImageState& value) { SetState(value); return *this;} /** *Information about the state of the AFI.
*/ inline FpgaImage& WithState(FpgaImageState&& value) { SetState(std::move(value)); return *this;} /** *The date and time the AFI was created.
*/ inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; } /** *The date and time the AFI was created.
*/ inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; } /** *The date and time the AFI was created.
*/ inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; } /** *The date and time the AFI was created.
*/ inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); } /** *The date and time the AFI was created.
*/ inline FpgaImage& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;} /** *The date and time the AFI was created.
*/ inline FpgaImage& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;} /** *The time of the most recent update to the AFI.
*/ inline const Aws::Utils::DateTime& GetUpdateTime() const{ return m_updateTime; } /** *The time of the most recent update to the AFI.
*/ inline bool UpdateTimeHasBeenSet() const { return m_updateTimeHasBeenSet; } /** *The time of the most recent update to the AFI.
*/ inline void SetUpdateTime(const Aws::Utils::DateTime& value) { m_updateTimeHasBeenSet = true; m_updateTime = value; } /** *The time of the most recent update to the AFI.
*/ inline void SetUpdateTime(Aws::Utils::DateTime&& value) { m_updateTimeHasBeenSet = true; m_updateTime = std::move(value); } /** *The time of the most recent update to the AFI.
*/ inline FpgaImage& WithUpdateTime(const Aws::Utils::DateTime& value) { SetUpdateTime(value); return *this;} /** *The time of the most recent update to the AFI.
*/ inline FpgaImage& WithUpdateTime(Aws::Utils::DateTime&& value) { SetUpdateTime(std::move(value)); return *this;} /** *The AWS account ID of the AFI owner.
*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *The AWS account ID of the AFI owner.
*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *The AWS account ID of the AFI owner.
*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *The AWS account ID of the AFI owner.
*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *The AWS account ID of the AFI owner.
*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *The AWS account ID of the AFI owner.
*/ inline FpgaImage& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *The AWS account ID of the AFI owner.
*/ inline FpgaImage& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *The AWS account ID of the AFI owner.
*/ inline FpgaImage& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *The alias of the AFI owner. Possible values include self,
* amazon, and aws-marketplace.
The alias of the AFI owner. Possible values include self,
* amazon, and aws-marketplace.
The alias of the AFI owner. Possible values include self,
* amazon, and aws-marketplace.
The alias of the AFI owner. Possible values include self,
* amazon, and aws-marketplace.
The alias of the AFI owner. Possible values include self,
* amazon, and aws-marketplace.
The alias of the AFI owner. Possible values include self,
* amazon, and aws-marketplace.
The alias of the AFI owner. Possible values include self,
* amazon, and aws-marketplace.
The alias of the AFI owner. Possible values include self,
* amazon, and aws-marketplace.
The product codes for the AFI.
*/ inline const Aws::VectorThe product codes for the AFI.
*/ inline bool ProductCodesHasBeenSet() const { return m_productCodesHasBeenSet; } /** *The product codes for the AFI.
*/ inline void SetProductCodes(const Aws::VectorThe product codes for the AFI.
*/ inline void SetProductCodes(Aws::VectorThe product codes for the AFI.
*/ inline FpgaImage& WithProductCodes(const Aws::VectorThe product codes for the AFI.
*/ inline FpgaImage& WithProductCodes(Aws::VectorThe product codes for the AFI.
*/ inline FpgaImage& AddProductCodes(const ProductCode& value) { m_productCodesHasBeenSet = true; m_productCodes.push_back(value); return *this; } /** *The product codes for the AFI.
*/ inline FpgaImage& AddProductCodes(ProductCode&& value) { m_productCodesHasBeenSet = true; m_productCodes.push_back(std::move(value)); return *this; } /** *Any tags assigned to the AFI.
*/ inline const Aws::VectorAny tags assigned to the AFI.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *Any tags assigned to the AFI.
*/ inline void SetTags(const Aws::VectorAny tags assigned to the AFI.
*/ inline void SetTags(Aws::VectorAny tags assigned to the AFI.
*/ inline FpgaImage& WithTags(const Aws::VectorAny tags assigned to the AFI.
*/ inline FpgaImage& WithTags(Aws::VectorAny tags assigned to the AFI.
*/ inline FpgaImage& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *Any tags assigned to the AFI.
*/ inline FpgaImage& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *Indicates whether the AFI is public.
*/ inline bool GetPublic() const{ return m_public; } /** *Indicates whether the AFI is public.
*/ inline bool PublicHasBeenSet() const { return m_publicHasBeenSet; } /** *Indicates whether the AFI is public.
*/ inline void SetPublic(bool value) { m_publicHasBeenSet = true; m_public = value; } /** *Indicates whether the AFI is public.
*/ inline FpgaImage& WithPublic(bool value) { SetPublic(value); return *this;} /** *Indicates whether data retention support is enabled for the AFI.
*/ inline bool GetDataRetentionSupport() const{ return m_dataRetentionSupport; } /** *Indicates whether data retention support is enabled for the AFI.
*/ inline bool DataRetentionSupportHasBeenSet() const { return m_dataRetentionSupportHasBeenSet; } /** *Indicates whether data retention support is enabled for the AFI.
*/ inline void SetDataRetentionSupport(bool value) { m_dataRetentionSupportHasBeenSet = true; m_dataRetentionSupport = value; } /** *Indicates whether data retention support is enabled for the AFI.
*/ inline FpgaImage& WithDataRetentionSupport(bool value) { SetDataRetentionSupport(value); return *this;} private: Aws::String m_fpgaImageId; bool m_fpgaImageIdHasBeenSet; Aws::String m_fpgaImageGlobalId; bool m_fpgaImageGlobalIdHasBeenSet; Aws::String m_name; bool m_nameHasBeenSet; Aws::String m_description; bool m_descriptionHasBeenSet; Aws::String m_shellVersion; bool m_shellVersionHasBeenSet; PciId m_pciId; bool m_pciIdHasBeenSet; FpgaImageState m_state; bool m_stateHasBeenSet; Aws::Utils::DateTime m_createTime; bool m_createTimeHasBeenSet; Aws::Utils::DateTime m_updateTime; bool m_updateTimeHasBeenSet; Aws::String m_ownerId; bool m_ownerIdHasBeenSet; Aws::String m_ownerAlias; bool m_ownerAliasHasBeenSet; Aws::Vector