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

Details about the asset.

See Also:

AWS * API Reference

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

The Amazon S3 object that is the asset.

*/ inline const S3SnapshotAsset& GetS3SnapshotAsset() const{ return m_s3SnapshotAsset; } /** *

The Amazon S3 object that is the asset.

*/ inline bool S3SnapshotAssetHasBeenSet() const { return m_s3SnapshotAssetHasBeenSet; } /** *

The Amazon S3 object that is the asset.

*/ inline void SetS3SnapshotAsset(const S3SnapshotAsset& value) { m_s3SnapshotAssetHasBeenSet = true; m_s3SnapshotAsset = value; } /** *

The Amazon S3 object that is the asset.

*/ inline void SetS3SnapshotAsset(S3SnapshotAsset&& value) { m_s3SnapshotAssetHasBeenSet = true; m_s3SnapshotAsset = std::move(value); } /** *

The Amazon S3 object that is the asset.

*/ inline AssetDetails& WithS3SnapshotAsset(const S3SnapshotAsset& value) { SetS3SnapshotAsset(value); return *this;} /** *

The Amazon S3 object that is the asset.

*/ inline AssetDetails& WithS3SnapshotAsset(S3SnapshotAsset&& value) { SetS3SnapshotAsset(std::move(value)); return *this;} /** *

The Amazon Redshift datashare that is the asset.

*/ inline const RedshiftDataShareAsset& GetRedshiftDataShareAsset() const{ return m_redshiftDataShareAsset; } /** *

The Amazon Redshift datashare that is the asset.

*/ inline bool RedshiftDataShareAssetHasBeenSet() const { return m_redshiftDataShareAssetHasBeenSet; } /** *

The Amazon Redshift datashare that is the asset.

*/ inline void SetRedshiftDataShareAsset(const RedshiftDataShareAsset& value) { m_redshiftDataShareAssetHasBeenSet = true; m_redshiftDataShareAsset = value; } /** *

The Amazon Redshift datashare that is the asset.

*/ inline void SetRedshiftDataShareAsset(RedshiftDataShareAsset&& value) { m_redshiftDataShareAssetHasBeenSet = true; m_redshiftDataShareAsset = std::move(value); } /** *

The Amazon Redshift datashare that is the asset.

*/ inline AssetDetails& WithRedshiftDataShareAsset(const RedshiftDataShareAsset& value) { SetRedshiftDataShareAsset(value); return *this;} /** *

The Amazon Redshift datashare that is the asset.

*/ inline AssetDetails& WithRedshiftDataShareAsset(RedshiftDataShareAsset&& value) { SetRedshiftDataShareAsset(std::move(value)); return *this;} /** *

Information about the API Gateway API asset.

*/ inline const ApiGatewayApiAsset& GetApiGatewayApiAsset() const{ return m_apiGatewayApiAsset; } /** *

Information about the API Gateway API asset.

*/ inline bool ApiGatewayApiAssetHasBeenSet() const { return m_apiGatewayApiAssetHasBeenSet; } /** *

Information about the API Gateway API asset.

*/ inline void SetApiGatewayApiAsset(const ApiGatewayApiAsset& value) { m_apiGatewayApiAssetHasBeenSet = true; m_apiGatewayApiAsset = value; } /** *

Information about the API Gateway API asset.

*/ inline void SetApiGatewayApiAsset(ApiGatewayApiAsset&& value) { m_apiGatewayApiAssetHasBeenSet = true; m_apiGatewayApiAsset = std::move(value); } /** *

Information about the API Gateway API asset.

*/ inline AssetDetails& WithApiGatewayApiAsset(const ApiGatewayApiAsset& value) { SetApiGatewayApiAsset(value); return *this;} /** *

Information about the API Gateway API asset.

*/ inline AssetDetails& WithApiGatewayApiAsset(ApiGatewayApiAsset&& value) { SetApiGatewayApiAsset(std::move(value)); return *this;} /** *

The Amazon S3 data access that is the asset.

*/ inline const S3DataAccessAsset& GetS3DataAccessAsset() const{ return m_s3DataAccessAsset; } /** *

The Amazon S3 data access that is the asset.

*/ inline bool S3DataAccessAssetHasBeenSet() const { return m_s3DataAccessAssetHasBeenSet; } /** *

The Amazon S3 data access that is the asset.

*/ inline void SetS3DataAccessAsset(const S3DataAccessAsset& value) { m_s3DataAccessAssetHasBeenSet = true; m_s3DataAccessAsset = value; } /** *

The Amazon S3 data access that is the asset.

*/ inline void SetS3DataAccessAsset(S3DataAccessAsset&& value) { m_s3DataAccessAssetHasBeenSet = true; m_s3DataAccessAsset = std::move(value); } /** *

The Amazon S3 data access that is the asset.

*/ inline AssetDetails& WithS3DataAccessAsset(const S3DataAccessAsset& value) { SetS3DataAccessAsset(value); return *this;} /** *

The Amazon S3 data access that is the asset.

*/ inline AssetDetails& WithS3DataAccessAsset(S3DataAccessAsset&& value) { SetS3DataAccessAsset(std::move(value)); return *this;} /** *

The AWS Lake Formation data permission that is the asset.

*/ inline const LakeFormationDataPermissionAsset& GetLakeFormationDataPermissionAsset() const{ return m_lakeFormationDataPermissionAsset; } /** *

The AWS Lake Formation data permission that is the asset.

*/ inline bool LakeFormationDataPermissionAssetHasBeenSet() const { return m_lakeFormationDataPermissionAssetHasBeenSet; } /** *

The AWS Lake Formation data permission that is the asset.

*/ inline void SetLakeFormationDataPermissionAsset(const LakeFormationDataPermissionAsset& value) { m_lakeFormationDataPermissionAssetHasBeenSet = true; m_lakeFormationDataPermissionAsset = value; } /** *

The AWS Lake Formation data permission that is the asset.

*/ inline void SetLakeFormationDataPermissionAsset(LakeFormationDataPermissionAsset&& value) { m_lakeFormationDataPermissionAssetHasBeenSet = true; m_lakeFormationDataPermissionAsset = std::move(value); } /** *

The AWS Lake Formation data permission that is the asset.

*/ inline AssetDetails& WithLakeFormationDataPermissionAsset(const LakeFormationDataPermissionAsset& value) { SetLakeFormationDataPermissionAsset(value); return *this;} /** *

The AWS Lake Formation data permission that is the asset.

*/ inline AssetDetails& WithLakeFormationDataPermissionAsset(LakeFormationDataPermissionAsset&& value) { SetLakeFormationDataPermissionAsset(std::move(value)); return *this;} private: S3SnapshotAsset m_s3SnapshotAsset; bool m_s3SnapshotAssetHasBeenSet = false; RedshiftDataShareAsset m_redshiftDataShareAsset; bool m_redshiftDataShareAssetHasBeenSet = false; ApiGatewayApiAsset m_apiGatewayApiAsset; bool m_apiGatewayApiAssetHasBeenSet = false; S3DataAccessAsset m_s3DataAccessAsset; bool m_s3DataAccessAssetHasBeenSet = false; LakeFormationDataPermissionAsset m_lakeFormationDataPermissionAsset; bool m_lakeFormationDataPermissionAssetHasBeenSet = false; }; } // namespace Model } // namespace DataExchange } // namespace Aws