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/storagegateway/StorageGateway_EXPORTS.h>
8 #include <aws/storagegateway/StorageGatewayRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace StorageGateway
15 {
16 namespace Model
17 {
18 
19   /**
20    * <p>DeleteTapeArchiveInput</p><p><h3>See Also:</h3>   <a
21    * href="http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTapeArchiveInput">AWS
22    * API Reference</a></p>
23    */
24   class AWS_STORAGEGATEWAY_API DeleteTapeArchiveRequest : public StorageGatewayRequest
25   {
26   public:
27     DeleteTapeArchiveRequest();
28 
29     // Service request name is the Operation name which will send this request out,
30     // each operation should has unique request name, so that we can get operation's name from this request.
31     // Note: this is not true for response, multiple operations may have the same response name,
32     // so we can not get operation's name from response.
GetServiceRequestName()33     inline virtual const char* GetServiceRequestName() const override { return "DeleteTapeArchive"; }
34 
35     Aws::String SerializePayload() const override;
36 
37     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
38 
39 
40     /**
41      * <p>The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual
42      * tape shelf (VTS).</p>
43      */
GetTapeARN()44     inline const Aws::String& GetTapeARN() const{ return m_tapeARN; }
45 
46     /**
47      * <p>The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual
48      * tape shelf (VTS).</p>
49      */
TapeARNHasBeenSet()50     inline bool TapeARNHasBeenSet() const { return m_tapeARNHasBeenSet; }
51 
52     /**
53      * <p>The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual
54      * tape shelf (VTS).</p>
55      */
SetTapeARN(const Aws::String & value)56     inline void SetTapeARN(const Aws::String& value) { m_tapeARNHasBeenSet = true; m_tapeARN = value; }
57 
58     /**
59      * <p>The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual
60      * tape shelf (VTS).</p>
61      */
SetTapeARN(Aws::String && value)62     inline void SetTapeARN(Aws::String&& value) { m_tapeARNHasBeenSet = true; m_tapeARN = std::move(value); }
63 
64     /**
65      * <p>The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual
66      * tape shelf (VTS).</p>
67      */
SetTapeARN(const char * value)68     inline void SetTapeARN(const char* value) { m_tapeARNHasBeenSet = true; m_tapeARN.assign(value); }
69 
70     /**
71      * <p>The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual
72      * tape shelf (VTS).</p>
73      */
WithTapeARN(const Aws::String & value)74     inline DeleteTapeArchiveRequest& WithTapeARN(const Aws::String& value) { SetTapeARN(value); return *this;}
75 
76     /**
77      * <p>The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual
78      * tape shelf (VTS).</p>
79      */
WithTapeARN(Aws::String && value)80     inline DeleteTapeArchiveRequest& WithTapeARN(Aws::String&& value) { SetTapeARN(std::move(value)); return *this;}
81 
82     /**
83      * <p>The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual
84      * tape shelf (VTS).</p>
85      */
WithTapeARN(const char * value)86     inline DeleteTapeArchiveRequest& WithTapeARN(const char* value) { SetTapeARN(value); return *this;}
87 
88 
89     /**
90      * <p>Set to <code>TRUE</code> to delete an archived tape that belongs to a custom
91      * pool with tape retention lock. Only archived tapes with tape retention lock set
92      * to <code>governance</code> can be deleted. Archived tapes with tape retention
93      * lock set to <code>compliance</code> can't be deleted.</p>
94      */
GetBypassGovernanceRetention()95     inline bool GetBypassGovernanceRetention() const{ return m_bypassGovernanceRetention; }
96 
97     /**
98      * <p>Set to <code>TRUE</code> to delete an archived tape that belongs to a custom
99      * pool with tape retention lock. Only archived tapes with tape retention lock set
100      * to <code>governance</code> can be deleted. Archived tapes with tape retention
101      * lock set to <code>compliance</code> can't be deleted.</p>
102      */
BypassGovernanceRetentionHasBeenSet()103     inline bool BypassGovernanceRetentionHasBeenSet() const { return m_bypassGovernanceRetentionHasBeenSet; }
104 
105     /**
106      * <p>Set to <code>TRUE</code> to delete an archived tape that belongs to a custom
107      * pool with tape retention lock. Only archived tapes with tape retention lock set
108      * to <code>governance</code> can be deleted. Archived tapes with tape retention
109      * lock set to <code>compliance</code> can't be deleted.</p>
110      */
SetBypassGovernanceRetention(bool value)111     inline void SetBypassGovernanceRetention(bool value) { m_bypassGovernanceRetentionHasBeenSet = true; m_bypassGovernanceRetention = value; }
112 
113     /**
114      * <p>Set to <code>TRUE</code> to delete an archived tape that belongs to a custom
115      * pool with tape retention lock. Only archived tapes with tape retention lock set
116      * to <code>governance</code> can be deleted. Archived tapes with tape retention
117      * lock set to <code>compliance</code> can't be deleted.</p>
118      */
WithBypassGovernanceRetention(bool value)119     inline DeleteTapeArchiveRequest& WithBypassGovernanceRetention(bool value) { SetBypassGovernanceRetention(value); return *this;}
120 
121   private:
122 
123     Aws::String m_tapeARN;
124     bool m_tapeARNHasBeenSet;
125 
126     bool m_bypassGovernanceRetention;
127     bool m_bypassGovernanceRetentionHasBeenSet;
128   };
129 
130 } // namespace Model
131 } // namespace StorageGateway
132 } // namespace Aws
133