/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace OpsWorksCM { namespace Model { /** */ class CreateServerRequest : public OpsWorksCMRequest { public: AWS_OPSWORKSCM_API CreateServerRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateServer"; } AWS_OPSWORKSCM_API Aws::String SerializePayload() const override; AWS_OPSWORKSCM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Associate a public IP address with a server that you are launching. Valid * values are true or false. The default value is * true.

*/ inline bool GetAssociatePublicIpAddress() const{ return m_associatePublicIpAddress; } /** *

Associate a public IP address with a server that you are launching. Valid * values are true or false. The default value is * true.

*/ inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; } /** *

Associate a public IP address with a server that you are launching. Valid * values are true or false. The default value is * true.

*/ inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; } /** *

Associate a public IP address with a server that you are launching. Valid * values are true or false. The default value is * true.

*/ inline CreateServerRequest& WithAssociatePublicIpAddress(bool value) { SetAssociatePublicIpAddress(value); return *this;} /** *

An optional public endpoint of a server, such as * https://aws.my-company.com. To access the server, create a CNAME * DNS record in your preferred DNS service that points the custom domain to the * endpoint that is generated when the server is created (the value of the * CreateServer Endpoint attribute). You cannot access the server by using the * generated Endpoint value if the server is using a custom domain. If * you specify a custom domain, you must also specify values for * CustomCertificate and CustomPrivateKey.

*/ inline const Aws::String& GetCustomDomain() const{ return m_customDomain; } /** *

An optional public endpoint of a server, such as * https://aws.my-company.com. To access the server, create a CNAME * DNS record in your preferred DNS service that points the custom domain to the * endpoint that is generated when the server is created (the value of the * CreateServer Endpoint attribute). You cannot access the server by using the * generated Endpoint value if the server is using a custom domain. If * you specify a custom domain, you must also specify values for * CustomCertificate and CustomPrivateKey.

*/ inline bool CustomDomainHasBeenSet() const { return m_customDomainHasBeenSet; } /** *

An optional public endpoint of a server, such as * https://aws.my-company.com. To access the server, create a CNAME * DNS record in your preferred DNS service that points the custom domain to the * endpoint that is generated when the server is created (the value of the * CreateServer Endpoint attribute). You cannot access the server by using the * generated Endpoint value if the server is using a custom domain. If * you specify a custom domain, you must also specify values for * CustomCertificate and CustomPrivateKey.

*/ inline void SetCustomDomain(const Aws::String& value) { m_customDomainHasBeenSet = true; m_customDomain = value; } /** *

An optional public endpoint of a server, such as * https://aws.my-company.com. To access the server, create a CNAME * DNS record in your preferred DNS service that points the custom domain to the * endpoint that is generated when the server is created (the value of the * CreateServer Endpoint attribute). You cannot access the server by using the * generated Endpoint value if the server is using a custom domain. If * you specify a custom domain, you must also specify values for * CustomCertificate and CustomPrivateKey.

*/ inline void SetCustomDomain(Aws::String&& value) { m_customDomainHasBeenSet = true; m_customDomain = std::move(value); } /** *

An optional public endpoint of a server, such as * https://aws.my-company.com. To access the server, create a CNAME * DNS record in your preferred DNS service that points the custom domain to the * endpoint that is generated when the server is created (the value of the * CreateServer Endpoint attribute). You cannot access the server by using the * generated Endpoint value if the server is using a custom domain. If * you specify a custom domain, you must also specify values for * CustomCertificate and CustomPrivateKey.

*/ inline void SetCustomDomain(const char* value) { m_customDomainHasBeenSet = true; m_customDomain.assign(value); } /** *

An optional public endpoint of a server, such as * https://aws.my-company.com. To access the server, create a CNAME * DNS record in your preferred DNS service that points the custom domain to the * endpoint that is generated when the server is created (the value of the * CreateServer Endpoint attribute). You cannot access the server by using the * generated Endpoint value if the server is using a custom domain. If * you specify a custom domain, you must also specify values for * CustomCertificate and CustomPrivateKey.

*/ inline CreateServerRequest& WithCustomDomain(const Aws::String& value) { SetCustomDomain(value); return *this;} /** *

An optional public endpoint of a server, such as * https://aws.my-company.com. To access the server, create a CNAME * DNS record in your preferred DNS service that points the custom domain to the * endpoint that is generated when the server is created (the value of the * CreateServer Endpoint attribute). You cannot access the server by using the * generated Endpoint value if the server is using a custom domain. If * you specify a custom domain, you must also specify values for * CustomCertificate and CustomPrivateKey.

*/ inline CreateServerRequest& WithCustomDomain(Aws::String&& value) { SetCustomDomain(std::move(value)); return *this;} /** *

An optional public endpoint of a server, such as * https://aws.my-company.com. To access the server, create a CNAME * DNS record in your preferred DNS service that points the custom domain to the * endpoint that is generated when the server is created (the value of the * CreateServer Endpoint attribute). You cannot access the server by using the * generated Endpoint value if the server is using a custom domain. If * you specify a custom domain, you must also specify values for * CustomCertificate and CustomPrivateKey.

*/ inline CreateServerRequest& WithCustomDomain(const char* value) { SetCustomDomain(value); return *this;} /** *

A PEM-formatted HTTPS certificate. The value can be be a single, self-signed * certificate, or a certificate chain. If you specify a custom certificate, you * must also specify values for CustomDomain and * CustomPrivateKey. The following are requirements for the * CustomCertificate value:

  • You can provide either a * self-signed, custom certificate, or the full certificate chain.

  • *

    The certificate must be a valid X509 certificate, or a certificate chain in * PEM format.

  • The certificate must be valid at the time of * upload. A certificate can't be used before its validity period begins (the * certificate's NotBefore date), or after it expires (the * certificate's NotAfter date).

  • The certificate’s * common name or subject alternative names (SANs), if present, must match the * value of CustomDomain.

  • The certificate must match * the value of CustomPrivateKey.

*/ inline const Aws::String& GetCustomCertificate() const{ return m_customCertificate; } /** *

A PEM-formatted HTTPS certificate. The value can be be a single, self-signed * certificate, or a certificate chain. If you specify a custom certificate, you * must also specify values for CustomDomain and * CustomPrivateKey. The following are requirements for the * CustomCertificate value:

  • You can provide either a * self-signed, custom certificate, or the full certificate chain.

  • *

    The certificate must be a valid X509 certificate, or a certificate chain in * PEM format.

  • The certificate must be valid at the time of * upload. A certificate can't be used before its validity period begins (the * certificate's NotBefore date), or after it expires (the * certificate's NotAfter date).

  • The certificate’s * common name or subject alternative names (SANs), if present, must match the * value of CustomDomain.

  • The certificate must match * the value of CustomPrivateKey.

*/ inline bool CustomCertificateHasBeenSet() const { return m_customCertificateHasBeenSet; } /** *

A PEM-formatted HTTPS certificate. The value can be be a single, self-signed * certificate, or a certificate chain. If you specify a custom certificate, you * must also specify values for CustomDomain and * CustomPrivateKey. The following are requirements for the * CustomCertificate value:

  • You can provide either a * self-signed, custom certificate, or the full certificate chain.

  • *

    The certificate must be a valid X509 certificate, or a certificate chain in * PEM format.

  • The certificate must be valid at the time of * upload. A certificate can't be used before its validity period begins (the * certificate's NotBefore date), or after it expires (the * certificate's NotAfter date).

  • The certificate’s * common name or subject alternative names (SANs), if present, must match the * value of CustomDomain.

  • The certificate must match * the value of CustomPrivateKey.

*/ inline void SetCustomCertificate(const Aws::String& value) { m_customCertificateHasBeenSet = true; m_customCertificate = value; } /** *

A PEM-formatted HTTPS certificate. The value can be be a single, self-signed * certificate, or a certificate chain. If you specify a custom certificate, you * must also specify values for CustomDomain and * CustomPrivateKey. The following are requirements for the * CustomCertificate value:

  • You can provide either a * self-signed, custom certificate, or the full certificate chain.

  • *

    The certificate must be a valid X509 certificate, or a certificate chain in * PEM format.

  • The certificate must be valid at the time of * upload. A certificate can't be used before its validity period begins (the * certificate's NotBefore date), or after it expires (the * certificate's NotAfter date).

  • The certificate’s * common name or subject alternative names (SANs), if present, must match the * value of CustomDomain.

  • The certificate must match * the value of CustomPrivateKey.

*/ inline void SetCustomCertificate(Aws::String&& value) { m_customCertificateHasBeenSet = true; m_customCertificate = std::move(value); } /** *

A PEM-formatted HTTPS certificate. The value can be be a single, self-signed * certificate, or a certificate chain. If you specify a custom certificate, you * must also specify values for CustomDomain and * CustomPrivateKey. The following are requirements for the * CustomCertificate value:

  • You can provide either a * self-signed, custom certificate, or the full certificate chain.

  • *

    The certificate must be a valid X509 certificate, or a certificate chain in * PEM format.

  • The certificate must be valid at the time of * upload. A certificate can't be used before its validity period begins (the * certificate's NotBefore date), or after it expires (the * certificate's NotAfter date).

  • The certificate’s * common name or subject alternative names (SANs), if present, must match the * value of CustomDomain.

  • The certificate must match * the value of CustomPrivateKey.

*/ inline void SetCustomCertificate(const char* value) { m_customCertificateHasBeenSet = true; m_customCertificate.assign(value); } /** *

A PEM-formatted HTTPS certificate. The value can be be a single, self-signed * certificate, or a certificate chain. If you specify a custom certificate, you * must also specify values for CustomDomain and * CustomPrivateKey. The following are requirements for the * CustomCertificate value:

  • You can provide either a * self-signed, custom certificate, or the full certificate chain.

  • *

    The certificate must be a valid X509 certificate, or a certificate chain in * PEM format.

  • The certificate must be valid at the time of * upload. A certificate can't be used before its validity period begins (the * certificate's NotBefore date), or after it expires (the * certificate's NotAfter date).

  • The certificate’s * common name or subject alternative names (SANs), if present, must match the * value of CustomDomain.

  • The certificate must match * the value of CustomPrivateKey.

*/ inline CreateServerRequest& WithCustomCertificate(const Aws::String& value) { SetCustomCertificate(value); return *this;} /** *

A PEM-formatted HTTPS certificate. The value can be be a single, self-signed * certificate, or a certificate chain. If you specify a custom certificate, you * must also specify values for CustomDomain and * CustomPrivateKey. The following are requirements for the * CustomCertificate value:

  • You can provide either a * self-signed, custom certificate, or the full certificate chain.

  • *

    The certificate must be a valid X509 certificate, or a certificate chain in * PEM format.

  • The certificate must be valid at the time of * upload. A certificate can't be used before its validity period begins (the * certificate's NotBefore date), or after it expires (the * certificate's NotAfter date).

  • The certificate’s * common name or subject alternative names (SANs), if present, must match the * value of CustomDomain.

  • The certificate must match * the value of CustomPrivateKey.

*/ inline CreateServerRequest& WithCustomCertificate(Aws::String&& value) { SetCustomCertificate(std::move(value)); return *this;} /** *

A PEM-formatted HTTPS certificate. The value can be be a single, self-signed * certificate, or a certificate chain. If you specify a custom certificate, you * must also specify values for CustomDomain and * CustomPrivateKey. The following are requirements for the * CustomCertificate value:

  • You can provide either a * self-signed, custom certificate, or the full certificate chain.

  • *

    The certificate must be a valid X509 certificate, or a certificate chain in * PEM format.

  • The certificate must be valid at the time of * upload. A certificate can't be used before its validity period begins (the * certificate's NotBefore date), or after it expires (the * certificate's NotAfter date).

  • The certificate’s * common name or subject alternative names (SANs), if present, must match the * value of CustomDomain.

  • The certificate must match * the value of CustomPrivateKey.

*/ inline CreateServerRequest& WithCustomCertificate(const char* value) { SetCustomCertificate(value); return *this;} /** *

A private key in PEM format for connecting to the server by using HTTPS. The * private key must not be encrypted; it cannot be protected by a password or * passphrase. If you specify a custom private key, you must also specify values * for CustomDomain and CustomCertificate.

*/ inline const Aws::String& GetCustomPrivateKey() const{ return m_customPrivateKey; } /** *

A private key in PEM format for connecting to the server by using HTTPS. The * private key must not be encrypted; it cannot be protected by a password or * passphrase. If you specify a custom private key, you must also specify values * for CustomDomain and CustomCertificate.

*/ inline bool CustomPrivateKeyHasBeenSet() const { return m_customPrivateKeyHasBeenSet; } /** *

A private key in PEM format for connecting to the server by using HTTPS. The * private key must not be encrypted; it cannot be protected by a password or * passphrase. If you specify a custom private key, you must also specify values * for CustomDomain and CustomCertificate.

*/ inline void SetCustomPrivateKey(const Aws::String& value) { m_customPrivateKeyHasBeenSet = true; m_customPrivateKey = value; } /** *

A private key in PEM format for connecting to the server by using HTTPS. The * private key must not be encrypted; it cannot be protected by a password or * passphrase. If you specify a custom private key, you must also specify values * for CustomDomain and CustomCertificate.

*/ inline void SetCustomPrivateKey(Aws::String&& value) { m_customPrivateKeyHasBeenSet = true; m_customPrivateKey = std::move(value); } /** *

A private key in PEM format for connecting to the server by using HTTPS. The * private key must not be encrypted; it cannot be protected by a password or * passphrase. If you specify a custom private key, you must also specify values * for CustomDomain and CustomCertificate.

*/ inline void SetCustomPrivateKey(const char* value) { m_customPrivateKeyHasBeenSet = true; m_customPrivateKey.assign(value); } /** *

A private key in PEM format for connecting to the server by using HTTPS. The * private key must not be encrypted; it cannot be protected by a password or * passphrase. If you specify a custom private key, you must also specify values * for CustomDomain and CustomCertificate.

*/ inline CreateServerRequest& WithCustomPrivateKey(const Aws::String& value) { SetCustomPrivateKey(value); return *this;} /** *

A private key in PEM format for connecting to the server by using HTTPS. The * private key must not be encrypted; it cannot be protected by a password or * passphrase. If you specify a custom private key, you must also specify values * for CustomDomain and CustomCertificate.

*/ inline CreateServerRequest& WithCustomPrivateKey(Aws::String&& value) { SetCustomPrivateKey(std::move(value)); return *this;} /** *

A private key in PEM format for connecting to the server by using HTTPS. The * private key must not be encrypted; it cannot be protected by a password or * passphrase. If you specify a custom private key, you must also specify values * for CustomDomain and CustomCertificate.

*/ inline CreateServerRequest& WithCustomPrivateKey(const char* value) { SetCustomPrivateKey(value); return *this;} /** *

Enable or disable scheduled backups. Valid values are true or * false. The default value is true.

*/ inline bool GetDisableAutomatedBackup() const{ return m_disableAutomatedBackup; } /** *

Enable or disable scheduled backups. Valid values are true or * false. The default value is true.

*/ inline bool DisableAutomatedBackupHasBeenSet() const { return m_disableAutomatedBackupHasBeenSet; } /** *

Enable or disable scheduled backups. Valid values are true or * false. The default value is true.

*/ inline void SetDisableAutomatedBackup(bool value) { m_disableAutomatedBackupHasBeenSet = true; m_disableAutomatedBackup = value; } /** *

Enable or disable scheduled backups. Valid values are true or * false. The default value is true.

*/ inline CreateServerRequest& WithDisableAutomatedBackup(bool value) { SetDisableAutomatedBackup(value); return *this;} /** *

The configuration management engine to use. Valid values include * ChefAutomate and Puppet.

*/ inline const Aws::String& GetEngine() const{ return m_engine; } /** *

The configuration management engine to use. Valid values include * ChefAutomate and Puppet.

*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *

The configuration management engine to use. Valid values include * ChefAutomate and Puppet.

*/ inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } /** *

The configuration management engine to use. Valid values include * ChefAutomate and Puppet.

*/ inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *

