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 DeleteResourcePolicyRequest : public SecretsManagerRequest
22   {
23   public:
24     DeleteResourcePolicyRequest();
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 "DeleteResourcePolicy"; }
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 delete the attached resource-based
39      * policy for. You can specify either the Amazon Resource Name (ARN) or the
40      * friendly name of the secret.</p> <p>For an ARN, we recommend that you specify a
41      * complete 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 delete the attached resource-based
47      * policy for. You can specify either the Amazon Resource Name (ARN) or the
48      * friendly name of the secret.</p> <p>For an ARN, we recommend that you specify a
49      * complete 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 delete the attached resource-based
55      * policy for. You can specify either the Amazon Resource Name (ARN) or the
56      * friendly name of the secret.</p> <p>For an ARN, we recommend that you specify a
57      * complete 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 delete the attached resource-based
63      * policy for. You can specify either the Amazon Resource Name (ARN) or the
64      * friendly name of the secret.</p> <p>For an ARN, we recommend that you specify a
65      * complete 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 delete the attached resource-based
71      * policy for. You can specify either the Amazon Resource Name (ARN) or the
72      * friendly name of the secret.</p> <p>For an ARN, we recommend that you specify a
73      * complete 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 delete the attached resource-based
79      * policy for. You can specify either the Amazon Resource Name (ARN) or the
80      * friendly name of the secret.</p> <p>For an ARN, we recommend that you specify a
81      * complete ARN rather than a partial ARN.</p>
82      */
WithSecretId(const Aws::String & value)83     inline DeleteResourcePolicyRequest& WithSecretId(const Aws::String& value) { SetSecretId(value); return *this;}
84 
85     /**
86      * <p>Specifies the secret that you want to delete the attached resource-based
87      * policy for. You can specify either the Amazon Resource Name (ARN) or the
88      * friendly name of the secret.</p> <p>For an ARN, we recommend that you specify a
89      * complete ARN rather than a partial ARN.</p>
90      */
WithSecretId(Aws::String && value)91     inline DeleteResourcePolicyRequest& WithSecretId(Aws::String&& value) { SetSecretId(std::move(value)); return *this;}
92 
93     /**
94      * <p>Specifies the secret that you want to delete the attached resource-based
95      * policy for. You can specify either the Amazon Resource Name (ARN) or the
96      * friendly name of the secret.</p> <p>For an ARN, we recommend that you specify a
97      * complete ARN rather than a partial ARN.</p>
98      */
WithSecretId(const char * value)99     inline DeleteResourcePolicyRequest& 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