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/servicecatalog-appregistry/AppRegistry_EXPORTS.h>
8 #include <aws/servicecatalog-appregistry/AppRegistryRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace AppRegistry
15 {
16 namespace Model
17 {
18 
19   /**
20    */
21   class AWS_APPREGISTRY_API AssociateAttributeGroupRequest : public AppRegistryRequest
22   {
23   public:
24     AssociateAttributeGroupRequest();
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 "AssociateAttributeGroup"; }
31 
32     Aws::String SerializePayload() const override;
33 
34 
35     /**
36      * <p>The name or ID of the application.</p>
37      */
GetApplication()38     inline const Aws::String& GetApplication() const{ return m_application; }
39 
40     /**
41      * <p>The name or ID of the application.</p>
42      */
ApplicationHasBeenSet()43     inline bool ApplicationHasBeenSet() const { return m_applicationHasBeenSet; }
44 
45     /**
46      * <p>The name or ID of the application.</p>
47      */
SetApplication(const Aws::String & value)48     inline void SetApplication(const Aws::String& value) { m_applicationHasBeenSet = true; m_application = value; }
49 
50     /**
51      * <p>The name or ID of the application.</p>
52      */
SetApplication(Aws::String && value)53     inline void SetApplication(Aws::String&& value) { m_applicationHasBeenSet = true; m_application = std::move(value); }
54 
55     /**
56      * <p>The name or ID of the application.</p>
57      */
SetApplication(const char * value)58     inline void SetApplication(const char* value) { m_applicationHasBeenSet = true; m_application.assign(value); }
59 
60     /**
61      * <p>The name or ID of the application.</p>
62      */
WithApplication(const Aws::String & value)63     inline AssociateAttributeGroupRequest& WithApplication(const Aws::String& value) { SetApplication(value); return *this;}
64 
65     /**
66      * <p>The name or ID of the application.</p>
67      */
WithApplication(Aws::String && value)68     inline AssociateAttributeGroupRequest& WithApplication(Aws::String&& value) { SetApplication(std::move(value)); return *this;}
69 
70     /**
71      * <p>The name or ID of the application.</p>
72      */
WithApplication(const char * value)73     inline AssociateAttributeGroupRequest& WithApplication(const char* value) { SetApplication(value); return *this;}
74 
75 
76     /**
77      * <p>The name or ID of the attribute group that holds the attributes to describe
78      * the application.</p>
79      */
GetAttributeGroup()80     inline const Aws::String& GetAttributeGroup() const{ return m_attributeGroup; }
81 
82     /**
83      * <p>The name or ID of the attribute group that holds the attributes to describe
84      * the application.</p>
85      */
AttributeGroupHasBeenSet()86     inline bool AttributeGroupHasBeenSet() const { return m_attributeGroupHasBeenSet; }
87 
88     /**
89      * <p>The name or ID of the attribute group that holds the attributes to describe
90      * the application.</p>
91      */
SetAttributeGroup(const Aws::String & value)92     inline void SetAttributeGroup(const Aws::String& value) { m_attributeGroupHasBeenSet = true; m_attributeGroup = value; }
93 
94     /**
95      * <p>The name or ID of the attribute group that holds the attributes to describe
96      * the application.</p>
97      */
SetAttributeGroup(Aws::String && value)98     inline void SetAttributeGroup(Aws::String&& value) { m_attributeGroupHasBeenSet = true; m_attributeGroup = std::move(value); }
99 
100     /**
101      * <p>The name or ID of the attribute group that holds the attributes to describe
102      * the application.</p>
103      */
SetAttributeGroup(const char * value)104     inline void SetAttributeGroup(const char* value) { m_attributeGroupHasBeenSet = true; m_attributeGroup.assign(value); }
105 
106     /**
107      * <p>The name or ID of the attribute group that holds the attributes to describe
108      * the application.</p>
109      */
WithAttributeGroup(const Aws::String & value)110     inline AssociateAttributeGroupRequest& WithAttributeGroup(const Aws::String& value) { SetAttributeGroup(value); return *this;}
111 
112     /**
113      * <p>The name or ID of the attribute group that holds the attributes to describe
114      * the application.</p>
115      */
WithAttributeGroup(Aws::String && value)116     inline AssociateAttributeGroupRequest& WithAttributeGroup(Aws::String&& value) { SetAttributeGroup(std::move(value)); return *this;}
117 
118     /**
119      * <p>The name or ID of the attribute group that holds the attributes to describe
120      * the application.</p>
121      */
WithAttributeGroup(const char * value)122     inline AssociateAttributeGroupRequest& WithAttributeGroup(const char* value) { SetAttributeGroup(value); return *this;}
123 
124   private:
125 
126     Aws::String m_application;
127     bool m_applicationHasBeenSet;
128 
129     Aws::String m_attributeGroup;
130     bool m_attributeGroupHasBeenSet;
131   };
132 
133 } // namespace Model
134 } // namespace AppRegistry
135 } // namespace Aws
136