The configuration management engine to use. Valid values include * ChefAutomate and Puppet.

*/ inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } /** *

The configuration management engine to use. Valid values include * ChefAutomate and Puppet.

*/ inline CreateServerRequest& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} /** *

The configuration management engine to use. Valid values include * ChefAutomate and Puppet.

*/ inline CreateServerRequest& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} /** *

The configuration management engine to use. Valid values include * ChefAutomate and Puppet.

*/ inline CreateServerRequest& WithEngine(const char* value) { SetEngine(value); return *this;} /** *

The engine model of the server. Valid values in this release include * Monolithic for Puppet and Single for Chef.

*/ inline const Aws::String& GetEngineModel() const{ return m_engineModel; } /** *

The engine model of the server. Valid values in this release include * Monolithic for Puppet and Single for Chef.

*/ inline bool EngineModelHasBeenSet() const { return m_engineModelHasBeenSet; } /** *

The engine model of the server. Valid values in this release include * Monolithic for Puppet and Single for Chef.

*/ inline void SetEngineModel(const Aws::String& value) { m_engineModelHasBeenSet = true; m_engineModel = value; } /** *

The engine model of the server. Valid values in this release include * Monolithic for Puppet and Single for Chef.

*/ inline void SetEngineModel(Aws::String&& value) { m_engineModelHasBeenSet = true; m_engineModel = std::move(value); } /** *

The engine model of the server. Valid values in this release include * Monolithic for Puppet and Single for Chef.

*/ inline void SetEngineModel(const char* value) { m_engineModelHasBeenSet = true; m_engineModel.assign(value); } /** *

The engine model of the server. Valid values in this release include * Monolithic for Puppet and Single for Chef.

*/ inline CreateServerRequest& WithEngineModel(const Aws::String& value) { SetEngineModel(value); return *this;} /** *

The engine model of the server. Valid values in this release include * Monolithic for Puppet and Single for Chef.

*/ inline CreateServerRequest& WithEngineModel(Aws::String&& value) { SetEngineModel(std::move(value)); return *this;} /** *

The engine model of the server. Valid values in this release include * Monolithic for Puppet and Single for Chef.

*/ inline CreateServerRequest& WithEngineModel(const char* value) { SetEngineModel(value); return *this;} /** *

The major release version of the engine that you want to use. For a Chef * server, the valid value for EngineVersion is currently 2. For a * Puppet server, valid values are 2019 or 2017.

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

The major release version of the engine that you want to use. For a Chef * server, the valid value for EngineVersion is currently 2. For a * Puppet server, valid values are 2019 or 2017.

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

The major release version of the engine that you want to use. For a Chef * server, the valid value for EngineVersion is currently 2. For a * Puppet server, valid values are 2019 or 2017.

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

The major release version of the engine that you want to use. For a Chef * server, the valid value for EngineVersion is currently 2. For a * Puppet server, valid values are 2019 or 2017.

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

The major release version of the engine that you want to use. For a Chef * server, the valid value for EngineVersion is currently 2. For a * Puppet server, valid values are 2019 or 2017.

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

The major release version of the engine that you want to use. For a Chef * server, the valid value for EngineVersion is currently 2. For a * Puppet server, valid values are 2019 or 2017.

*/ inline CreateServerRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

