1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/dataexchange/DataExchange_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace DataExchange
22 {
23 namespace Model
24 {
25 
26   /**
27    * The Amazon Redshift datashare asset.<p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/dataexchange-2017-07-25/RedshiftDataShareAsset">AWS
29    * API Reference</a></p>
30    */
31   class AWS_DATAEXCHANGE_API RedshiftDataShareAsset
32   {
33   public:
34     RedshiftDataShareAsset();
35     RedshiftDataShareAsset(Aws::Utils::Json::JsonView jsonValue);
36     RedshiftDataShareAsset& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * The Amazon Resource Name (ARN) of the datashare asset.
42      */
GetArn()43     inline const Aws::String& GetArn() const{ return m_arn; }
44 
45     /**
46      * The Amazon Resource Name (ARN) of the datashare asset.
47      */
ArnHasBeenSet()48     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
49 
50     /**
51      * The Amazon Resource Name (ARN) of the datashare asset.
52      */
SetArn(const Aws::String & value)53     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
54 
55     /**
56      * The Amazon Resource Name (ARN) of the datashare asset.
57      */
SetArn(Aws::String && value)58     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
59 
60     /**
61      * The Amazon Resource Name (ARN) of the datashare asset.
62      */
SetArn(const char * value)63     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
64 
65     /**
66      * The Amazon Resource Name (ARN) of the datashare asset.
67      */
WithArn(const Aws::String & value)68     inline RedshiftDataShareAsset& WithArn(const Aws::String& value) { SetArn(value); return *this;}
69 
70     /**
71      * The Amazon Resource Name (ARN) of the datashare asset.
72      */
WithArn(Aws::String && value)73     inline RedshiftDataShareAsset& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
74 
75     /**
76      * The Amazon Resource Name (ARN) of the datashare asset.
77      */
WithArn(const char * value)78     inline RedshiftDataShareAsset& WithArn(const char* value) { SetArn(value); return *this;}
79 
80   private:
81 
82     Aws::String m_arn;
83     bool m_arnHasBeenSet;
84   };
85 
86 } // namespace Model
87 } // namespace DataExchange
88 } // namespace Aws
89