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/medialive/MediaLive_EXPORTS.h>
8 #include <aws/medialive/model/S3CannedAcl.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 MediaLive
22 {
23 namespace Model
24 {
25 
26   /**
27    * Archive S3 Settings<p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/ArchiveS3Settings">AWS
29    * API Reference</a></p>
30    */
31   class AWS_MEDIALIVE_API ArchiveS3Settings
32   {
33   public:
34     ArchiveS3Settings();
35     ArchiveS3Settings(Aws::Utils::Json::JsonView jsonValue);
36     ArchiveS3Settings& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * Specify the canned ACL to apply to each S3 request. Defaults to none.
42      */
GetCannedAcl()43     inline const S3CannedAcl& GetCannedAcl() const{ return m_cannedAcl; }
44 
45     /**
46      * Specify the canned ACL to apply to each S3 request. Defaults to none.
47      */
CannedAclHasBeenSet()48     inline bool CannedAclHasBeenSet() const { return m_cannedAclHasBeenSet; }
49 
50     /**
51      * Specify the canned ACL to apply to each S3 request. Defaults to none.
52      */
SetCannedAcl(const S3CannedAcl & value)53     inline void SetCannedAcl(const S3CannedAcl& value) { m_cannedAclHasBeenSet = true; m_cannedAcl = value; }
54 
55     /**
56      * Specify the canned ACL to apply to each S3 request. Defaults to none.
57      */
SetCannedAcl(S3CannedAcl && value)58     inline void SetCannedAcl(S3CannedAcl&& value) { m_cannedAclHasBeenSet = true; m_cannedAcl = std::move(value); }
59 
60     /**
61      * Specify the canned ACL to apply to each S3 request. Defaults to none.
62      */
WithCannedAcl(const S3CannedAcl & value)63     inline ArchiveS3Settings& WithCannedAcl(const S3CannedAcl& value) { SetCannedAcl(value); return *this;}
64 
65     /**
66      * Specify the canned ACL to apply to each S3 request. Defaults to none.
67      */
WithCannedAcl(S3CannedAcl && value)68     inline ArchiveS3Settings& WithCannedAcl(S3CannedAcl&& value) { SetCannedAcl(std::move(value)); return *this;}
69 
70   private:
71 
72     S3CannedAcl m_cannedAcl;
73     bool m_cannedAclHasBeenSet;
74   };
75 
76 } // namespace Model
77 } // namespace MediaLive
78 } // namespace Aws
79