The major release version of the engine that you want to use. For a Chef * server, the valid value for EngineVersion is currently 2. For a * Puppet server, valid values are 2019 or 2017.

*/ inline CreateServerRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

The major release version of the engine that you want to use. For a Chef * server, the valid value for EngineVersion is currently 2. For a * Puppet server, valid values are 2019 or 2017.

*/ inline CreateServerRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

Optional engine attributes on a specified server.

* Attributes accepted in a Chef createServer request:

  • * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The * corresponding private key is required to access the Chef API. When no * CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the * response.

  • CHEF_AUTOMATE_ADMIN_PASSWORD: The * password for the administrative user in the Chef Automate web-based dashboard. * The password length is a minimum of eight characters, and a maximum of 32. The * password can contain letters, numbers, and special characters (!/@#$%^&+=_). * The password must contain at least one lower case letter, one upper case letter, * one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is * set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

*
  • PUPPET_ADMIN_PASSWORD: To work with the Puppet * Enterprise console, a password must use ASCII characters.

  • * PUPPET_R10K_REMOTE: The r10k remote is the URL of your control * repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). * Specifying an r10k remote opens TCP port 8170.

  • * PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, * add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.

  • *
*/ inline const Aws::Vector& GetEngineAttributes() const{ return m_engineAttributes; } /** *

Optional engine attributes on a specified server.

* Attributes accepted in a Chef createServer request:

  • * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The * corresponding private key is required to access the Chef API. When no * CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the * response.

  • CHEF_AUTOMATE_ADMIN_PASSWORD: The * password for the administrative user in the Chef Automate web-based dashboard. * The password length is a minimum of eight characters, and a maximum of 32. The * password can contain letters, numbers, and special characters (!/@#$%^&+=_). * The password must contain at least one lower case letter, one upper case letter, * one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is * set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

*
  • PUPPET_ADMIN_PASSWORD: To work with the Puppet * Enterprise console, a password must use ASCII characters.

  • * PUPPET_R10K_REMOTE: The r10k remote is the URL of your control * repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). * Specifying an r10k remote opens TCP port 8170.

  • * PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, * add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.

  • *
*/ inline bool EngineAttributesHasBeenSet() const { return m_engineAttributesHasBeenSet; } /** *

Optional engine attributes on a specified server.

* Attributes accepted in a Chef createServer request:

  • * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The * corresponding private key is required to access the Chef API. When no * CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the * response.

  • CHEF_AUTOMATE_ADMIN_PASSWORD: The * password for the administrative user in the Chef Automate web-based dashboard. * The password length is a minimum of eight characters, and a maximum of 32. The * password can contain letters, numbers, and special characters (!/@#$%^&+=_). * The password must contain at least one lower case letter, one upper case letter, * one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is * set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

*
  • PUPPET_ADMIN_PASSWORD: To work with the Puppet * Enterprise console, a password must use ASCII characters.

  • * PUPPET_R10K_REMOTE: The r10k remote is the URL of your control * repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). * Specifying an r10k remote opens TCP port 8170.

  • * PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, * add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.

  • *
*/ inline void SetEngineAttributes(const Aws::Vector& value) { m_engineAttributesHasBeenSet = true; m_engineAttributes = value; } /** *

Optional engine attributes on a specified server.

* Attributes accepted in a Chef createServer request:

  • * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The * corresponding private key is required to access the Chef API. When no * CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the * response.

  • CHEF_AUTOMATE_ADMIN_PASSWORD: The * password for the administrative user in the Chef Automate web-based dashboard. * The password length is a minimum of eight characters, and a maximum of 32. The * password can contain letters, numbers, and special characters (!/@#$%^&+=_). * The password must contain at least one lower case letter, one upper case letter, * one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is * set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

*
  • PUPPET_ADMIN_PASSWORD: To work with the Puppet * Enterprise console, a password must use ASCII characters.

  • * PUPPET_R10K_REMOTE: The r10k remote is the URL of your control * repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). * Specifying an r10k remote opens TCP port 8170.

  • * PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, * add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.

  • *
*/ inline void SetEngineAttributes(Aws::Vector&& value) { m_engineAttributesHasBeenSet = true; m_engineAttributes = std::move(value); } /** *

Optional engine attributes on a specified server.

* Attributes accepted in a Chef createServer request:

  • * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The * corresponding private key is required to access the Chef API. When no * CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the * response.

  • CHEF_AUTOMATE_ADMIN_PASSWORD: The * password for the administrative user in the Chef Automate web-based dashboard. * The password length is a minimum of eight characters, and a maximum of 32. The * password can contain letters, numbers, and special characters (!/@#$%^&+=_). * The password must contain at least one lower case letter, one upper case letter, * one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is * set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

*
  • PUPPET_ADMIN_PASSWORD: To work with the Puppet * Enterprise console, a password must use ASCII characters.

  • * PUPPET_R10K_REMOTE: The r10k remote is the URL of your control * repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). * Specifying an r10k remote opens TCP port 8170.

  • * PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, * add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.

  • *
*/ inline CreateServerRequest& WithEngineAttributes(const Aws::Vector& value) { SetEngineAttributes(value); return *this;} /** *

Optional engine attributes on a specified server.

* Attributes accepted in a Chef createServer request:

  • * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The * corresponding private key is required to access the Chef API. When no * CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the * response.

  • CHEF_AUTOMATE_ADMIN_PASSWORD: The * password for the administrative user in the Chef Automate web-based dashboard. * The password length is a minimum of eight characters, and a maximum of 32. The * password can contain letters, numbers, and special characters (!/@#$%^&+=_). * The password must contain at least one lower case letter, one upper case letter, * one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is * set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

*
  • PUPPET_ADMIN_PASSWORD: To work with the Puppet * Enterprise console, a password must use ASCII characters.

  • * PUPPET_R10K_REMOTE: The r10k remote is the URL of your control * repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). * Specifying an r10k remote opens TCP port 8170.

  • * PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, * add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.

  • *
*/ inline CreateServerRequest& WithEngineAttributes(Aws::Vector&& value) { SetEngineAttributes(std::move(value)); return *this;} /** *

Optional engine attributes on a specified server.

* Attributes accepted in a Chef createServer request:

  • * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The * corresponding private key is required to access the Chef API. When no * CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the * response.

  • CHEF_AUTOMATE_ADMIN_PASSWORD: The * password for the administrative user in the Chef Automate web-based dashboard. * The password length is a minimum of eight characters, and a maximum of 32. The * password can contain letters, numbers, and special characters (!/@#$%^&+=_). * The password must contain at least one lower case letter, one upper case letter, * one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is * set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

*
  • PUPPET_ADMIN_PASSWORD: To work with the Puppet * Enterprise console, a password must use ASCII characters.

  • * PUPPET_R10K_REMOTE: The r10k remote is the URL of your control * repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). * Specifying an r10k remote opens TCP port 8170.

  • * PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, * add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.

  • *
*/ inline CreateServerRequest& AddEngineAttributes(const EngineAttribute& value) { m_engineAttributesHasBeenSet = true; m_engineAttributes.push_back(value); return *this; } /** *

Optional engine attributes on a specified server.

* Attributes accepted in a Chef createServer request:

  • * CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The * corresponding private key is required to access the Chef API. When no * CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the * response.

  • CHEF_AUTOMATE_ADMIN_PASSWORD: The * password for the administrative user in the Chef Automate web-based dashboard. * The password length is a minimum of eight characters, and a maximum of 32. The * password can contain letters, numbers, and special characters (!/@#$%^&+=_). * The password must contain at least one lower case letter, one upper case letter, * one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is * set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

*
  • PUPPET_ADMIN_PASSWORD: To work with the Puppet * Enterprise console, a password must use ASCII characters.

  • * PUPPET_R10K_REMOTE: The r10k remote is the URL of your control * repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). * Specifying an r10k remote opens TCP port 8170.

  • * PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, * add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.

  • *
*/ inline CreateServerRequest& AddEngineAttributes(EngineAttribute&& value) { m_engineAttributesHasBeenSet = true; m_engineAttributes.push_back(std::move(value)); return *this; } /** *

The number of automated backups that you want to keep. Whenever a new backup * is created, AWS OpsWorks CM deletes the oldest backups if this number is * exceeded. The default value is 1.

*/ inline int GetBackupRetentionCount() const{ return m_backupRetentionCount; } /** *

The number of automated backups that you want to keep. Whenever a new backup * is created, AWS OpsWorks CM deletes the oldest backups if this number is * exceeded. The default value is 1.

*/ inline bool BackupRetentionCountHasBeenSet() const { return m_backupRetentionCountHasBeenSet; } /** *

The number of automated backups that you want to keep. Whenever a new backup * is created, AWS OpsWorks CM deletes the oldest backups if this number is * exceeded. The default value is 1.

*/ inline void SetBackupRetentionCount(int value) { m_backupRetentionCountHasBeenSet = true; m_backupRetentionCount = value; } /** *

The number of automated backups that you want to keep. Whenever a new backup * is created, AWS OpsWorks CM deletes the oldest backups if this number is * exceeded. The default value is 1.

*/ inline CreateServerRequest& WithBackupRetentionCount(int value) { SetBackupRetentionCount(value); return *this;} /** *

The name of the server. The server name must be unique within your AWS * account, within each region. Server names must start with a letter; then * letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters. *

*/ inline const Aws::String& GetServerName() const{ return m_serverName; } /** *

The name of the server. The server name must be unique within your AWS * account, within each region. Server names must start with a letter; then * letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters. *

*/ inline bool ServerNameHasBeenSet() const { return m_serverNameHasBeenSet; } /** *

The name of the server. The server name must be unique within your AWS * account, within each region. Server names must start with a letter; then * letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters. *

*/ inline void SetServerName(const Aws::String& value) { m_serverNameHasBeenSet = true; m_serverName = value; } /** *

The name of the server. The server name must be unique within your AWS * account, within each region. Server names must start with a letter; then * letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters. *

*/ inline void SetServerName(Aws::String&& value) { m_serverNameHasBeenSet = true; m_serverName = std::move(value); } /** *

The name of the server. The server name must be unique within your AWS * account, within each region. Server names must start with a letter; then * letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters. *

*/ inline void SetServerName(const char* value) { m_serverNameHasBeenSet = true; m_serverName.assign(value); } /** *

The name of the server. The server name must be unique within your AWS * account, within each region. Server names must start with a letter; then * letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters. *

*/ inline CreateServerRequest& WithServerName(const Aws::String& value) { SetServerName(value); return *this;} /** *

The name of the server. The server name must be unique within your AWS * account, within each region. Server names must start with a letter; then * letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters. *

*/ inline CreateServerRequest& WithServerName(Aws::String&& value) { SetServerName(std::move(value)); return *this;} /** *

The name of the server. The server name must be unique within your AWS * account, within each region. Server names must start with a letter; then * letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters. *

*/ inline CreateServerRequest& WithServerName(const char* value) { SetServerName(value); return *this;} /** *

The ARN of the instance profile that your Amazon EC2 instances use. Although * the AWS OpsWorks console typically creates the instance profile for you, if you * are using API commands instead, run the service-role-creation.yaml AWS * CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the instance profile * you need.

*/ inline const Aws::String& GetInstanceProfileArn() const{ return m_instanceProfileArn; } /** *

The ARN of the instance profile that your Amazon EC2 instances use. Although * the AWS OpsWorks console typically creates the instance profile for you, if you * are using API commands instead, run the service-role-creation.yaml AWS * CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the instance profile * you need.

*/ inline bool InstanceProfileArnHasBeenSet() const { return m_instanceProfileArnHasBeenSet; } /** *

The ARN of the instance profile that your Amazon EC2 instances use. Although * the AWS OpsWorks console typically creates the instance profile for you, if you * are using API commands instead, run the service-role-creation.yaml AWS * CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the instance profile * you need.

*/ inline void SetInstanceProfileArn(const Aws::String& value) { m_instanceProfileArnHasBeenSet = true; m_instanceProfileArn = value; } /** *

The ARN of the instance profile that your Amazon EC2 instances use. Although * the AWS OpsWorks console typically creates the instance profile for you, if you * are using API commands instead, run the service-role-creation.yaml AWS * CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the instance profile * you need.

*/ inline void SetInstanceProfileArn(Aws::String&& value) { m_instanceProfileArnHasBeenSet = true; m_instanceProfileArn = std::move(value); } /** *

The ARN of the instance profile that your Amazon EC2 instances use. Although * the AWS OpsWorks console typically creates the instance profile for you, if you * are using API commands instead, run the service-role-creation.yaml AWS * CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the instance profile * you need.

*/ inline void SetInstanceProfileArn(const char* value) { m_instanceProfileArnHasBeenSet = true; m_instanceProfileArn.assign(value); } /** *

The ARN of the instance profile that your Amazon EC2 instances use. Although * the AWS OpsWorks console typically creates the instance profile for you, if you * are using API commands instead, run the service-role-creation.yaml AWS * CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the instance profile * you need.

*/ inline CreateServerRequest& WithInstanceProfileArn(const Aws::String& value) { SetInstanceProfileArn(value); return *this;} /** *

The ARN of the instance profile that your Amazon EC2 instances use. Although * the AWS OpsWorks console typically creates the instance profile for you, if you * are using API commands instead, run the service-role-creation.yaml AWS * CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the instance profile * you need.

*/ inline CreateServerRequest& WithInstanceProfileArn(Aws::String&& value) { SetInstanceProfileArn(std::move(value)); return *this;} /** *

The ARN of the instance profile that your Amazon EC2 instances use. Although * the AWS OpsWorks console typically creates the instance profile for you, if you * are using API commands instead, run the service-role-creation.yaml AWS * CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the instance profile * you need.

*/ inline CreateServerRequest& WithInstanceProfileArn(const char* value) { SetInstanceProfileArn(value); return *this;} /** *

The Amazon EC2 instance type to use. For example, m5.large. *

*/ inline const Aws::String& GetInstanceType() const{ return m_instanceType; } /** *

The Amazon EC2 instance type to use. For example, m5.large. *

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

The Amazon EC2 instance type to use. For example, m5.large. *

*/ inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *

