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/dms/DatabaseMigrationService_EXPORTS.h>
8 #include <aws/dms/DatabaseMigrationServiceRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/dms/model/Tag.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace DatabaseMigrationService
17 {
18 namespace Model
19 {
20 
21   /**
22    * <p/><p><h3>See Also:</h3>   <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/CreateReplicationInstanceMessage">AWS
24    * API Reference</a></p>
25    */
26   class AWS_DATABASEMIGRATIONSERVICE_API CreateReplicationInstanceRequest : public DatabaseMigrationServiceRequest
27   {
28   public:
29     CreateReplicationInstanceRequest();
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 "CreateReplicationInstance"; }
36 
37     Aws::String SerializePayload() const override;
38 
39     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
40 
41 
42     /**
43      * <p>The replication instance identifier. This parameter is stored as a lowercase
44      * string.</p> <p>Constraints:</p> <ul> <li> <p>Must contain 1-63 alphanumeric
45      * characters or hyphens.</p> </li> <li> <p>First character must be a letter.</p>
46      * </li> <li> <p>Can't end with a hyphen or contain two consecutive hyphens.</p>
47      * </li> </ul> <p>Example: <code>myrepinstance</code> </p>
48      */
GetReplicationInstanceIdentifier()49     inline const Aws::String& GetReplicationInstanceIdentifier() const{ return m_replicationInstanceIdentifier; }
50 
51     /**
52      * <p>The replication instance identifier. This parameter is stored as a lowercase
53      * string.</p> <p>Constraints:</p> <ul> <li> <p>Must contain 1-63 alphanumeric
54      * characters or hyphens.</p> </li> <li> <p>First character must be a letter.</p>
55      * </li> <li> <p>Can't end with a hyphen or contain two consecutive hyphens.</p>
56      * </li> </ul> <p>Example: <code>myrepinstance</code> </p>
57      */
ReplicationInstanceIdentifierHasBeenSet()58     inline bool ReplicationInstanceIdentifierHasBeenSet() const { return m_replicationInstanceIdentifierHasBeenSet; }
59 
60     /**
61      * <p>The replication instance identifier. This parameter is stored as a lowercase
62      * string.</p> <p>Constraints:</p> <ul> <li> <p>Must contain 1-63 alphanumeric
63      * characters or hyphens.</p> </li> <li> <p>First character must be a letter.</p>
64      * </li> <li> <p>Can't end with a hyphen or contain two consecutive hyphens.</p>
65      * </li> </ul> <p>Example: <code>myrepinstance</code> </p>
66      */
SetReplicationInstanceIdentifier(const Aws::String & value)67     inline void SetReplicationInstanceIdentifier(const Aws::String& value) { m_replicationInstanceIdentifierHasBeenSet = true; m_replicationInstanceIdentifier = value; }
68 
69     /**
70      * <p>The replication instance identifier. This parameter is stored as a lowercase
71      * string.</p> <p>Constraints:</p> <ul> <li> <p>Must contain 1-63 alphanumeric
72      * characters or hyphens.</p> </li> <li> <p>First character must be a letter.</p>
73      * </li> <li> <p>Can't end with a hyphen or contain two consecutive hyphens.</p>
74      * </li> </ul> <p>Example: <code>myrepinstance</code> </p>
75      */
SetReplicationInstanceIdentifier(Aws::String && value)76     inline void SetReplicationInstanceIdentifier(Aws::String&& value) { m_replicationInstanceIdentifierHasBeenSet = true; m_replicationInstanceIdentifier = std::move(value); }
77 
78     /**
79      * <p>The replication instance identifier. This parameter is stored as a lowercase
80      * string.</p> <p>Constraints:</p> <ul> <li> <p>Must contain 1-63 alphanumeric
81      * characters or hyphens.</p> </li> <li> <p>First character must be a letter.</p>
82      * </li> <li> <p>Can't end with a hyphen or contain two consecutive hyphens.</p>
83      * </li> </ul> <p>Example: <code>myrepinstance</code> </p>
84      */
SetReplicationInstanceIdentifier(const char * value)85     inline void SetReplicationInstanceIdentifier(const char* value) { m_replicationInstanceIdentifierHasBeenSet = true; m_replicationInstanceIdentifier.assign(value); }
86 
87     /**
88      * <p>The replication instance identifier. This parameter is stored as a lowercase
89      * string.</p> <p>Constraints:</p> <ul> <li> <p>Must contain 1-63 alphanumeric
90      * characters or hyphens.</p> </li> <li> <p>First character must be a letter.</p>
91      * </li> <li> <p>Can't end with a hyphen or contain two consecutive hyphens.</p>
92      * </li> </ul> <p>Example: <code>myrepinstance</code> </p>
93      */
WithReplicationInstanceIdentifier(const Aws::String & value)94     inline CreateReplicationInstanceRequest& WithReplicationInstanceIdentifier(const Aws::String& value) { SetReplicationInstanceIdentifier(value); return *this;}
95 
96     /**
97      * <p>The replication instance identifier. This parameter is stored as a lowercase
98      * string.</p> <p>Constraints:</p> <ul> <li> <p>Must contain 1-63 alphanumeric
99      * characters or hyphens.</p> </li> <li> <p>First character must be a letter.</p>
100      * </li> <li> <p>Can't end with a hyphen or contain two consecutive hyphens.</p>
101      * </li> </ul> <p>Example: <code>myrepinstance</code> </p>
102      */
WithReplicationInstanceIdentifier(Aws::String && value)103     inline CreateReplicationInstanceRequest& WithReplicationInstanceIdentifier(Aws::String&& value) { SetReplicationInstanceIdentifier(std::move(value)); return *this;}
104 
105     /**
106      * <p>The replication instance identifier. This parameter is stored as a lowercase
107      * string.</p> <p>Constraints:</p> <ul> <li> <p>Must contain 1-63 alphanumeric
108      * characters or hyphens.</p> </li> <li> <p>First character must be a letter.</p>
109      * </li> <li> <p>Can't end with a hyphen or contain two consecutive hyphens.</p>
110      * </li> </ul> <p>Example: <code>myrepinstance</code> </p>
111      */
WithReplicationInstanceIdentifier(const char * value)112     inline CreateReplicationInstanceRequest& WithReplicationInstanceIdentifier(const char* value) { SetReplicationInstanceIdentifier(value); return *this;}
113 
114 
115     /**
116      * <p>The amount of storage (in gigabytes) to be initially allocated for the
117      * replication instance.</p>
118      */
GetAllocatedStorage()119     inline int GetAllocatedStorage() const{ return m_allocatedStorage; }
120 
121     /**
122      * <p>The amount of storage (in gigabytes) to be initially allocated for the
123      * replication instance.</p>
124      */
AllocatedStorageHasBeenSet()125     inline bool AllocatedStorageHasBeenSet() const { return m_allocatedStorageHasBeenSet; }
126 
127     /**
128      * <p>The amount of storage (in gigabytes) to be initially allocated for the
129      * replication instance.</p>
130      */
SetAllocatedStorage(int value)131     inline void SetAllocatedStorage(int value) { m_allocatedStorageHasBeenSet = true; m_allocatedStorage = value; }
132 
133     /**
134      * <p>The amount of storage (in gigabytes) to be initially allocated for the
135      * replication instance.</p>
136      */
WithAllocatedStorage(int value)137     inline CreateReplicationInstanceRequest& WithAllocatedStorage(int value) { SetAllocatedStorage(value); return *this;}
138 
139 
140     /**
141      * <p>The compute and memory capacity of the replication instance as defined for
142      * the specified replication instance class. For example to specify the instance
143      * class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
144      * <p>For more information on the settings and capacities for the available
145      * replication instance classes, see <a
146      * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth">
147      * Selecting the right DMS replication instance for your migration</a>. </p>
148      */
GetReplicationInstanceClass()149     inline const Aws::String& GetReplicationInstanceClass() const{ return m_replicationInstanceClass; }
150 
151     /**
152      * <p>The compute and memory capacity of the replication instance as defined for
153      * the specified replication instance class. For example to specify the instance
154      * class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
155      * <p>For more information on the settings and capacities for the available
156      * replication instance classes, see <a
157      * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth">
158      * Selecting the right DMS replication instance for your migration</a>. </p>
159      */
ReplicationInstanceClassHasBeenSet()160     inline bool ReplicationInstanceClassHasBeenSet() const { return m_replicationInstanceClassHasBeenSet; }
161 
162     /**
163      * <p>The compute and memory capacity of the replication instance as defined for
164      * the specified replication instance class. For example to specify the instance
165      * class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
166      * <p>For more information on the settings and capacities for the available
167      * replication instance classes, see <a
168      * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth">
169      * Selecting the right DMS replication instance for your migration</a>. </p>
170      */
SetReplicationInstanceClass(const Aws::String & value)171     inline void SetReplicationInstanceClass(const Aws::String& value) { m_replicationInstanceClassHasBeenSet = true; m_replicationInstanceClass = value; }
172 
173     /**
174      * <p>The compute and memory capacity of the replication instance as defined for
175      * the specified replication instance class. For example to specify the instance
176      * class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
177      * <p>For more information on the settings and capacities for the available
178      * replication instance classes, see <a
179      * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth">
180      * Selecting the right DMS replication instance for your migration</a>. </p>
181      */
SetReplicationInstanceClass(Aws::String && value)182     inline void SetReplicationInstanceClass(Aws::String&& value) { m_replicationInstanceClassHasBeenSet = true; m_replicationInstanceClass = std::move(value); }
183 
184     /**
185      * <p>The compute and memory capacity of the replication instance as defined for
186      * the specified replication instance class. For example to specify the instance
187      * class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
188      * <p>For more information on the settings and capacities for the available
189      * replication instance classes, see <a
190      * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth">
191      * Selecting the right DMS replication instance for your migration</a>. </p>
192      */
SetReplicationInstanceClass(const char * value)193     inline void SetReplicationInstanceClass(const char* value) { m_replicationInstanceClassHasBeenSet = true; m_replicationInstanceClass.assign(value); }
194 
195     /**
196      * <p>The compute and memory capacity of the replication instance as defined for
197      * the specified replication instance class. For example to specify the instance
198      * class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
199      * <p>For more information on the settings and capacities for the available
200      * replication instance classes, see <a
201      * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth">
202      * Selecting the right DMS replication instance for your migration</a>. </p>
203      */
WithReplicationInstanceClass(const Aws::String & value)204     inline CreateReplicationInstanceRequest& WithReplicationInstanceClass(const Aws::String& value) { SetReplicationInstanceClass(value); return *this;}
205 
206     /**
207      * <p>The compute and memory capacity of the replication instance as defined for
208      * the specified replication instance class. For example to specify the instance
209      * class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
210      * <p>For more information on the settings and capacities for the available
211      * replication instance classes, see <a
212      * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth">
213      * Selecting the right DMS replication instance for your migration</a>. </p>
214      */
WithReplicationInstanceClass(Aws::String && value)215     inline CreateReplicationInstanceRequest& WithReplicationInstanceClass(Aws::String&& value) { SetReplicationInstanceClass(std::move(value)); return *this;}
216 
217     /**
218      * <p>The compute and memory capacity of the replication instance as defined for
219      * the specified replication instance class. For example to specify the instance
220      * class dms.c4.large, set this parameter to <code>"dms.c4.large"</code>.</p>
221      * <p>For more information on the settings and capacities for the available
222      * replication instance classes, see <a
223      * href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.InDepth">
224      * Selecting the right DMS replication instance for your migration</a>. </p>
225      */
WithReplicationInstanceClass(const char * value)226     inline CreateReplicationInstanceRequest& WithReplicationInstanceClass(const char* value) { SetReplicationInstanceClass(value); return *this;}
227 
228 
229     /**
230      * <p> Specifies the VPC security group to be used with the replication instance.
231      * The VPC security group must work with the VPC containing the replication
232      * instance. </p>
233      */
GetVpcSecurityGroupIds()234     inline const Aws::Vector<Aws::String>& GetVpcSecurityGroupIds() const{ return m_vpcSecurityGroupIds; }
235 
236     /**
237      * <p> Specifies the VPC security group to be used with the replication instance.
238      * The VPC security group must work with the VPC containing the replication
239      * instance. </p>
240      */
VpcSecurityGroupIdsHasBeenSet()241     inline bool VpcSecurityGroupIdsHasBeenSet() const { return m_vpcSecurityGroupIdsHasBeenSet; }
242 
243     /**
244      * <p> Specifies the VPC security group to be used with the replication instance.
245      * The VPC security group must work with the VPC containing the replication
246      * instance. </p>
247      */
SetVpcSecurityGroupIds(const Aws::Vector<Aws::String> & value)248     inline void SetVpcSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = value; }
249 
250     /**
251      * <p> Specifies the VPC security group to be used with the replication instance.
252      * The VPC security group must work with the VPC containing the replication
253      * instance. </p>
254      */
SetVpcSecurityGroupIds(Aws::Vector<Aws::String> && value)255     inline void SetVpcSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = std::move(value); }
256 
257     /**
258      * <p> Specifies the VPC security group to be used with the replication instance.
259      * The VPC security group must work with the VPC containing the replication
260      * instance. </p>
261      */
WithVpcSecurityGroupIds(const Aws::Vector<Aws::String> & value)262     inline CreateReplicationInstanceRequest& WithVpcSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetVpcSecurityGroupIds(value); return *this;}
263 
264     /**
265      * <p> Specifies the VPC security group to be used with the replication instance.
266      * The VPC security group must work with the VPC containing the replication
267      * instance. </p>
268      */
WithVpcSecurityGroupIds(Aws::Vector<Aws::String> && value)269     inline CreateReplicationInstanceRequest& WithVpcSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetVpcSecurityGroupIds(std::move(value)); return *this;}
270 
271     /**
272      * <p> Specifies the VPC security group to be used with the replication instance.
273      * The VPC security group must work with the VPC containing the replication
274      * instance. </p>
275      */
AddVpcSecurityGroupIds(const Aws::String & value)276     inline CreateReplicationInstanceRequest& AddVpcSecurityGroupIds(const Aws::String& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; }
277 
278     /**
279      * <p> Specifies the VPC security group to be used with the replication instance.
280      * The VPC security group must work with the VPC containing the replication
281      * instance. </p>
282      */
AddVpcSecurityGroupIds(Aws::String && value)283     inline CreateReplicationInstanceRequest& AddVpcSecurityGroupIds(Aws::String&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(std::move(value)); return *this; }
284 
285     /**
286      * <p> Specifies the VPC security group to be used with the replication instance.
287      * The VPC security group must work with the VPC containing the replication
288      * instance. </p>
289      */
AddVpcSecurityGroupIds(const char * value)290     inline CreateReplicationInstanceRequest& AddVpcSecurityGroupIds(const char* value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; }
291 
292 
293     /**
294      * <p>The Availability Zone where the replication instance will be created. The
295      * default value is a random, system-chosen Availability Zone in the endpoint's
296      * Amazon Web Services Region, for example: <code>us-east-1d</code> </p>
297      */
GetAvailabilityZone()298     inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; }
299 
300     /**
301      * <p>The Availability Zone where the replication instance will be created. The
302      * default value is a random, system-chosen Availability Zone in the endpoint's
303      * Amazon Web Services Region, for example: <code>us-east-1d</code> </p>
304      */
AvailabilityZoneHasBeenSet()305     inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
306 
307     /**
308      * <p>The Availability Zone where the replication instance will be created. The
309      * default value is a random, system-chosen Availability Zone in the endpoint's
310      * Amazon Web Services Region, for example: <code>us-east-1d</code> </p>
311      */
SetAvailabilityZone(const Aws::String & value)312     inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
313 
314     /**
315      * <p>The Availability Zone where the replication instance will be created. The
316      * default value is a random, system-chosen Availability Zone in the endpoint's
317      * Amazon Web Services Region, for example: <code>us-east-1d</code> </p>
318      */
SetAvailabilityZone(Aws::String && value)319     inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); }
320 
321     /**
322      * <p>The Availability Zone where the replication instance will be created. The
323      * default value is a random, system-chosen Availability Zone in the endpoint's
324      * Amazon Web Services Region, for example: <code>us-east-1d</code> </p>
325      */
SetAvailabilityZone(const char * value)326     inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); }
327 
328     /**
329      * <p>The Availability Zone where the replication instance will be created. The
330      * default value is a random, system-chosen Availability Zone in the endpoint's
331      * Amazon Web Services Region, for example: <code>us-east-1d</code> </p>
332      */
WithAvailabilityZone(const Aws::String & value)333     inline CreateReplicationInstanceRequest& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;}
334 
335     /**
336      * <p>The Availability Zone where the replication instance will be created. The
337      * default value is a random, system-chosen Availability Zone in the endpoint's
338      * Amazon Web Services Region, for example: <code>us-east-1d</code> </p>
339      */
WithAvailabilityZone(Aws::String && value)340     inline CreateReplicationInstanceRequest& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;}
341 
342     /**
343      * <p>The Availability Zone where the replication instance will be created. The
344      * default value is a random, system-chosen Availability Zone in the endpoint's
345      * Amazon Web Services Region, for example: <code>us-east-1d</code> </p>
346      */
WithAvailabilityZone(const char * value)347     inline CreateReplicationInstanceRequest& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;}
348 
349 
350     /**
351      * <p>A subnet group to associate with the replication instance.</p>
352      */
GetReplicationSubnetGroupIdentifier()353     inline const Aws::String& GetReplicationSubnetGroupIdentifier() const{ return m_replicationSubnetGroupIdentifier; }
354 
355     /**
356      * <p>A subnet group to associate with the replication instance.</p>
357      */
ReplicationSubnetGroupIdentifierHasBeenSet()358     inline bool ReplicationSubnetGroupIdentifierHasBeenSet() const { return m_replicationSubnetGroupIdentifierHasBeenSet; }
359 
360     /**
361      * <p>A subnet group to associate with the replication instance.</p>
362      */
SetReplicationSubnetGroupIdentifier(const Aws::String & value)363     inline void SetReplicationSubnetGroupIdentifier(const Aws::String& value) { m_replicationSubnetGroupIdentifierHasBeenSet = true; m_replicationSubnetGroupIdentifier = value; }
364 
365     /**
366      * <p>A subnet group to associate with the replication instance.</p>
367      */
SetReplicationSubnetGroupIdentifier(Aws::String && value)368     inline void SetReplicationSubnetGroupIdentifier(Aws::String&& value) { m_replicationSubnetGroupIdentifierHasBeenSet = true; m_replicationSubnetGroupIdentifier = std::move(value); }
369 
370     /**
371      * <p>A subnet group to associate with the replication instance.</p>
372      */
SetReplicationSubnetGroupIdentifier(const char * value)373     inline void SetReplicationSubnetGroupIdentifier(const char* value) { m_replicationSubnetGroupIdentifierHasBeenSet = true; m_replicationSubnetGroupIdentifier.assign(value); }
374 
375     /**
376      * <p>A subnet group to associate with the replication instance.</p>
377      */
WithReplicationSubnetGroupIdentifier(const Aws::String & value)378     inline CreateReplicationInstanceRequest& WithReplicationSubnetGroupIdentifier(const Aws::String& value) { SetReplicationSubnetGroupIdentifier(value); return *this;}
379 
380     /**
381      * <p>A subnet group to associate with the replication instance.</p>
382      */
WithReplicationSubnetGroupIdentifier(Aws::String && value)383     inline CreateReplicationInstanceRequest& WithReplicationSubnetGroupIdentifier(Aws::String&& value) { SetReplicationSubnetGroupIdentifier(std::move(value)); return *this;}
384 
385     /**
386      * <p>A subnet group to associate with the replication instance.</p>
387      */
WithReplicationSubnetGroupIdentifier(const char * value)388     inline CreateReplicationInstanceRequest& WithReplicationSubnetGroupIdentifier(const char* value) { SetReplicationSubnetGroupIdentifier(value); return *this;}
389 
390 
391     /**
392      * <p>The weekly time range during which system maintenance can occur, in Universal
393      * Coordinated Time (UTC).</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code>
394      * </p> <p>Default: A 30-minute window selected at random from an 8-hour block of
395      * time per Amazon Web Services Region, occurring on a random day of the week.</p>
396      * <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p> <p>Constraints: Minimum
397      * 30-minute window.</p>
398      */
GetPreferredMaintenanceWindow()399     inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; }
400 
401     /**
402      * <p>The weekly time range during which system maintenance can occur, in Universal
403      * Coordinated Time (UTC).</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code>
404      * </p> <p>Default: A 30-minute window selected at random from an 8-hour block of
405      * time per Amazon Web Services Region, occurring on a random day of the week.</p>
406      * <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p> <p>Constraints: Minimum
407      * 30-minute window.</p>
408      */
PreferredMaintenanceWindowHasBeenSet()409     inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; }
410 
411     /**
412      * <p>The weekly time range during which system maintenance can occur, in Universal
413      * Coordinated Time (UTC).</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code>
414      * </p> <p>Default: A 30-minute window selected at random from an 8-hour block of
415      * time per Amazon Web Services Region, occurring on a random day of the week.</p>
416      * <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p> <p>Constraints: Minimum
417      * 30-minute window.</p>
418      */
SetPreferredMaintenanceWindow(const Aws::String & value)419     inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; }
420 
421     /**
422      * <p>The weekly time range during which system maintenance can occur, in Universal
423      * Coordinated Time (UTC).</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code>
424      * </p> <p>Default: A 30-minute window selected at random from an 8-hour block of
425      * time per Amazon Web Services Region, occurring on a random day of the week.</p>
426      * <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p> <p>Constraints: Minimum
427      * 30-minute window.</p>
428      */
SetPreferredMaintenanceWindow(Aws::String && value)429     inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); }
430 
431     /**
432      * <p>The weekly time range during which system maintenance can occur, in Universal
433      * Coordinated Time (UTC).</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code>
434      * </p> <p>Default: A 30-minute window selected at random from an 8-hour block of
435      * time per Amazon Web Services Region, occurring on a random day of the week.</p>
436      * <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p> <p>Constraints: Minimum
437      * 30-minute window.</p>
438      */
SetPreferredMaintenanceWindow(const char * value)439     inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); }
440 
441     /**
442      * <p>The weekly time range during which system maintenance can occur, in Universal
443      * Coordinated Time (UTC).</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code>
444      * </p> <p>Default: A 30-minute window selected at random from an 8-hour block of
445      * time per Amazon Web Services Region, occurring on a random day of the week.</p>
446      * <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p> <p>Constraints: Minimum
447      * 30-minute window.</p>
448      */
WithPreferredMaintenanceWindow(const Aws::String & value)449     inline CreateReplicationInstanceRequest& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;}
450 
451     /**
452      * <p>The weekly time range during which system maintenance can occur, in Universal
453      * Coordinated Time (UTC).</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code>
454      * </p> <p>Default: A 30-minute window selected at random from an 8-hour block of
455      * time per Amazon Web Services Region, occurring on a random day of the week.</p>
456      * <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p> <p>Constraints: Minimum
457      * 30-minute window.</p>
458      */
WithPreferredMaintenanceWindow(Aws::String && value)459     inline CreateReplicationInstanceRequest& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;}
460 
461     /**
462      * <p>The weekly time range during which system maintenance can occur, in Universal
463      * Coordinated Time (UTC).</p> <p> Format: <code>ddd:hh24:mi-ddd:hh24:mi</code>
464      * </p> <p>Default: A 30-minute window selected at random from an 8-hour block of
465      * time per Amazon Web Services Region, occurring on a random day of the week.</p>
466      * <p>Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p> <p>Constraints: Minimum
467      * 30-minute window.</p>
468      */
WithPreferredMaintenanceWindow(const char * value)469     inline CreateReplicationInstanceRequest& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;}
470 
471 
472     /**
473      * <p> Specifies whether the replication instance is a Multi-AZ deployment. You
474      * can't set the <code>AvailabilityZone</code> parameter if the Multi-AZ parameter
475      * is set to <code>true</code>. </p>
476      */
GetMultiAZ()477     inline bool GetMultiAZ() const{ return m_multiAZ; }
478 
479     /**
480      * <p> Specifies whether the replication instance is a Multi-AZ deployment. You
481      * can't set the <code>AvailabilityZone</code> parameter if the Multi-AZ parameter
482      * is set to <code>true</code>. </p>
483      */
MultiAZHasBeenSet()484     inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; }
485 
486     /**
487      * <p> Specifies whether the replication instance is a Multi-AZ deployment. You
488      * can't set the <code>AvailabilityZone</code> parameter if the Multi-AZ parameter
489      * is set to <code>true</code>. </p>
490      */
SetMultiAZ(bool value)491     inline void SetMultiAZ(bool value) { m_multiAZHasBeenSet = true; m_multiAZ = value; }
492 
493     /**
494      * <p> Specifies whether the replication instance is a Multi-AZ deployment. You
495      * can't set the <code>AvailabilityZone</code> parameter if the Multi-AZ parameter
496      * is set to <code>true</code>. </p>
497      */
WithMultiAZ(bool value)498     inline CreateReplicationInstanceRequest& WithMultiAZ(bool value) { SetMultiAZ(value); return *this;}
499 
500 
501     /**
502      * <p>The engine version number of the replication instance.</p> <p>If an engine
503      * version number is not specified when a replication instance is created, the
504      * default is the latest engine version available.</p>
505      */
GetEngineVersion()506     inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; }
507 
508     /**
509      * <p>The engine version number of the replication instance.</p> <p>If an engine
510      * version number is not specified when a replication instance is created, the
511      * default is the latest engine version available.</p>
512      */
EngineVersionHasBeenSet()513     inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; }
514 
515     /**
516      * <p>The engine version number of the replication instance.</p> <p>If an engine
517      * version number is not specified when a replication instance is created, the
518      * default is the latest engine version available.</p>
519      */
SetEngineVersion(const Aws::String & value)520     inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; }
521 
522     /**
523      * <p>The engine version number of the replication instance.</p> <p>If an engine
524      * version number is not specified when a replication instance is created, the
525      * default is the latest engine version available.</p>
526      */
SetEngineVersion(Aws::String && value)527     inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); }
528 
529     /**
530      * <p>The engine version number of the replication instance.</p> <p>If an engine
531      * version number is not specified when a replication instance is created, the
532      * default is the latest engine version available.</p>
533      */
SetEngineVersion(const char * value)534     inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); }
535 
536     /**
537      * <p>The engine version number of the replication instance.</p> <p>If an engine
538      * version number is not specified when a replication instance is created, the
539      * default is the latest engine version available.</p>
540      */
WithEngineVersion(const Aws::String & value)541     inline CreateReplicationInstanceRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;}
542 
543     /**
544      * <p>The engine version number of the replication instance.</p> <p>If an engine
545      * version number is not specified when a replication instance is created, the
546      * default is the latest engine version available.</p>
547      */
WithEngineVersion(Aws::String && value)548     inline CreateReplicationInstanceRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;}
549 
550     /**
551      * <p>The engine version number of the replication instance.</p> <p>If an engine
552      * version number is not specified when a replication instance is created, the
553      * default is the latest engine version available.</p>
554      */
WithEngineVersion(const char * value)555     inline CreateReplicationInstanceRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;}
556 
557 
558     /**
559      * <p>A value that indicates whether minor engine upgrades are applied
560      * automatically to the replication instance during the maintenance window. This
561      * parameter defaults to <code>true</code>.</p> <p>Default: <code>true</code> </p>
562      */
GetAutoMinorVersionUpgrade()563     inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; }
564 
565     /**
566      * <p>A value that indicates whether minor engine upgrades are applied
567      * automatically to the replication instance during the maintenance window. This
568      * parameter defaults to <code>true</code>.</p> <p>Default: <code>true</code> </p>
569      */
AutoMinorVersionUpgradeHasBeenSet()570     inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; }
571 
572     /**
573      * <p>A value that indicates whether minor engine upgrades are applied
574      * automatically to the replication instance during the maintenance window. This
575      * parameter defaults to <code>true</code>.</p> <p>Default: <code>true</code> </p>
576      */
SetAutoMinorVersionUpgrade(bool value)577     inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; }
578 
579     /**
580      * <p>A value that indicates whether minor engine upgrades are applied
581      * automatically to the replication instance during the maintenance window. This
582      * parameter defaults to <code>true</code>.</p> <p>Default: <code>true</code> </p>
583      */
WithAutoMinorVersionUpgrade(bool value)584     inline CreateReplicationInstanceRequest& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;}
585 
586 
587     /**
588      * <p>One or more tags to be assigned to the replication instance.</p>
589      */
GetTags()590     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
591 
592     /**
593      * <p>One or more tags to be assigned to the replication instance.</p>
594      */
TagsHasBeenSet()595     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
596 
597     /**
598      * <p>One or more tags to be assigned to the replication instance.</p>
599      */
SetTags(const Aws::Vector<Tag> & value)600     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
601 
602     /**
603      * <p>One or more tags to be assigned to the replication instance.</p>
604      */
SetTags(Aws::Vector<Tag> && value)605     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
606 
607     /**
608      * <p>One or more tags to be assigned to the replication instance.</p>
609      */
WithTags(const Aws::Vector<Tag> & value)610     inline CreateReplicationInstanceRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
611 
612     /**
613      * <p>One or more tags to be assigned to the replication instance.</p>
614      */
WithTags(Aws::Vector<Tag> && value)615     inline CreateReplicationInstanceRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
616 
617     /**
618      * <p>One or more tags to be assigned to the replication instance.</p>
619      */
AddTags(const Tag & value)620     inline CreateReplicationInstanceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
621 
622     /**
623      * <p>One or more tags to be assigned to the replication instance.</p>
624      */
AddTags(Tag && value)625     inline CreateReplicationInstanceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
626 
627 
628     /**
629      * <p>An KMS key identifier that is used to encrypt the data on the replication
630      * instance.</p> <p>If you don't specify a value for the <code>KmsKeyId</code>
631      * parameter, then DMS uses your default encryption key.</p> <p>KMS creates the
632      * default encryption key for your Amazon Web Services account. Your Amazon Web
633      * Services account has a different default encryption key for each Amazon Web
634      * Services Region.</p>
635      */
GetKmsKeyId()636     inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; }
637 
638     /**
639      * <p>An KMS key identifier that is used to encrypt the data on the replication
640      * instance.</p> <p>If you don't specify a value for the <code>KmsKeyId</code>
641      * parameter, then DMS uses your default encryption key.</p> <p>KMS creates the
642      * default encryption key for your Amazon Web Services account. Your Amazon Web
643      * Services account has a different default encryption key for each Amazon Web
644      * Services Region.</p>
645      */
KmsKeyIdHasBeenSet()646     inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
647 
648     /**
649      * <p>An KMS key identifier that is used to encrypt the data on the replication
650      * instance.</p> <p>If you don't specify a value for the <code>KmsKeyId</code>
651      * parameter, then DMS uses your default encryption key.</p> <p>KMS creates the
652      * default encryption key for your Amazon Web Services account. Your Amazon Web
653      * Services account has a different default encryption key for each Amazon Web
654      * Services Region.</p>
655      */
SetKmsKeyId(const Aws::String & value)656     inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }
657 
658     /**
659      * <p>An KMS key identifier that is used to encrypt the data on the replication
660      * instance.</p> <p>If you don't specify a value for the <code>KmsKeyId</code>
661      * parameter, then DMS uses your default encryption key.</p> <p>KMS creates the
662      * default encryption key for your Amazon Web Services account. Your Amazon Web
663      * Services account has a different default encryption key for each Amazon Web
664      * Services Region.</p>
665      */
SetKmsKeyId(Aws::String && value)666     inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); }
667 
668     /**
669      * <p>An KMS key identifier that is used to encrypt the data on the replication
670      * instance.</p> <p>If you don't specify a value for the <code>KmsKeyId</code>
671      * parameter, then DMS uses your default encryption key.</p> <p>KMS creates the
672      * default encryption key for your Amazon Web Services account. Your Amazon Web
673      * Services account has a different default encryption key for each Amazon Web
674      * Services Region.</p>
675      */
SetKmsKeyId(const char * value)676     inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); }
677 
678     /**
679      * <p>An KMS key identifier that is used to encrypt the data on the replication
680      * instance.</p> <p>If you don't specify a value for the <code>KmsKeyId</code>
681      * parameter, then DMS uses your default encryption key.</p> <p>KMS creates the
682      * default encryption key for your Amazon Web Services account. Your Amazon Web
683      * Services account has a different default encryption key for each Amazon Web
684      * Services Region.</p>
685      */
WithKmsKeyId(const Aws::String & value)686     inline CreateReplicationInstanceRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}
687 
688     /**
689      * <p>An KMS key identifier that is used to encrypt the data on the replication
690      * instance.</p> <p>If you don't specify a value for the <code>KmsKeyId</code>
691      * parameter, then DMS uses your default encryption key.</p> <p>KMS creates the
692      * default encryption key for your Amazon Web Services account. Your Amazon Web
693      * Services account has a different default encryption key for each Amazon Web
694      * Services Region.</p>
695      */
WithKmsKeyId(Aws::String && value)696     inline CreateReplicationInstanceRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;}
697 
698     /**
699      * <p>An KMS key identifier that is used to encrypt the data on the replication
700      * instance.</p> <p>If you don't specify a value for the <code>KmsKeyId</code>
701      * parameter, then DMS uses your default encryption key.</p> <p>KMS creates the
702      * default encryption key for your Amazon Web Services account. Your Amazon Web
703      * Services account has a different default encryption key for each Amazon Web
704      * Services Region.</p>
705      */
WithKmsKeyId(const char * value)706     inline CreateReplicationInstanceRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}
707 
708 
709     /**
710      * <p> Specifies the accessibility options for the replication instance. A value of
711      * <code>true</code> represents an instance with a public IP address. A value of
712      * <code>false</code> represents an instance with a private IP address. The default
713      * value is <code>true</code>. </p>
714      */
GetPubliclyAccessible()715     inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; }
716 
717     /**
718      * <p> Specifies the accessibility options for the replication instance. A value of
719      * <code>true</code> represents an instance with a public IP address. A value of
720      * <code>false</code> represents an instance with a private IP address. The default
721      * value is <code>true</code>. </p>
722      */
PubliclyAccessibleHasBeenSet()723     inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; }
724 
725     /**
726      * <p> Specifies the accessibility options for the replication instance. A value of
727      * <code>true</code> represents an instance with a public IP address. A value of
728      * <code>false</code> represents an instance with a private IP address. The default
729      * value is <code>true</code>. </p>
730      */
SetPubliclyAccessible(bool value)731     inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; }
732 
733     /**
734      * <p> Specifies the accessibility options for the replication instance. A value of
735      * <code>true</code> represents an instance with a public IP address. A value of
736      * <code>false</code> represents an instance with a private IP address. The default
737      * value is <code>true</code>. </p>
738      */
WithPubliclyAccessible(bool value)739     inline CreateReplicationInstanceRequest& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;}
740 
741 
742     /**
743      * <p>A list of custom DNS name servers supported for the replication instance to
744      * access your on-premise source or target database. This list overrides the
745      * default name servers supported by the replication instance. You can specify a
746      * comma-separated list of internet addresses for up to four on-premise DNS name
747      * servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code> </p>
748      */
GetDnsNameServers()749     inline const Aws::String& GetDnsNameServers() const{ return m_dnsNameServers; }
750 
751     /**
752      * <p>A list of custom DNS name servers supported for the replication instance to
753      * access your on-premise source or target database. This list overrides the
754      * default name servers supported by the replication instance. You can specify a
755      * comma-separated list of internet addresses for up to four on-premise DNS name
756      * servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code> </p>
757      */
DnsNameServersHasBeenSet()758     inline bool DnsNameServersHasBeenSet() const { return m_dnsNameServersHasBeenSet; }
759 
760     /**
761      * <p>A list of custom DNS name servers supported for the replication instance to
762      * access your on-premise source or target database. This list overrides the
763      * default name servers supported by the replication instance. You can specify a
764      * comma-separated list of internet addresses for up to four on-premise DNS name
765      * servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code> </p>
766      */
SetDnsNameServers(const Aws::String & value)767     inline void SetDnsNameServers(const Aws::String& value) { m_dnsNameServersHasBeenSet = true; m_dnsNameServers = value; }
768 
769     /**
770      * <p>A list of custom DNS name servers supported for the replication instance to
771      * access your on-premise source or target database. This list overrides the
772      * default name servers supported by the replication instance. You can specify a
773      * comma-separated list of internet addresses for up to four on-premise DNS name
774      * servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code> </p>
775      */
SetDnsNameServers(Aws::String && value)776     inline void SetDnsNameServers(Aws::String&& value) { m_dnsNameServersHasBeenSet = true; m_dnsNameServers = std::move(value); }
777 
778     /**
779      * <p>A list of custom DNS name servers supported for the replication instance to
780      * access your on-premise source or target database. This list overrides the
781      * default name servers supported by the replication instance. You can specify a
782      * comma-separated list of internet addresses for up to four on-premise DNS name
783      * servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code> </p>
784      */
SetDnsNameServers(const char * value)785     inline void SetDnsNameServers(const char* value) { m_dnsNameServersHasBeenSet = true; m_dnsNameServers.assign(value); }
786 
787     /**
788      * <p>A list of custom DNS name servers supported for the replication instance to
789      * access your on-premise source or target database. This list overrides the
790      * default name servers supported by the replication instance. You can specify a
791      * comma-separated list of internet addresses for up to four on-premise DNS name
792      * servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code> </p>
793      */
WithDnsNameServers(const Aws::String & value)794     inline CreateReplicationInstanceRequest& WithDnsNameServers(const Aws::String& value) { SetDnsNameServers(value); return *this;}
795 
796     /**
797      * <p>A list of custom DNS name servers supported for the replication instance to
798      * access your on-premise source or target database. This list overrides the
799      * default name servers supported by the replication instance. You can specify a
800      * comma-separated list of internet addresses for up to four on-premise DNS name
801      * servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code> </p>
802      */
WithDnsNameServers(Aws::String && value)803     inline CreateReplicationInstanceRequest& WithDnsNameServers(Aws::String&& value) { SetDnsNameServers(std::move(value)); return *this;}
804 
805     /**
806      * <p>A list of custom DNS name servers supported for the replication instance to
807      * access your on-premise source or target database. This list overrides the
808      * default name servers supported by the replication instance. You can specify a
809      * comma-separated list of internet addresses for up to four on-premise DNS name
810      * servers. For example: <code>"1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"</code> </p>
811      */
WithDnsNameServers(const char * value)812     inline CreateReplicationInstanceRequest& WithDnsNameServers(const char* value) { SetDnsNameServers(value); return *this;}
813 
814 
815     /**
816      * <p>A friendly name for the resource identifier at the end of the
817      * <code>EndpointArn</code> response parameter that is returned in the created
818      * <code>Endpoint</code> object. The value for this parameter can have up to 31
819      * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also,
820      * it can't end with a hyphen or contain two consecutive hyphens, and can only
821      * begin with a letter, such as <code>Example-App-ARN1</code>. For example, this
822      * value might result in the <code>EndpointArn</code> value
823      * <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you
824      * don't specify a <code>ResourceIdentifier</code> value, DMS generates a default
825      * identifier value for the end of <code>EndpointArn</code>.</p>
826      */
GetResourceIdentifier()827     inline const Aws::String& GetResourceIdentifier() const{ return m_resourceIdentifier; }
828 
829     /**
830      * <p>A friendly name for the resource identifier at the end of the
831      * <code>EndpointArn</code> response parameter that is returned in the created
832      * <code>Endpoint</code> object. The value for this parameter can have up to 31
833      * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also,
834      * it can't end with a hyphen or contain two consecutive hyphens, and can only
835      * begin with a letter, such as <code>Example-App-ARN1</code>. For example, this
836      * value might result in the <code>EndpointArn</code> value
837      * <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you
838      * don't specify a <code>ResourceIdentifier</code> value, DMS generates a default
839      * identifier value for the end of <code>EndpointArn</code>.</p>
840      */
ResourceIdentifierHasBeenSet()841     inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; }
842 
843     /**
844      * <p>A friendly name for the resource identifier at the end of the
845      * <code>EndpointArn</code> response parameter that is returned in the created
846      * <code>Endpoint</code> object. The value for this parameter can have up to 31
847      * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also,
848      * it can't end with a hyphen or contain two consecutive hyphens, and can only
849      * begin with a letter, such as <code>Example-App-ARN1</code>. For example, this
850      * value might result in the <code>EndpointArn</code> value
851      * <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you
852      * don't specify a <code>ResourceIdentifier</code> value, DMS generates a default
853      * identifier value for the end of <code>EndpointArn</code>.</p>
854      */
SetResourceIdentifier(const Aws::String & value)855     inline void SetResourceIdentifier(const Aws::String& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = value; }
856 
857     /**
858      * <p>A friendly name for the resource identifier at the end of the
859      * <code>EndpointArn</code> response parameter that is returned in the created
860      * <code>Endpoint</code> object. The value for this parameter can have up to 31
861      * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also,
862      * it can't end with a hyphen or contain two consecutive hyphens, and can only
863      * begin with a letter, such as <code>Example-App-ARN1</code>. For example, this
864      * value might result in the <code>EndpointArn</code> value
865      * <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you
866      * don't specify a <code>ResourceIdentifier</code> value, DMS generates a default
867      * identifier value for the end of <code>EndpointArn</code>.</p>
868      */
SetResourceIdentifier(Aws::String && value)869     inline void SetResourceIdentifier(Aws::String&& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = std::move(value); }
870 
871     /**
872      * <p>A friendly name for the resource identifier at the end of the
873      * <code>EndpointArn</code> response parameter that is returned in the created
874      * <code>Endpoint</code> object. The value for this parameter can have up to 31
875      * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also,
876      * it can't end with a hyphen or contain two consecutive hyphens, and can only
877      * begin with a letter, such as <code>Example-App-ARN1</code>. For example, this
878      * value might result in the <code>EndpointArn</code> value
879      * <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you
880      * don't specify a <code>ResourceIdentifier</code> value, DMS generates a default
881      * identifier value for the end of <code>EndpointArn</code>.</p>
882      */
SetResourceIdentifier(const char * value)883     inline void SetResourceIdentifier(const char* value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.assign(value); }
884 
885     /**
886      * <p>A friendly name for the resource identifier at the end of the
887      * <code>EndpointArn</code> response parameter that is returned in the created
888      * <code>Endpoint</code> object. The value for this parameter can have up to 31
889      * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also,
890      * it can't end with a hyphen or contain two consecutive hyphens, and can only
891      * begin with a letter, such as <code>Example-App-ARN1</code>. For example, this
892      * value might result in the <code>EndpointArn</code> value
893      * <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you
894      * don't specify a <code>ResourceIdentifier</code> value, DMS generates a default
895      * identifier value for the end of <code>EndpointArn</code>.</p>
896      */
WithResourceIdentifier(const Aws::String & value)897     inline CreateReplicationInstanceRequest& WithResourceIdentifier(const Aws::String& value) { SetResourceIdentifier(value); return *this;}
898 
899     /**
900      * <p>A friendly name for the resource identifier at the end of the
901      * <code>EndpointArn</code> response parameter that is returned in the created
902      * <code>Endpoint</code> object. The value for this parameter can have up to 31
903      * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also,
904      * it can't end with a hyphen or contain two consecutive hyphens, and can only
905      * begin with a letter, such as <code>Example-App-ARN1</code>. For example, this
906      * value might result in the <code>EndpointArn</code> value
907      * <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you
908      * don't specify a <code>ResourceIdentifier</code> value, DMS generates a default
909      * identifier value for the end of <code>EndpointArn</code>.</p>
910      */
WithResourceIdentifier(Aws::String && value)911     inline CreateReplicationInstanceRequest& WithResourceIdentifier(Aws::String&& value) { SetResourceIdentifier(std::move(value)); return *this;}
912 
913     /**
914      * <p>A friendly name for the resource identifier at the end of the
915      * <code>EndpointArn</code> response parameter that is returned in the created
916      * <code>Endpoint</code> object. The value for this parameter can have up to 31
917      * characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also,
918      * it can't end with a hyphen or contain two consecutive hyphens, and can only
919      * begin with a letter, such as <code>Example-App-ARN1</code>. For example, this
920      * value might result in the <code>EndpointArn</code> value
921      * <code>arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1</code>. If you
922      * don't specify a <code>ResourceIdentifier</code> value, DMS generates a default
923      * identifier value for the end of <code>EndpointArn</code>.</p>
924      */
WithResourceIdentifier(const char * value)925     inline CreateReplicationInstanceRequest& WithResourceIdentifier(const char* value) { SetResourceIdentifier(value); return *this;}
926 
927   private:
928 
929     Aws::String m_replicationInstanceIdentifier;
930     bool m_replicationInstanceIdentifierHasBeenSet;
931 
932     int m_allocatedStorage;
933     bool m_allocatedStorageHasBeenSet;
934 
935     Aws::String m_replicationInstanceClass;
936     bool m_replicationInstanceClassHasBeenSet;
937 
938     Aws::Vector<Aws::String> m_vpcSecurityGroupIds;
939     bool m_vpcSecurityGroupIdsHasBeenSet;
940 
941     Aws::String m_availabilityZone;
942     bool m_availabilityZoneHasBeenSet;
943 
944     Aws::String m_replicationSubnetGroupIdentifier;
945     bool m_replicationSubnetGroupIdentifierHasBeenSet;
946 
947     Aws::String m_preferredMaintenanceWindow;
948     bool m_preferredMaintenanceWindowHasBeenSet;
949 
950     bool m_multiAZ;
951     bool m_multiAZHasBeenSet;
952 
953     Aws::String m_engineVersion;
954     bool m_engineVersionHasBeenSet;
955 
956     bool m_autoMinorVersionUpgrade;
957     bool m_autoMinorVersionUpgradeHasBeenSet;
958 
959     Aws::Vector<Tag> m_tags;
960     bool m_tagsHasBeenSet;
961 
962     Aws::String m_kmsKeyId;
963     bool m_kmsKeyIdHasBeenSet;
964 
965     bool m_publiclyAccessible;
966     bool m_publiclyAccessibleHasBeenSet;
967 
968     Aws::String m_dnsNameServers;
969     bool m_dnsNameServersHasBeenSet;
970 
971     Aws::String m_resourceIdentifier;
972     bool m_resourceIdentifierHasBeenSet;
973   };
974 
975 } // namespace Model
976 } // namespace DatabaseMigrationService
977 } // namespace Aws
978