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/secretsmanager/SecretsManager_EXPORTS.h>
8 #include <aws/secretsmanager/SecretsManagerRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace SecretsManager
15 {
16 namespace Model
17 {
18 
19   /**
20    */
21   class AWS_SECRETSMANAGER_API RestoreSecretRequest : public SecretsManagerRequest
22   {
23   public:
24     RestoreSecretRequest();
25 
26     // Service request name is the Operation name which will send this request out,
27     // each operation should has unique request name, so that we can get operation's name from this request.
28     // Note: this is not true for response, multiple operations may have the same response name,
29     // so we can not get operation's name from response.
GetServiceRequestName()30     inline virtual const char* GetServiceRequestName() const override { return "RestoreSecret"; }
31 
32     Aws::String SerializePayload() const override;
33 
34     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
35 
36 
37     /**
38      * <p>Specifies the secret that you want to restore from a previously scheduled
39      * deletion. You can specify either the Amazon Resource Name (ARN) or the friendly
40      * name of the secret.</p> <p>For an ARN, we recommend that you specify a complete
41      * ARN rather than a partial ARN.</p>
42      */
GetSecretId()43     inline const Aws::String& GetSecretId() const{ return m_secretId; }
44 
45     /**
46      * <p>Specifies the secret that you want to restore from a previously scheduled
47      * deletion. You can specify either the Amazon Resource Name (ARN) or the friendly
48      * name of the secret.</p> <p>For an ARN, we recommend that you specify a complete
49      * ARN rather than a partial ARN.</p>
50      */
SecretIdHasBeenSet()51     inline bool SecretIdHasBeenSet() const { return m_secretIdHasBeenSet; }
52 
53     /**
54      * <p>Specifies the secret that you want to restore from a previously scheduled
55      * deletion. You can specify either the Amazon Resource Name (ARN) or the friendly
56      * name of the secret.</p> <p>For an ARN, we recommend that you specify a complete
57      * ARN rather than a partial ARN.</p>
58      */
SetSecretId(const Aws::String & value)59     inline void SetSecretId(const Aws::String& value) { m_secretIdHasBeenSet = true; m_secretId = value; }
60 
61     /**
62      * <p>Specifies the secret that you want to restore from a previously scheduled
63      * deletion. You can specify either the Amazon Resource Name (ARN) or the friendly
64      * name of the secret.</p> <p>For an ARN, we recommend that you specify a complete
65      * ARN rather than a partial ARN.</p>
66      */
SetSecretId(Aws::String && value)67     inline void SetSecretId(Aws::String&& value) { m_secretIdHasBeenSet = true; m_secretId = std::move(value); }
68 
69     /**
70      * <p>Specifies the secret that you want to restore from a previously scheduled
71      * deletion. You can specify either the Amazon Resource Name (ARN) or the friendly
72      * name of the secret.</p> <p>For an ARN, we recommend that you specify a complete
73      * ARN rather than a partial ARN.</p>
74      */
SetSecretId(const char * value)75     inline void SetSecretId(const char* value) { m_secretIdHasBeenSet = true; m_secretId.assign(value); }
76 
77     /**
78      * <p>Specifies the secret that you want to restore from a previously scheduled
79      * deletion. You can specify either the Amazon Resource Name (ARN) or the friendly
80      * name of the secret.</p> <p>For an ARN, we recommend that you specify a complete
81      * ARN rather than a partial ARN.</p>
82      */
WithSecretId(const Aws::String & value)83     inline RestoreSecretRequest& WithSecretId(const Aws::String& value) { SetSecretId(value); return *this;}
84 
85     /**
86      * <p>Specifies the secret that you want to restore from a previously scheduled
87      * deletion. You can specify either the Amazon Resource Name (ARN) or the friendly
88      * name of the secret.</p> <p>For an ARN, we recommend that you specify a complete
89      * ARN rather than a partial ARN.</p>
90      */
WithSecretId(Aws::String && value)91     inline RestoreSecretRequest& WithSecretId(Aws::String&& value) { SetSecretId(std::move(value)); return *this;}
92 
93     /**
94      * <p>Specifies the secret that you want to restore from a previously scheduled
95      * deletion. You can specify either the Amazon Resource Name (ARN) or the friendly
96      * name of the secret.</p> <p>For an ARN, we recommend that you specify a complete
97      * ARN rather than a partial ARN.</p>
98      */
WithSecretId(const char * value)99     inline RestoreSecretRequest& WithSecretId(const char* value) { SetSecretId(value); return *this;}
100 
101   private:
102 
103     Aws::String m_secretId;
104     bool m_secretIdHasBeenSet;
105   };
106 
107 } // namespace Model
108 } // namespace SecretsManager
109 } // namespace Aws
110