The Amazon EC2 instance type to use. For example, m5.large. *

*/ inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *

The Amazon EC2 instance type to use. For example, m5.large. *

*/ inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } /** *

The Amazon EC2 instance type to use. For example, m5.large. *

*/ inline CreateServerRequest& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} /** *

The Amazon EC2 instance type to use. For example, m5.large. *

*/ inline CreateServerRequest& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} /** *

The Amazon EC2 instance type to use. For example, m5.large. *

*/ inline CreateServerRequest& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} /** *

The Amazon EC2 key pair to set for the instance. This parameter is optional; * if desired, you may specify this parameter to connect to your instances by using * SSH.

*/ inline const Aws::String& GetKeyPair() const{ return m_keyPair; } /** *

The Amazon EC2 key pair to set for the instance. This parameter is optional; * if desired, you may specify this parameter to connect to your instances by using * SSH.

*/ inline bool KeyPairHasBeenSet() const { return m_keyPairHasBeenSet; } /** *

The Amazon EC2 key pair to set for the instance. This parameter is optional; * if desired, you may specify this parameter to connect to your instances by using * SSH.

*/ inline void SetKeyPair(const Aws::String& value) { m_keyPairHasBeenSet = true; m_keyPair = value; } /** *

The Amazon EC2 key pair to set for the instance. This parameter is optional; * if desired, you may specify this parameter to connect to your instances by using * SSH.

*/ inline void SetKeyPair(Aws::String&& value) { m_keyPairHasBeenSet = true; m_keyPair = std::move(value); } /** *

The Amazon EC2 key pair to set for the instance. This parameter is optional; * if desired, you may specify this parameter to connect to your instances by using * SSH.

*/ inline void SetKeyPair(const char* value) { m_keyPairHasBeenSet = true; m_keyPair.assign(value); } /** *

The Amazon EC2 key pair to set for the instance. This parameter is optional; * if desired, you may specify this parameter to connect to your instances by using * SSH.

*/ inline CreateServerRequest& WithKeyPair(const Aws::String& value) { SetKeyPair(value); return *this;} /** *

The Amazon EC2 key pair to set for the instance. This parameter is optional; * if desired, you may specify this parameter to connect to your instances by using * SSH.

*/ inline CreateServerRequest& WithKeyPair(Aws::String&& value) { SetKeyPair(std::move(value)); return *this;} /** *

The Amazon EC2 key pair to set for the instance. This parameter is optional; * if desired, you may specify this parameter to connect to your instances by using * SSH.

*/ inline CreateServerRequest& WithKeyPair(const char* value) { SetKeyPair(value); return *this;} /** *

The start time for a one-hour period each week during which AWS OpsWorks CM * performs maintenance on the instance. Valid values must be specified in the * following format: DDD:HH:MM. MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random one-hour period on Tuesday, Wednesday, or Friday. See * TimeWindowDefinition for more information.

Example: * Mon:08:00, which represents a start time of every Monday at 08:00 * UTC. (8:00 a.m.)

*/ inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; } /** *

The start time for a one-hour period each week during which AWS OpsWorks CM * performs maintenance on the instance. Valid values must be specified in the * following format: DDD:HH:MM. MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random one-hour period on Tuesday, Wednesday, or Friday. See * TimeWindowDefinition for more information.

Example: * Mon:08:00, which represents a start time of every Monday at 08:00 * UTC. (8:00 a.m.)

*/ inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; } /** *

The start time for a one-hour period each week during which AWS OpsWorks CM * performs maintenance on the instance. Valid values must be specified in the * following format: DDD:HH:MM. MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random one-hour period on Tuesday, Wednesday, or Friday. See * TimeWindowDefinition for more information.

Example: * Mon:08:00, which represents a start time of every Monday at 08:00 * UTC. (8:00 a.m.)

*/ inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; } /** *

The start time for a one-hour period each week during which AWS OpsWorks CM * performs maintenance on the instance. Valid values must be specified in the * following format: DDD:HH:MM. MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random one-hour period on Tuesday, Wednesday, or Friday. See * TimeWindowDefinition for more information.

Example: * Mon:08:00, which represents a start time of every Monday at 08:00 * UTC. (8:00 a.m.)

*/ inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); } /** *

The start time for a one-hour period each week during which AWS OpsWorks CM * performs maintenance on the instance. Valid values must be specified in the * following format: DDD:HH:MM. MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random one-hour period on Tuesday, Wednesday, or Friday. See * TimeWindowDefinition for more information.

Example: * Mon:08:00, which represents a start time of every Monday at 08:00 * UTC. (8:00 a.m.)

*/ inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); } /** *

The start time for a one-hour period each week during which AWS OpsWorks CM * performs maintenance on the instance. Valid values must be specified in the * following format: DDD:HH:MM. MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random one-hour period on Tuesday, Wednesday, or Friday. See * TimeWindowDefinition for more information.

Example: * Mon:08:00, which represents a start time of every Monday at 08:00 * UTC. (8:00 a.m.)

*/ inline CreateServerRequest& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

