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/route53/Route53_EXPORTS.h> 8 #include <aws/route53/Route53Request.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/route53/model/VPC.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Route53 16 { 17 namespace Model 18 { 19 20 /** 21 * <p>A complex type that contains information about the request to associate a VPC 22 * with a private hosted zone.</p><p><h3>See Also:</h3> <a 23 * href="http://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/AssociateVPCWithHostedZoneRequest">AWS 24 * API Reference</a></p> 25 */ 26 class AWS_ROUTE53_API AssociateVPCWithHostedZoneRequest : public Route53Request 27 { 28 public: 29 AssociateVPCWithHostedZoneRequest(); 30 31 // Service request name is the Operation name which will send this request out, 32 // each operation should has unique request name, so that we can get operation's name from this request. 33 // Note: this is not true for response, multiple operations may have the same response name, 34 // so we can not get operation's name from response. GetServiceRequestName()35 inline virtual const char* GetServiceRequestName() const override { return "AssociateVPCWithHostedZone"; } 36 37 Aws::String SerializePayload() const override; 38 39 40 /** 41 * <p>The ID of the private hosted zone that you want to associate an Amazon VPC 42 * with.</p> <p>Note that you can't associate a VPC with a hosted zone that doesn't 43 * have an existing VPC association.</p> 44 */ GetHostedZoneId()45 inline const Aws::String& GetHostedZoneId() const{ return m_hostedZoneId; } 46 47 /** 48 * <p>The ID of the private hosted zone that you want to associate an Amazon VPC 49 * with.</p> <p>Note that you can't associate a VPC with a hosted zone that doesn't 50 * have an existing VPC association.</p> 51 */ HostedZoneIdHasBeenSet()52 inline bool HostedZoneIdHasBeenSet() const { return m_hostedZoneIdHasBeenSet; } 53 54 /** 55 * <p>The ID of the private hosted zone that you want to associate an Amazon VPC 56 * with.</p> <p>Note that you can't associate a VPC with a hosted zone that doesn't 57 * have an existing VPC association.</p> 58 */ SetHostedZoneId(const Aws::String & value)59 inline void SetHostedZoneId(const Aws::String& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = value; } 60 61 /** 62 * <p>The ID of the private hosted zone that you want to associate an Amazon VPC 63 * with.</p> <p>Note that you can't associate a VPC with a hosted zone that doesn't 64 * have an existing VPC association.</p> 65 */ SetHostedZoneId(Aws::String && value)66 inline void SetHostedZoneId(Aws::String&& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = std::move(value); } 67 68 /** 69 * <p>The ID of the private hosted zone that you want to associate an Amazon VPC 70 * with.</p> <p>Note that you can't associate a VPC with a hosted zone that doesn't 71 * have an existing VPC association.</p> 72 */ SetHostedZoneId(const char * value)73 inline void SetHostedZoneId(const char* value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId.assign(value); } 74 75 /** 76 * <p>The ID of the private hosted zone that you want to associate an Amazon VPC 77 * with.</p> <p>Note that you can't associate a VPC with a hosted zone that doesn't 78 * have an existing VPC association.</p> 79 */ WithHostedZoneId(const Aws::String & value)80 inline AssociateVPCWithHostedZoneRequest& WithHostedZoneId(const Aws::String& value) { SetHostedZoneId(value); return *this;} 81 82 /** 83 * <p>The ID of the private hosted zone that you want to associate an Amazon VPC 84 * with.</p> <p>Note that you can't associate a VPC with a hosted zone that doesn't 85 * have an existing VPC association.</p> 86 */ WithHostedZoneId(Aws::String && value)87 inline AssociateVPCWithHostedZoneRequest& WithHostedZoneId(Aws::String&& value) { SetHostedZoneId(std::move(value)); return *this;} 88 89 /** 90 * <p>The ID of the private hosted zone that you want to associate an Amazon VPC 91 * with.</p> <p>Note that you can't associate a VPC with a hosted zone that doesn't 92 * have an existing VPC association.</p> 93 */ WithHostedZoneId(const char * value)94 inline AssociateVPCWithHostedZoneRequest& WithHostedZoneId(const char* value) { SetHostedZoneId(value); return *this;} 95 96 97 /** 98 * <p>A complex type that contains information about the VPC that you want to 99 * associate with a private hosted zone.</p> 100 */ GetVPC()101 inline const VPC& GetVPC() const{ return m_vPC; } 102 103 /** 104 * <p>A complex type that contains information about the VPC that you want to 105 * associate with a private hosted zone.</p> 106 */ VPCHasBeenSet()107 inline bool VPCHasBeenSet() const { return m_vPCHasBeenSet; } 108 109 /** 110 * <p>A complex type that contains information about the VPC that you want to 111 * associate with a private hosted zone.</p> 112 */ SetVPC(const VPC & value)113 inline void SetVPC(const VPC& value) { m_vPCHasBeenSet = true; m_vPC = value; } 114 115 /** 116 * <p>A complex type that contains information about the VPC that you want to 117 * associate with a private hosted zone.</p> 118 */ SetVPC(VPC && value)119 inline void SetVPC(VPC&& value) { m_vPCHasBeenSet = true; m_vPC = std::move(value); } 120 121 /** 122 * <p>A complex type that contains information about the VPC that you want to 123 * associate with a private hosted zone.</p> 124 */ WithVPC(const VPC & value)125 inline AssociateVPCWithHostedZoneRequest& WithVPC(const VPC& value) { SetVPC(value); return *this;} 126 127 /** 128 * <p>A complex type that contains information about the VPC that you want to 129 * associate with a private hosted zone.</p> 130 */ WithVPC(VPC && value)131 inline AssociateVPCWithHostedZoneRequest& WithVPC(VPC&& value) { SetVPC(std::move(value)); return *this;} 132 133 134 /** 135 * <p> <i>Optional:</i> A comment about the association request.</p> 136 */ GetComment()137 inline const Aws::String& GetComment() const{ return m_comment; } 138 139 /** 140 * <p> <i>Optional:</i> A comment about the association request.</p> 141 */ CommentHasBeenSet()142 inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } 143 144 /** 145 * <p> <i>Optional:</i> A comment about the association request.</p> 146 */ SetComment(const Aws::String & value)147 inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; } 148 149 /** 150 * <p> <i>Optional:</i> A comment about the association request.</p> 151 */ SetComment(Aws::String && value)152 inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); } 153 154 /** 155 * <p> <i>Optional:</i> A comment about the association request.</p> 156 */ SetComment(const char * value)157 inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); } 158 159 /** 160 * <p> <i>Optional:</i> A comment about the association request.</p> 161 */ WithComment(const Aws::String & value)162 inline AssociateVPCWithHostedZoneRequest& WithComment(const Aws::String& value) { SetComment(value); return *this;} 163 164 /** 165 * <p> <i>Optional:</i> A comment about the association request.</p> 166 */ WithComment(Aws::String && value)167 inline AssociateVPCWithHostedZoneRequest& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;} 168 169 /** 170 * <p> <i>Optional:</i> A comment about the association request.</p> 171 */ WithComment(const char * value)172 inline AssociateVPCWithHostedZoneRequest& WithComment(const char* value) { SetComment(value); return *this;} 173 174 private: 175 176 Aws::String m_hostedZoneId; 177 bool m_hostedZoneIdHasBeenSet; 178 179 VPC m_vPC; 180 bool m_vPCHasBeenSet; 181 182 Aws::String m_comment; 183 bool m_commentHasBeenSet; 184 }; 185 186 } // namespace Model 187 } // namespace Route53 188 } // namespace Aws 189