com.amazonaws.services.opsworkscm.model.CreateServerRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-opsworkscm Show documentation
/*
* Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.opsworkscm.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateServerRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* Associate a public IP address with a server that you are launching. Valid values are true
or
* false
. The default value is true
.
*
*/
private Boolean associatePublicIpAddress;
/**
*
* 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
.
*
*/
private String customDomain;
/**
*
* 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
.
*
*
*
*/
private String customCertificate;
/**
*
* 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
.
*
*/
private String customPrivateKey;
/**
*
* Enable or disable scheduled backups. Valid values are true
or false
. The default value
* is true
.
*
*/
private Boolean disableAutomatedBackup;
/**
*
* The configuration management engine to use. Valid values include ChefAutomate
and
* Puppet
.
*
*/
private String engine;
/**
*
* The engine model of the server. Valid values in this release include Monolithic
for Puppet and
* Single
for Chef.
*
*/
private String engineModel;
/**
*
* 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
.
*
*/
private String engineVersion;
/**
*
* 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://[email protected]: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.
*
*
*
*/
private java.util.List engineAttributes;
/**
*
* 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
.
*
*/
private Integer backupRetentionCount;
/**
*
* 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.
*
*/
private String serverName;
/**
*
* 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.
*
*/
private String instanceProfileArn;
/**
*
* The Amazon EC2 instance type to use. For example, m5.large
.
*
*/
private String instanceType;
/**
*
* 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.
*
*/
private String keyPair;
/**
*
* 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.)
*
*/
private String preferredMaintenanceWindow;
/**
*
* 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.)
*
*/
private String preferredBackupWindow;
/**
*
* 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).
*
*/
private java.util.List securityGroupIds;
/**
*
* 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.
*
*/
private String serviceRoleArn;
/**
*
* 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.
*
*/
private java.util.List subnetIds;
/**
*
* 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.
*
*
*
*/
private java.util.List tags;
/**
*
* If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId.
*
*/
private String backupId;
/**
*
* Associate a public IP address with a server that you are launching. Valid values are true
or
* false
. The default value is true
.
*
*
* @param associatePublicIpAddress
* Associate a public IP address with a server that you are launching. Valid values are true
or
* false
. The default value is true
.
*/
public void setAssociatePublicIpAddress(Boolean associatePublicIpAddress) {
this.associatePublicIpAddress = associatePublicIpAddress;
}
/**
*
* Associate a public IP address with a server that you are launching. Valid values are true
or
* false
. The default value is true
.
*
*
* @return Associate a public IP address with a server that you are launching. Valid values are true
or
* false
. The default value is true
.
*/
public Boolean getAssociatePublicIpAddress() {
return this.associatePublicIpAddress;
}
/**
*
* Associate a public IP address with a server that you are launching. Valid values are true
or
* false
. The default value is true
.
*
*
* @param associatePublicIpAddress
* Associate a public IP address with a server that you are launching. Valid values are true
or
* false
. The default value is true
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withAssociatePublicIpAddress(Boolean associatePublicIpAddress) {
setAssociatePublicIpAddress(associatePublicIpAddress);
return this;
}
/**
*
* Associate a public IP address with a server that you are launching. Valid values are true
or
* false
. The default value is true
.
*
*
* @return Associate a public IP address with a server that you are launching. Valid values are true
or
* false
. The default value is true
.
*/
public Boolean isAssociatePublicIpAddress() {
return this.associatePublicIpAddress;
}
/**
*
* 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
.
*
*
* @param 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
.
*/
public void setCustomDomain(String customDomain) {
this.customDomain = 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
.
*
*
* @return 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
.
*/
public String getCustomDomain() {
return this.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
.
*
*
* @param 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
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withCustomDomain(String customDomain) {
setCustomDomain(customDomain);
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
.
*
*
*
*
* @param 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
.
*
*
*/
public void setCustomCertificate(String customCertificate) {
this.customCertificate = 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
.
*
*
*
*
* @return 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
.
*
*
*/
public String getCustomCertificate() {
return this.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
.
*
*
*
*
* @param 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
.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withCustomCertificate(String customCertificate) {
setCustomCertificate(customCertificate);
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
.
*
*
* @param 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
.
*/
public void setCustomPrivateKey(String customPrivateKey) {
this.customPrivateKey = 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
.
*
*
* @return 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
.
*/
public String getCustomPrivateKey() {
return this.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
.
*
*
* @param 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
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withCustomPrivateKey(String customPrivateKey) {
setCustomPrivateKey(customPrivateKey);
return this;
}
/**
*
* Enable or disable scheduled backups. Valid values are true
or false
. The default value
* is true
.
*
*
* @param disableAutomatedBackup
* Enable or disable scheduled backups. Valid values are true
or false
. The default
* value is true
.
*/
public void setDisableAutomatedBackup(Boolean disableAutomatedBackup) {
this.disableAutomatedBackup = disableAutomatedBackup;
}
/**
*
* Enable or disable scheduled backups. Valid values are true
or false
. The default value
* is true
.
*
*
* @return Enable or disable scheduled backups. Valid values are true
or false
. The
* default value is true
.
*/
public Boolean getDisableAutomatedBackup() {
return this.disableAutomatedBackup;
}
/**
*
* Enable or disable scheduled backups. Valid values are true
or false
. The default value
* is true
.
*
*
* @param disableAutomatedBackup
* Enable or disable scheduled backups. Valid values are true
or false
. The default
* value is true
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withDisableAutomatedBackup(Boolean disableAutomatedBackup) {
setDisableAutomatedBackup(disableAutomatedBackup);
return this;
}
/**
*
* Enable or disable scheduled backups. Valid values are true
or false
. The default value
* is true
.
*
*
* @return Enable or disable scheduled backups. Valid values are true
or false
. The
* default value is true
.
*/
public Boolean isDisableAutomatedBackup() {
return this.disableAutomatedBackup;
}
/**
*
* The configuration management engine to use. Valid values include ChefAutomate
and
* Puppet
.
*
*
* @param engine
* The configuration management engine to use. Valid values include ChefAutomate
and
* Puppet
.
*/
public void setEngine(String engine) {
this.engine = engine;
}
/**
*
* The configuration management engine to use. Valid values include ChefAutomate
and
* Puppet
.
*
*
* @return The configuration management engine to use. Valid values include ChefAutomate
and
* Puppet
.
*/
public String getEngine() {
return this.engine;
}
/**
*
* The configuration management engine to use. Valid values include ChefAutomate
and
* Puppet
.
*
*
* @param engine
* The configuration management engine to use. Valid values include ChefAutomate
and
* Puppet
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withEngine(String engine) {
setEngine(engine);
return this;
}
/**
*
* The engine model of the server. Valid values in this release include Monolithic
for Puppet and
* Single
for Chef.
*
*
* @param engineModel
* The engine model of the server. Valid values in this release include Monolithic
for Puppet
* and Single
for Chef.
*/
public void setEngineModel(String engineModel) {
this.engineModel = engineModel;
}
/**
*
* The engine model of the server. Valid values in this release include Monolithic
for Puppet and
* Single
for Chef.
*
*
* @return The engine model of the server. Valid values in this release include Monolithic
for Puppet
* and Single
for Chef.
*/
public String getEngineModel() {
return this.engineModel;
}
/**
*
* The engine model of the server. Valid values in this release include Monolithic
for Puppet and
* Single
for Chef.
*
*
* @param engineModel
* The engine model of the server. Valid values in this release include Monolithic
for Puppet
* and Single
for Chef.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withEngineModel(String engineModel) {
setEngineModel(engineModel);
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
.
*
*
* @param 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
.
*/
public void setEngineVersion(String engineVersion) {
this.engineVersion = 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
.
*
*
* @return 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
.
*/
public String getEngineVersion() {
return this.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
.
*
*
* @param 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
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withEngineVersion(String engineVersion) {
setEngineVersion(engineVersion);
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://[email protected]: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.
*
*
*
*
* @return 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://[email protected]: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.
*
*
*/
public java.util.List getEngineAttributes() {
return 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://[email protected]: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.
*
*
*
*
* @param 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://[email protected]: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.
*
*
*/
public void setEngineAttributes(java.util.Collection engineAttributes) {
if (engineAttributes == null) {
this.engineAttributes = null;
return;
}
this.engineAttributes = new java.util.ArrayList(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://[email protected]: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.
*
*
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setEngineAttributes(java.util.Collection)} or {@link #withEngineAttributes(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param 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://[email protected]: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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withEngineAttributes(EngineAttribute... engineAttributes) {
if (this.engineAttributes == null) {
setEngineAttributes(new java.util.ArrayList(engineAttributes.length));
}
for (EngineAttribute ele : engineAttributes) {
this.engineAttributes.add(ele);
}
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://[email protected]: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.
*
*
*
*
* @param 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://[email protected]: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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withEngineAttributes(java.util.Collection engineAttributes) {
setEngineAttributes(engineAttributes);
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
.
*
*
* @param 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
.
*/
public void setBackupRetentionCount(Integer backupRetentionCount) {
this.backupRetentionCount = 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
.
*
*
* @return 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
.
*/
public Integer getBackupRetentionCount() {
return this.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
.
*
*
* @param 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
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withBackupRetentionCount(Integer backupRetentionCount) {
setBackupRetentionCount(backupRetentionCount);
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.
*
*
* @param 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.
*/
public void setServerName(String serverName) {
this.serverName = 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.
*
*
* @return 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.
*/
public String getServerName() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withServerName(String serverName) {
setServerName(serverName);
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.
*
*
* @param 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.
*/
public void setInstanceProfileArn(String instanceProfileArn) {
this.instanceProfileArn = 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.
*
*
* @return 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.
*/
public String getInstanceProfileArn() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withInstanceProfileArn(String instanceProfileArn) {
setInstanceProfileArn(instanceProfileArn);
return this;
}
/**
*
* The Amazon EC2 instance type to use. For example, m5.large
.
*
*
* @param instanceType
* The Amazon EC2 instance type to use. For example, m5.large
.
*/
public void setInstanceType(String instanceType) {
this.instanceType = instanceType;
}
/**
*
* The Amazon EC2 instance type to use. For example, m5.large
.
*
*
* @return The Amazon EC2 instance type to use. For example, m5.large
.
*/
public String getInstanceType() {
return this.instanceType;
}
/**
*
* The Amazon EC2 instance type to use. For example, m5.large
.
*
*
* @param instanceType
* The Amazon EC2 instance type to use. For example, m5.large
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withInstanceType(String instanceType) {
setInstanceType(instanceType);
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.
*
*
* @param 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.
*/
public void setKeyPair(String keyPair) {
this.keyPair = 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.
*
*
* @return 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.
*/
public String getKeyPair() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withKeyPair(String keyPair) {
setKeyPair(keyPair);
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.)
*
*
* @param 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.)
*/
public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
this.preferredMaintenanceWindow = 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.)
*
*
* @return 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.)
*/
public String getPreferredMaintenanceWindow() {
return this.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.)
*
*
* @param 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.)
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withPreferredMaintenanceWindow(String preferredMaintenanceWindow) {
setPreferredMaintenanceWindow(preferredMaintenanceWindow);
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.)
*
*
* @param 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.)
*/
public void setPreferredBackupWindow(String preferredBackupWindow) {
this.preferredBackupWindow = 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.)
*
*
* @return 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.)
*/
public String getPreferredBackupWindow() {
return this.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.)
*
*
* @param 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.)
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withPreferredBackupWindow(String preferredBackupWindow) {
setPreferredBackupWindow(preferredBackupWindow);
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).
*
*
* @return 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).
*/
public java.util.List getSecurityGroupIds() {
return 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).
*
*
* @param 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).
*/
public void setSecurityGroupIds(java.util.Collection securityGroupIds) {
if (securityGroupIds == null) {
this.securityGroupIds = null;
return;
}
this.securityGroupIds = new java.util.ArrayList(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).
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSecurityGroupIds(java.util.Collection)} or {@link #withSecurityGroupIds(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param 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).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withSecurityGroupIds(String... securityGroupIds) {
if (this.securityGroupIds == null) {
setSecurityGroupIds(new java.util.ArrayList(securityGroupIds.length));
}
for (String ele : securityGroupIds) {
this.securityGroupIds.add(ele);
}
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).
*
*
* @param 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).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withSecurityGroupIds(java.util.Collection securityGroupIds) {
setSecurityGroupIds(securityGroupIds);
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.
*
*
* @param 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.
*/
public void setServiceRoleArn(String serviceRoleArn) {
this.serviceRoleArn = 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.
*
*
* @return 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.
*/
public String getServiceRoleArn() {
return this.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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withServiceRoleArn(String serviceRoleArn) {
setServiceRoleArn(serviceRoleArn);
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.
*
*
* @return 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.
*/
public java.util.List getSubnetIds() {
return 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.
*
*
* @param 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.
*/
public void setSubnetIds(java.util.Collection subnetIds) {
if (subnetIds == null) {
this.subnetIds = null;
return;
}
this.subnetIds = new java.util.ArrayList(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.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSubnetIds(java.util.Collection)} or {@link #withSubnetIds(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withSubnetIds(String... subnetIds) {
if (this.subnetIds == null) {
setSubnetIds(new java.util.ArrayList(subnetIds.length));
}
for (String ele : subnetIds) {
this.subnetIds.add(ele);
}
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.
*
*
* @param 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withSubnetIds(java.util.Collection subnetIds) {
setSubnetIds(subnetIds);
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.
*
*
*
*
* @return 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.
*
*
*/
public java.util.List getTags() {
return 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.
*
*
*
*
* @param 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.
*
*
*/
public void setTags(java.util.Collection tags) {
if (tags == null) {
this.tags = null;
return;
}
this.tags = new java.util.ArrayList(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.
*
*
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param 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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withTags(Tag... tags) {
if (this.tags == null) {
setTags(new java.util.ArrayList(tags.length));
}
for (Tag ele : tags) {
this.tags.add(ele);
}
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.
*
*
*
*
* @param 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.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withTags(java.util.Collection tags) {
setTags(tags);
return this;
}
/**
*
* If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId.
*
*
* @param backupId
* If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId.
*/
public void setBackupId(String backupId) {
this.backupId = backupId;
}
/**
*
* If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId.
*
*
* @return If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by
* BackupId.
*/
public String getBackupId() {
return this.backupId;
}
/**
*
* If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId.
*
*
* @param backupId
* If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateServerRequest withBackupId(String backupId) {
setBackupId(backupId);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getAssociatePublicIpAddress() != null)
sb.append("AssociatePublicIpAddress: ").append(getAssociatePublicIpAddress()).append(",");
if (getCustomDomain() != null)
sb.append("CustomDomain: ").append(getCustomDomain()).append(",");
if (getCustomCertificate() != null)
sb.append("CustomCertificate: ").append(getCustomCertificate()).append(",");
if (getCustomPrivateKey() != null)
sb.append("CustomPrivateKey: ").append("***Sensitive Data Redacted***").append(",");
if (getDisableAutomatedBackup() != null)
sb.append("DisableAutomatedBackup: ").append(getDisableAutomatedBackup()).append(",");
if (getEngine() != null)
sb.append("Engine: ").append(getEngine()).append(",");
if (getEngineModel() != null)
sb.append("EngineModel: ").append(getEngineModel()).append(",");
if (getEngineVersion() != null)
sb.append("EngineVersion: ").append(getEngineVersion()).append(",");
if (getEngineAttributes() != null)
sb.append("EngineAttributes: ").append(getEngineAttributes()).append(",");
if (getBackupRetentionCount() != null)
sb.append("BackupRetentionCount: ").append(getBackupRetentionCount()).append(",");
if (getServerName() != null)
sb.append("ServerName: ").append(getServerName()).append(",");
if (getInstanceProfileArn() != null)
sb.append("InstanceProfileArn: ").append(getInstanceProfileArn()).append(",");
if (getInstanceType() != null)
sb.append("InstanceType: ").append(getInstanceType()).append(",");
if (getKeyPair() != null)
sb.append("KeyPair: ").append(getKeyPair()).append(",");
if (getPreferredMaintenanceWindow() != null)
sb.append("PreferredMaintenanceWindow: ").append(getPreferredMaintenanceWindow()).append(",");
if (getPreferredBackupWindow() != null)
sb.append("PreferredBackupWindow: ").append(getPreferredBackupWindow()).append(",");
if (getSecurityGroupIds() != null)
sb.append("SecurityGroupIds: ").append(getSecurityGroupIds()).append(",");
if (getServiceRoleArn() != null)
sb.append("ServiceRoleArn: ").append(getServiceRoleArn()).append(",");
if (getSubnetIds() != null)
sb.append("SubnetIds: ").append(getSubnetIds()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags()).append(",");
if (getBackupId() != null)
sb.append("BackupId: ").append(getBackupId());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateServerRequest == false)
return false;
CreateServerRequest other = (CreateServerRequest) obj;
if (other.getAssociatePublicIpAddress() == null ^ this.getAssociatePublicIpAddress() == null)
return false;
if (other.getAssociatePublicIpAddress() != null && other.getAssociatePublicIpAddress().equals(this.getAssociatePublicIpAddress()) == false)
return false;
if (other.getCustomDomain() == null ^ this.getCustomDomain() == null)
return false;
if (other.getCustomDomain() != null && other.getCustomDomain().equals(this.getCustomDomain()) == false)
return false;
if (other.getCustomCertificate() == null ^ this.getCustomCertificate() == null)
return false;
if (other.getCustomCertificate() != null && other.getCustomCertificate().equals(this.getCustomCertificate()) == false)
return false;
if (other.getCustomPrivateKey() == null ^ this.getCustomPrivateKey() == null)
return false;
if (other.getCustomPrivateKey() != null && other.getCustomPrivateKey().equals(this.getCustomPrivateKey()) == false)
return false;
if (other.getDisableAutomatedBackup() == null ^ this.getDisableAutomatedBackup() == null)
return false;
if (other.getDisableAutomatedBackup() != null && other.getDisableAutomatedBackup().equals(this.getDisableAutomatedBackup()) == false)
return false;
if (other.getEngine() == null ^ this.getEngine() == null)
return false;
if (other.getEngine() != null && other.getEngine().equals(this.getEngine()) == false)
return false;
if (other.getEngineModel() == null ^ this.getEngineModel() == null)
return false;
if (other.getEngineModel() != null && other.getEngineModel().equals(this.getEngineModel()) == false)
return false;
if (other.getEngineVersion() == null ^ this.getEngineVersion() == null)
return false;
if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == false)
return false;
if (other.getEngineAttributes() == null ^ this.getEngineAttributes() == null)
return false;
if (other.getEngineAttributes() != null && other.getEngineAttributes().equals(this.getEngineAttributes()) == false)
return false;
if (other.getBackupRetentionCount() == null ^ this.getBackupRetentionCount() == null)
return false;
if (other.getBackupRetentionCount() != null && other.getBackupRetentionCount().equals(this.getBackupRetentionCount()) == false)
return false;
if (other.getServerName() == null ^ this.getServerName() == null)
return false;
if (other.getServerName() != null && other.getServerName().equals(this.getServerName()) == false)
return false;
if (other.getInstanceProfileArn() == null ^ this.getInstanceProfileArn() == null)
return false;
if (other.getInstanceProfileArn() != null && other.getInstanceProfileArn().equals(this.getInstanceProfileArn()) == false)
return false;
if (other.getInstanceType() == null ^ this.getInstanceType() == null)
return false;
if (other.getInstanceType() != null && other.getInstanceType().equals(this.getInstanceType()) == false)
return false;
if (other.getKeyPair() == null ^ this.getKeyPair() == null)
return false;
if (other.getKeyPair() != null && other.getKeyPair().equals(this.getKeyPair()) == false)
return false;
if (other.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null)
return false;
if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals(this.getPreferredMaintenanceWindow()) == false)
return false;
if (other.getPreferredBackupWindow() == null ^ this.getPreferredBackupWindow() == null)
return false;
if (other.getPreferredBackupWindow() != null && other.getPreferredBackupWindow().equals(this.getPreferredBackupWindow()) == false)
return false;
if (other.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == null)
return false;
if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals(this.getSecurityGroupIds()) == false)
return false;
if (other.getServiceRoleArn() == null ^ this.getServiceRoleArn() == null)
return false;
if (other.getServiceRoleArn() != null && other.getServiceRoleArn().equals(this.getServiceRoleArn()) == false)
return false;
if (other.getSubnetIds() == null ^ this.getSubnetIds() == null)
return false;
if (other.getSubnetIds() != null && other.getSubnetIds().equals(this.getSubnetIds()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
if (other.getBackupId() == null ^ this.getBackupId() == null)
return false;
if (other.getBackupId() != null && other.getBackupId().equals(this.getBackupId()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getAssociatePublicIpAddress() == null) ? 0 : getAssociatePublicIpAddress().hashCode());
hashCode = prime * hashCode + ((getCustomDomain() == null) ? 0 : getCustomDomain().hashCode());
hashCode = prime * hashCode + ((getCustomCertificate() == null) ? 0 : getCustomCertificate().hashCode());
hashCode = prime * hashCode + ((getCustomPrivateKey() == null) ? 0 : getCustomPrivateKey().hashCode());
hashCode = prime * hashCode + ((getDisableAutomatedBackup() == null) ? 0 : getDisableAutomatedBackup().hashCode());
hashCode = prime * hashCode + ((getEngine() == null) ? 0 : getEngine().hashCode());
hashCode = prime * hashCode + ((getEngineModel() == null) ? 0 : getEngineModel().hashCode());
hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode());
hashCode = prime * hashCode + ((getEngineAttributes() == null) ? 0 : getEngineAttributes().hashCode());
hashCode = prime * hashCode + ((getBackupRetentionCount() == null) ? 0 : getBackupRetentionCount().hashCode());
hashCode = prime * hashCode + ((getServerName() == null) ? 0 : getServerName().hashCode());
hashCode = prime * hashCode + ((getInstanceProfileArn() == null) ? 0 : getInstanceProfileArn().hashCode());
hashCode = prime * hashCode + ((getInstanceType() == null) ? 0 : getInstanceType().hashCode());
hashCode = prime * hashCode + ((getKeyPair() == null) ? 0 : getKeyPair().hashCode());
hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode());
hashCode = prime * hashCode + ((getPreferredBackupWindow() == null) ? 0 : getPreferredBackupWindow().hashCode());
hashCode = prime * hashCode + ((getSecurityGroupIds() == null) ? 0 : getSecurityGroupIds().hashCode());
hashCode = prime * hashCode + ((getServiceRoleArn() == null) ? 0 : getServiceRoleArn().hashCode());
hashCode = prime * hashCode + ((getSubnetIds() == null) ? 0 : getSubnetIds().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
hashCode = prime * hashCode + ((getBackupId() == null) ? 0 : getBackupId().hashCode());
return hashCode;
}
@Override
public CreateServerRequest clone() {
return (CreateServerRequest) super.clone();
}
}