The start time for a one-hour period each week during which AWS OpsWorks CM * performs maintenance on the instance. Valid values must be specified in the * following format: DDD:HH:MM. MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random one-hour period on Tuesday, Wednesday, or Friday. See * TimeWindowDefinition for more information.

Example: * Mon:08:00, which represents a start time of every Monday at 08:00 * UTC. (8:00 a.m.)

*/ inline CreateServerRequest& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;} /** *

The start time for a one-hour period each week during which AWS OpsWorks CM * performs maintenance on the instance. Valid values must be specified in the * following format: DDD:HH:MM. MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random one-hour period on Tuesday, Wednesday, or Friday. See * TimeWindowDefinition for more information.

Example: * Mon:08:00, which represents a start time of every Monday at 08:00 * UTC. (8:00 a.m.)

*/ inline CreateServerRequest& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

The start time for a one-hour period during which AWS OpsWorks CM backs up * application-level data on your server if automated backups are enabled. Valid * values must be specified in one of the following formats:

  • * HH:MM for daily backups

  • DDD:HH:MM * for weekly backups

MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random, daily start time.

Example: * 08:00, which represents a daily start time of 08:00 UTC.

* Example: Mon:08:00, which represents a start time of every * Monday at 08:00 UTC. (8:00 a.m.)

*/ inline const Aws::String& GetPreferredBackupWindow() const{ return m_preferredBackupWindow; } /** *

The start time for a one-hour period during which AWS OpsWorks CM backs up * application-level data on your server if automated backups are enabled. Valid * values must be specified in one of the following formats:

  • * HH:MM for daily backups

  • DDD:HH:MM * for weekly backups

MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random, daily start time.

Example: * 08:00, which represents a daily start time of 08:00 UTC.

* Example: Mon:08:00, which represents a start time of every * Monday at 08:00 UTC. (8:00 a.m.)

*/ inline bool PreferredBackupWindowHasBeenSet() const { return m_preferredBackupWindowHasBeenSet; } /** *

The start time for a one-hour period during which AWS OpsWorks CM backs up * application-level data on your server if automated backups are enabled. Valid * values must be specified in one of the following formats:

  • * HH:MM for daily backups

  • DDD:HH:MM * for weekly backups

MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random, daily start time.

Example: * 08:00, which represents a daily start time of 08:00 UTC.

* Example: Mon:08:00, which represents a start time of every * Monday at 08:00 UTC. (8:00 a.m.)

*/ inline void SetPreferredBackupWindow(const Aws::String& value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow = value; } /** *

The start time for a one-hour period during which AWS OpsWorks CM backs up * application-level data on your server if automated backups are enabled. Valid * values must be specified in one of the following formats:

  • * HH:MM for daily backups

  • DDD:HH:MM * for weekly backups

MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random, daily start time.

Example: * 08:00, which represents a daily start time of 08:00 UTC.

* Example: Mon:08:00, which represents a start time of every * Monday at 08:00 UTC. (8:00 a.m.)

*/ inline void SetPreferredBackupWindow(Aws::String&& value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow = std::move(value); } /** *

The start time for a one-hour period during which AWS OpsWorks CM backs up * application-level data on your server if automated backups are enabled. Valid * values must be specified in one of the following formats:

  • * HH:MM for daily backups

  • DDD:HH:MM * for weekly backups

MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random, daily start time.

Example: * 08:00, which represents a daily start time of 08:00 UTC.

* Example: Mon:08:00, which represents a start time of every * Monday at 08:00 UTC. (8:00 a.m.)

*/ inline void SetPreferredBackupWindow(const char* value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow.assign(value); } /** *

The start time for a one-hour period during which AWS OpsWorks CM backs up * application-level data on your server if automated backups are enabled. Valid * values must be specified in one of the following formats:

  • * HH:MM for daily backups

  • DDD:HH:MM * for weekly backups

MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random, daily start time.

Example: * 08:00, which represents a daily start time of 08:00 UTC.

* Example: Mon:08:00, which represents a start time of every * Monday at 08:00 UTC. (8:00 a.m.)

*/ inline CreateServerRequest& WithPreferredBackupWindow(const Aws::String& value) { SetPreferredBackupWindow(value); return *this;} /** *

The start time for a one-hour period during which AWS OpsWorks CM backs up * application-level data on your server if automated backups are enabled. Valid * values must be specified in one of the following formats:

  • * HH:MM for daily backups

  • DDD:HH:MM * for weekly backups

MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random, daily start time.

Example: * 08:00, which represents a daily start time of 08:00 UTC.

* Example: Mon:08:00, which represents a start time of every * Monday at 08:00 UTC. (8:00 a.m.)

*/ inline CreateServerRequest& WithPreferredBackupWindow(Aws::String&& value) { SetPreferredBackupWindow(std::move(value)); return *this;} /** *

The start time for a one-hour period during which AWS OpsWorks CM backs up * application-level data on your server if automated backups are enabled. Valid * values must be specified in one of the following formats:

  • * HH:MM for daily backups

  • DDD:HH:MM * for weekly backups

MM must be specified as * 00. The specified time is in coordinated universal time (UTC). The * default value is a random, daily start time.

Example: * 08:00, which represents a daily start time of 08:00 UTC.

* Example: Mon:08:00, which represents a start time of every * Monday at 08:00 UTC. (8:00 a.m.)

*/ inline CreateServerRequest& WithPreferredBackupWindow(const char* value) { SetPreferredBackupWindow(value); return *this;} /** *

A list of security group IDs to attach to the Amazon EC2 instance. If you * add this parameter, the specified security groups must be within the VPC that is * specified by SubnetIds.

If you do not specify this * parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 * and 443, open to 0.0.0.0/0 (everyone).

*/ inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } /** *

A list of security group IDs to attach to the Amazon EC2 instance. If you * add this parameter, the specified security groups must be within the VPC that is * specified by SubnetIds.

If you do not specify this * parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 * and 443, open to 0.0.0.0/0 (everyone).

*/ inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } /** *

A list of security group IDs to attach to the Amazon EC2 instance. If you * add this parameter, the specified security groups must be within the VPC that is * specified by SubnetIds.

If you do not specify this * parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 * and 443, open to 0.0.0.0/0 (everyone).

*/ inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } /** *

A list of security group IDs to attach to the Amazon EC2 instance. If you * add this parameter, the specified security groups must be within the VPC that is * specified by SubnetIds.

If you do not specify this * parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 * and 443, open to 0.0.0.0/0 (everyone).

*/ inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } /** *

A list of security group IDs to attach to the Amazon EC2 instance. If you * add this parameter, the specified security groups must be within the VPC that is * specified by SubnetIds.

If you do not specify this * parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 * and 443, open to 0.0.0.0/0 (everyone).

*/ inline CreateServerRequest& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} /** *

A list of security group IDs to attach to the Amazon EC2 instance. If you * add this parameter, the specified security groups must be within the VPC that is * specified by SubnetIds.

If you do not specify this * parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 * and 443, open to 0.0.0.0/0 (everyone).

*/ inline CreateServerRequest& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} /** *

A list of security group IDs to attach to the Amazon EC2 instance. If you * add this parameter, the specified security groups must be within the VPC that is * specified by SubnetIds.

If you do not specify this * parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 * and 443, open to 0.0.0.0/0 (everyone).

*/ inline CreateServerRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *

A list of security group IDs to attach to the Amazon EC2 instance. If you * add this parameter, the specified security groups must be within the VPC that is * specified by SubnetIds.

If you do not specify this * parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 * and 443, open to 0.0.0.0/0 (everyone).

*/ inline CreateServerRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } /** *

A list of security group IDs to attach to the Amazon EC2 instance. If you * add this parameter, the specified security groups must be within the VPC that is * specified by SubnetIds.

If you do not specify this * parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 * and 443, open to 0.0.0.0/0 (everyone).

*/ inline CreateServerRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *

The service role that the AWS OpsWorks CM service backend uses to work with * your account. Although the AWS OpsWorks management console typically creates the * service role for you, if you are using the AWS CLI or API commands, run the * service-role-creation.yaml AWS CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the service role and * instance profile that you need.

*/ inline const Aws::String& GetServiceRoleArn() const{ return m_serviceRoleArn; } /** *

The service role that the AWS OpsWorks CM service backend uses to work with * your account. Although the AWS OpsWorks management console typically creates the * service role for you, if you are using the AWS CLI or API commands, run the * service-role-creation.yaml AWS CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the service role and * instance profile that you need.

*/ inline bool ServiceRoleArnHasBeenSet() const { return m_serviceRoleArnHasBeenSet; } /** *

The service role that the AWS OpsWorks CM service backend uses to work with * your account. Although the AWS OpsWorks management console typically creates the * service role for you, if you are using the AWS CLI or API commands, run the * service-role-creation.yaml AWS CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the service role and * instance profile that you need.

*/ inline void SetServiceRoleArn(const Aws::String& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = value; } /** *

The service role that the AWS OpsWorks CM service backend uses to work with * your account. Although the AWS OpsWorks management console typically creates the * service role for you, if you are using the AWS CLI or API commands, run the * service-role-creation.yaml AWS CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the service role and * instance profile that you need.

*/ inline void SetServiceRoleArn(Aws::String&& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = std::move(value); } /** *

The service role that the AWS OpsWorks CM service backend uses to work with * your account. Although the AWS OpsWorks management console typically creates the * service role for you, if you are using the AWS CLI or API commands, run the * service-role-creation.yaml AWS CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the service role and * instance profile that you need.

*/ inline void SetServiceRoleArn(const char* value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn.assign(value); } /** *

The service role that the AWS OpsWorks CM service backend uses to work with * your account. Although the AWS OpsWorks management console typically creates the * service role for you, if you are using the AWS CLI or API commands, run the * service-role-creation.yaml AWS CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the service role and * instance profile that you need.

*/ inline CreateServerRequest& WithServiceRoleArn(const Aws::String& value) { SetServiceRoleArn(value); return *this;} /** *

The service role that the AWS OpsWorks CM service backend uses to work with * your account. Although the AWS OpsWorks management console typically creates the * service role for you, if you are using the AWS CLI or API commands, run the * service-role-creation.yaml AWS CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the service role and * instance profile that you need.

*/ inline CreateServerRequest& WithServiceRoleArn(Aws::String&& value) { SetServiceRoleArn(std::move(value)); return *this;} /** *

The service role that the AWS OpsWorks CM service backend uses to work with * your account. Although the AWS OpsWorks management console typically creates the * service role for you, if you are using the AWS CLI or API commands, run the * service-role-creation.yaml AWS CloudFormation template, located at * https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. * This template creates a CloudFormation stack that includes the service role and * instance profile that you need.

*/ inline CreateServerRequest& WithServiceRoleArn(const char* value) { SetServiceRoleArn(value); return *this;} /** *

The IDs of subnets in which to launch the server EC2 instance.

* Amazon EC2-Classic customers: This field is required. All servers must run * within a VPC. The VPC must have "Auto Assign Public IP" enabled.

* EC2-VPC customers: This field is optional. If you do not specify subnet IDs, * your EC2 instances are created in a default subnet that is selected by Amazon * EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" * enabled.

For more information about supported Amazon EC2 platforms, see * Supported * Platforms.

*/ inline const Aws::Vector& GetSubnetIds() const{ return m_subnetIds; } /** *

The IDs of subnets in which to launch the server EC2 instance.

* Amazon EC2-Classic customers: This field is required. All servers must run * within a VPC. The VPC must have "Auto Assign Public IP" enabled.

* EC2-VPC customers: This field is optional. If you do not specify subnet IDs, * your EC2 instances are created in a default subnet that is selected by Amazon * EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" * enabled.

For more information about supported Amazon EC2 platforms, see * Supported * Platforms.

*/ inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } /** *

The IDs of subnets in which to launch the server EC2 instance.

* Amazon EC2-Classic customers: This field is required. All servers must run * within a VPC. The VPC must have "Auto Assign Public IP" enabled.

* EC2-VPC customers: This field is optional. If you do not specify subnet IDs, * your EC2 instances are created in a default subnet that is selected by Amazon * EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" * enabled.

For more information about supported Amazon EC2 platforms, see * Supported * Platforms.

*/ inline void SetSubnetIds(const Aws::Vector& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = value; } /** *

The IDs of subnets in which to launch the server EC2 instance.

* Amazon EC2-Classic customers: This field is required. All servers must run * within a VPC. The VPC must have "Auto Assign Public IP" enabled.

* EC2-VPC customers: This field is optional. If you do not specify subnet IDs, * your EC2 instances are created in a default subnet that is selected by Amazon * EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" * enabled.

For more information about supported Amazon EC2 platforms, see * Supported * Platforms.

*/ inline void SetSubnetIds(Aws::Vector&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::move(value); } /** *

The IDs of subnets in which to launch the server EC2 instance.

* Amazon EC2-Classic customers: This field is required. All servers must run * within a VPC. The VPC must have "Auto Assign Public IP" enabled.

* EC2-VPC customers: This field is optional. If you do not specify subnet IDs, * your EC2 instances are created in a default subnet that is selected by Amazon * EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" * enabled.

For more information about supported Amazon EC2 platforms, see * Supported * Platforms.

*/ inline CreateServerRequest& WithSubnetIds(const Aws::Vector& value) { SetSubnetIds(value); return *this;} /** *

The IDs of subnets in which to launch the server EC2 instance.

* Amazon EC2-Classic customers: This field is required. All servers must run * within a VPC. The VPC must have "Auto Assign Public IP" enabled.

* EC2-VPC customers: This field is optional. If you do not specify subnet IDs, * your EC2 instances are created in a default subnet that is selected by Amazon * EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" * enabled.

For more information about supported Amazon EC2 platforms, see * Supported * Platforms.

*/ inline CreateServerRequest& WithSubnetIds(Aws::Vector&& value) { SetSubnetIds(std::move(value)); return *this;} /** *

The IDs of subnets in which to launch the server EC2 instance.

* Amazon EC2-Classic customers: This field is required. All servers must run * within a VPC. The VPC must have "Auto Assign Public IP" enabled.

* EC2-VPC customers: This field is optional. If you do not specify subnet IDs, * your EC2 instances are created in a default subnet that is selected by Amazon * EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" * enabled.

For more information about supported Amazon EC2 platforms, see * Supported * Platforms.

*/ inline CreateServerRequest& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *

The IDs of subnets in which to launch the server EC2 instance.

* Amazon EC2-Classic customers: This field is required. All servers must run * within a VPC. The VPC must have "Auto Assign Public IP" enabled.

* EC2-VPC customers: This field is optional. If you do not specify subnet IDs, * your EC2 instances are created in a default subnet that is selected by Amazon * EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" * enabled.

For more information about supported Amazon EC2 platforms, see * Supported * Platforms.

*/ inline CreateServerRequest& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } /** *

The IDs of subnets in which to launch the server EC2 instance.

* Amazon EC2-Classic customers: This field is required. All servers must run * within a VPC. The VPC must have "Auto Assign Public IP" enabled.

* EC2-VPC customers: This field is optional. If you do not specify subnet IDs, * your EC2 instances are created in a default subnet that is selected by Amazon * EC2. If you specify subnet IDs, the VPC must have "Auto Assign Public IP" * enabled.

For more information about supported Amazon EC2 platforms, see * Supported * Platforms.

*/ inline CreateServerRequest& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *

A map that contains tag keys and tag values to attach to an AWS OpsWorks for * Chef Automate or AWS OpsWorks for Puppet Enterprise server.

  • The * key cannot be empty.

  • The key can be a maximum of 127 * characters, and can contain only Unicode letters, numbers, or separators, or the * following special characters: + - = . _ : / @

  • *

    The value can be a maximum 255 characters, and contain only Unicode letters, * numbers, or separators, or the following special characters: + - = . _ : / * @

  • Leading and trailing white spaces are trimmed from * both the key and value.

  • A maximum of 50 user-applied tags is * allowed for any AWS OpsWorks-CM server.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

A map that contains tag keys and tag values to attach to an AWS OpsWorks for * Chef Automate or AWS OpsWorks for Puppet Enterprise server.

  • The * key cannot be empty.

  • The key can be a maximum of 127 * characters, and can contain only Unicode letters, numbers, or separators, or the * following special characters: + - = . _ : / @

  • *

    The value can be a maximum 255 characters, and contain only Unicode letters, * numbers, or separators, or the following special characters: + - = . _ : / * @

  • Leading and trailing white spaces are trimmed from * both the key and value.

  • A maximum of 50 user-applied tags is * allowed for any AWS OpsWorks-CM server.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A map that contains tag keys and tag values to attach to an AWS OpsWorks for * Chef Automate or AWS OpsWorks for Puppet Enterprise server.

  • The * key cannot be empty.

  • The key can be a maximum of 127 * characters, and can contain only Unicode letters, numbers, or separators, or the * following special characters: + - = . _ : / @

  • *

    The value can be a maximum 255 characters, and contain only Unicode letters, * numbers, or separators, or the following special characters: + - = . _ : / * @

  • Leading and trailing white spaces are trimmed from * both the key and value.

  • A maximum of 50 user-applied tags is * allowed for any AWS OpsWorks-CM server.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A map that contains tag keys and tag values to attach to an AWS OpsWorks for * Chef Automate or AWS OpsWorks for Puppet Enterprise server.

  • The * key cannot be empty.

  • The key can be a maximum of 127 * characters, and can contain only Unicode letters, numbers, or separators, or the * following special characters: + - = . _ : / @

  • *

    The value can be a maximum 255 characters, and contain only Unicode letters, * numbers, or separators, or the following special characters: + - = . _ : / * @

  • Leading and trailing white spaces are trimmed from * both the key and value.

  • A maximum of 50 user-applied tags is * allowed for any AWS OpsWorks-CM server.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A map that contains tag keys and tag values to attach to an AWS OpsWorks for * Chef Automate or AWS OpsWorks for Puppet Enterprise server.

  • The * key cannot be empty.

  • The key can be a maximum of 127 * characters, and can contain only Unicode letters, numbers, or separators, or the * following special characters: + - = . _ : / @

  • *

    The value can be a maximum 255 characters, and contain only Unicode letters, * numbers, or separators, or the following special characters: + - = . _ : / * @

  • Leading and trailing white spaces are trimmed from * both the key and value.

  • A maximum of 50 user-applied tags is * allowed for any AWS OpsWorks-CM server.

*/ inline CreateServerRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

A map that contains tag keys and tag values to attach to an AWS OpsWorks for * Chef Automate or AWS OpsWorks for Puppet Enterprise server.

  • The * key cannot be empty.

  • The key can be a maximum of 127 * characters, and can contain only Unicode letters, numbers, or separators, or the * following special characters: + - = . _ : / @

  • *

    The value can be a maximum 255 characters, and contain only Unicode letters, * numbers, or separators, or the following special characters: + - = . _ : / * @

  • Leading and trailing white spaces are trimmed from * both the key and value.

  • A maximum of 50 user-applied tags is * allowed for any AWS OpsWorks-CM server.

*/ inline CreateServerRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

A map that contains tag keys and tag values to attach to an AWS OpsWorks for * Chef Automate or AWS OpsWorks for Puppet Enterprise server.

  • The * key cannot be empty.

  • The key can be a maximum of 127 * characters, and can contain only Unicode letters, numbers, or separators, or the * following special characters: + - = . _ : / @

  • *

    The value can be a maximum 255 characters, and contain only Unicode letters, * numbers, or separators, or the following special characters: + - = . _ : / * @

  • Leading and trailing white spaces are trimmed from * both the key and value.

  • A maximum of 50 user-applied tags is * allowed for any AWS OpsWorks-CM server.

*/ inline CreateServerRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

A map that contains tag keys and tag values to attach to an AWS OpsWorks for * Chef Automate or AWS OpsWorks for Puppet Enterprise server.

  • The * key cannot be empty.

  • The key can be a maximum of 127 * characters, and can contain only Unicode letters, numbers, or separators, or the * following special characters: + - = . _ : / @

  • *

    The value can be a maximum 255 characters, and contain only Unicode letters, * numbers, or separators, or the following special characters: + - = . _ : / * @

  • Leading and trailing white spaces are trimmed from * both the key and value.

  • A maximum of 50 user-applied tags is * allowed for any AWS OpsWorks-CM server.

*/ inline CreateServerRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

If you specify this field, AWS OpsWorks CM creates the server by using the * backup represented by BackupId.

*/ inline const Aws::String& GetBackupId() const{ return m_backupId; } /** *

If you specify this field, AWS OpsWorks CM creates the server by using the * backup represented by BackupId.

*/ inline bool BackupIdHasBeenSet() const { return m_backupIdHasBeenSet; } /** *

If you specify this field, AWS OpsWorks CM creates the server by using the * backup represented by BackupId.

*/ inline void SetBackupId(const Aws::String& value) { m_backupIdHasBeenSet = true; m_backupId = value; } /** *

If you specify this field, AWS OpsWorks CM creates the server by using the * backup represented by BackupId.

*/ inline void SetBackupId(Aws::String&& value) { m_backupIdHasBeenSet = true; m_backupId = std::move(value); } /** *

If you specify this field, AWS OpsWorks CM creates the server by using the * backup represented by BackupId.

*/ inline void SetBackupId(const char* value) { m_backupIdHasBeenSet = true; m_backupId.assign(value); } /** *

If you specify this field, AWS OpsWorks CM creates the server by using the * backup represented by BackupId.

*/ inline CreateServerRequest& WithBackupId(const Aws::String& value) { SetBackupId(value); return *this;} /** *

If you specify this field, AWS OpsWorks CM creates the server by using the * backup represented by BackupId.

*/ inline CreateServerRequest& WithBackupId(Aws::String&& value) { SetBackupId(std::move(value)); return *this;} /** *

If you specify this field, AWS OpsWorks CM creates the server by using the * backup represented by BackupId.

*/ inline CreateServerRequest& WithBackupId(const char* value) { SetBackupId(value); return *this;} private: bool m_associatePublicIpAddress; bool m_associatePublicIpAddressHasBeenSet = false; Aws::String m_customDomain; bool m_customDomainHasBeenSet = false; Aws::String m_customCertificate; bool m_customCertificateHasBeenSet = false; Aws::String m_customPrivateKey; bool m_customPrivateKeyHasBeenSet = false; bool m_disableAutomatedBackup; bool m_disableAutomatedBackupHasBeenSet = false; Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineModel; bool m_engineModelHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::Vector m_engineAttributes; bool m_engineAttributesHasBeenSet = false; int m_backupRetentionCount; bool m_backupRetentionCountHasBeenSet = false; Aws::String m_serverName; bool m_serverNameHasBeenSet = false; Aws::String m_instanceProfileArn; bool m_instanceProfileArnHasBeenSet = false; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; Aws::String m_keyPair; bool m_keyPairHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; Aws::String m_preferredBackupWindow; bool m_preferredBackupWindowHasBeenSet = false; Aws::Vector m_securityGroupIds; bool m_securityGroupIdsHasBeenSet = false; Aws::String m_serviceRoleArn; bool m_serviceRoleArnHasBeenSet = false; Aws::Vector m_subnetIds; bool m_subnetIdsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_backupId; bool m_backupIdHasBeenSet = false; }; } // namespace Model } // namespace OpsWorksCM } // namespace Aws