com.amazonaws.services.organizations.model.CreateAccountRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-organizations Show documentation
/*
* Copyright 2019-2024 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.organizations.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 CreateAccountRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The email address of the owner to assign to the new member account. This email address must not already be
* associated with another Amazon Web Services account. You must use a valid email address to complete account
* creation.
*
*
* The rules for a valid email address:
*
*
* -
*
* The address must be a minimum of 6 and a maximum of 64 characters long.
*
*
* -
*
* All characters must be 7-bit ASCII characters.
*
*
* -
*
* There must be one and only one @ symbol, which separates the local name from the domain name.
*
*
* -
*
* The local name can't contain any of the following characters:
*
*
* whitespace, " ' ( ) < > [ ] : ; , \ | % &
*
*
* -
*
* The local name can't begin with a dot (.)
*
*
* -
*
* The domain name can consist of only the characters [a-z],[A-Z],[0-9], hyphen (-), or dot (.)
*
*
* -
*
* The domain name can't begin or end with a hyphen (-) or dot (.)
*
*
* -
*
* The domain name must contain at least one dot
*
*
*
*
* You can't access the root user of the account or remove an account that was created with an invalid email
* address.
*
*/
private String email;
/**
*
* The friendly name of the member account.
*
*/
private String accountName;
/**
*
* The name of an IAM role that Organizations automatically preconfigures in the new member account. This role
* trusts the management account, allowing users in the management account to assume the role, as permitted by the
* management account administrator. The role has administrator permissions in the new member account.
*
*
* If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole
.
*
*
* For more information about how to use this role to access the member account, see the following links:
*
*
* -
*
* Creating the OrganizationAccountAccessRole in an invited member account in the Organizations User
* Guide
*
*
* -
*
* Steps 2 and 3 in IAM Tutorial:
* Delegate access across Amazon Web Services accounts using IAM roles in the IAM User Guide
*
*
*
*
* The regex pattern that is used to validate this parameter. The
* pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the following
* characters: =,.@-
*
*/
private String roleName;
/**
*
* If set to ALLOW
, the new account enables IAM users to access account billing information if
* they have the required permissions. If set to DENY
, only the root user of the new account can access
* account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and Cost
* Management User Guide.
*
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles with the
* required permissions can access billing information for the new account.
*
*/
private String iamUserAccessToBilling;
/**
*
* A list of tags that you want to attach to the newly created account. For each tag in the list, you must specify
* both a tag key and a value. You can set the value to an empty string, but you can't set it to null
.
* For more information about tagging, see Tagging Organizations
* resources in the Organizations User Guide.
*
*
*
* If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account, then the
* entire request fails and the account is not created.
*
*
*/
private java.util.List tags;
/**
*
* The email address of the owner to assign to the new member account. This email address must not already be
* associated with another Amazon Web Services account. You must use a valid email address to complete account
* creation.
*
*
* The rules for a valid email address:
*
*
* -
*
* The address must be a minimum of 6 and a maximum of 64 characters long.
*
*
* -
*
* All characters must be 7-bit ASCII characters.
*
*
* -
*
* There must be one and only one @ symbol, which separates the local name from the domain name.
*
*
* -
*
* The local name can't contain any of the following characters:
*
*
* whitespace, " ' ( ) < > [ ] : ; , \ | % &
*
*
* -
*
* The local name can't begin with a dot (.)
*
*
* -
*
* The domain name can consist of only the characters [a-z],[A-Z],[0-9], hyphen (-), or dot (.)
*
*
* -
*
* The domain name can't begin or end with a hyphen (-) or dot (.)
*
*
* -
*
* The domain name must contain at least one dot
*
*
*
*
* You can't access the root user of the account or remove an account that was created with an invalid email
* address.
*
*
* @param email
* The email address of the owner to assign to the new member account. This email address must not already be
* associated with another Amazon Web Services account. You must use a valid email address to complete
* account creation.
*
* The rules for a valid email address:
*
*
* -
*
* The address must be a minimum of 6 and a maximum of 64 characters long.
*
*
* -
*
* All characters must be 7-bit ASCII characters.
*
*
* -
*
* There must be one and only one @ symbol, which separates the local name from the domain name.
*
*
* -
*
* The local name can't contain any of the following characters:
*
*
* whitespace, " ' ( ) < > [ ] : ; , \ | % &
*
*
* -
*
* The local name can't begin with a dot (.)
*
*
* -
*
* The domain name can consist of only the characters [a-z],[A-Z],[0-9], hyphen (-), or dot (.)
*
*
* -
*
* The domain name can't begin or end with a hyphen (-) or dot (.)
*
*
* -
*
* The domain name must contain at least one dot
*
*
*
*
* You can't access the root user of the account or remove an account that was created with an invalid email
* address.
*/
public void setEmail(String email) {
this.email = email;
}
/**
*
* The email address of the owner to assign to the new member account. This email address must not already be
* associated with another Amazon Web Services account. You must use a valid email address to complete account
* creation.
*
*
* The rules for a valid email address:
*
*
* -
*
* The address must be a minimum of 6 and a maximum of 64 characters long.
*
*
* -
*
* All characters must be 7-bit ASCII characters.
*
*
* -
*
* There must be one and only one @ symbol, which separates the local name from the domain name.
*
*
* -
*
* The local name can't contain any of the following characters:
*
*
* whitespace, " ' ( ) < > [ ] : ; , \ | % &
*
*
* -
*
* The local name can't begin with a dot (.)
*
*
* -
*
* The domain name can consist of only the characters [a-z],[A-Z],[0-9], hyphen (-), or dot (.)
*
*
* -
*
* The domain name can't begin or end with a hyphen (-) or dot (.)
*
*
* -
*
* The domain name must contain at least one dot
*
*
*
*
* You can't access the root user of the account or remove an account that was created with an invalid email
* address.
*
*
* @return The email address of the owner to assign to the new member account. This email address must not already
* be associated with another Amazon Web Services account. You must use a valid email address to complete
* account creation.
*
* The rules for a valid email address:
*
*
* -
*
* The address must be a minimum of 6 and a maximum of 64 characters long.
*
*
* -
*
* All characters must be 7-bit ASCII characters.
*
*
* -
*
* There must be one and only one @ symbol, which separates the local name from the domain name.
*
*
* -
*
* The local name can't contain any of the following characters:
*
*
* whitespace, " ' ( ) < > [ ] : ; , \ | % &
*
*
* -
*
* The local name can't begin with a dot (.)
*
*
* -
*
* The domain name can consist of only the characters [a-z],[A-Z],[0-9], hyphen (-), or dot (.)
*
*
* -
*
* The domain name can't begin or end with a hyphen (-) or dot (.)
*
*
* -
*
* The domain name must contain at least one dot
*
*
*
*
* You can't access the root user of the account or remove an account that was created with an invalid email
* address.
*/
public String getEmail() {
return this.email;
}
/**
*
* The email address of the owner to assign to the new member account. This email address must not already be
* associated with another Amazon Web Services account. You must use a valid email address to complete account
* creation.
*
*
* The rules for a valid email address:
*
*
* -
*
* The address must be a minimum of 6 and a maximum of 64 characters long.
*
*
* -
*
* All characters must be 7-bit ASCII characters.
*
*
* -
*
* There must be one and only one @ symbol, which separates the local name from the domain name.
*
*
* -
*
* The local name can't contain any of the following characters:
*
*
* whitespace, " ' ( ) < > [ ] : ; , \ | % &
*
*
* -
*
* The local name can't begin with a dot (.)
*
*
* -
*
* The domain name can consist of only the characters [a-z],[A-Z],[0-9], hyphen (-), or dot (.)
*
*
* -
*
* The domain name can't begin or end with a hyphen (-) or dot (.)
*
*
* -
*
* The domain name must contain at least one dot
*
*
*
*
* You can't access the root user of the account or remove an account that was created with an invalid email
* address.
*
*
* @param email
* The email address of the owner to assign to the new member account. This email address must not already be
* associated with another Amazon Web Services account. You must use a valid email address to complete
* account creation.
*
* The rules for a valid email address:
*
*
* -
*
* The address must be a minimum of 6 and a maximum of 64 characters long.
*
*
* -
*
* All characters must be 7-bit ASCII characters.
*
*
* -
*
* There must be one and only one @ symbol, which separates the local name from the domain name.
*
*
* -
*
* The local name can't contain any of the following characters:
*
*
* whitespace, " ' ( ) < > [ ] : ; , \ | % &
*
*
* -
*
* The local name can't begin with a dot (.)
*
*
* -
*
* The domain name can consist of only the characters [a-z],[A-Z],[0-9], hyphen (-), or dot (.)
*
*
* -
*
* The domain name can't begin or end with a hyphen (-) or dot (.)
*
*
* -
*
* The domain name must contain at least one dot
*
*
*
*
* You can't access the root user of the account or remove an account that was created with an invalid email
* address.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateAccountRequest withEmail(String email) {
setEmail(email);
return this;
}
/**
*
* The friendly name of the member account.
*
*
* @param accountName
* The friendly name of the member account.
*/
public void setAccountName(String accountName) {
this.accountName = accountName;
}
/**
*
* The friendly name of the member account.
*
*
* @return The friendly name of the member account.
*/
public String getAccountName() {
return this.accountName;
}
/**
*
* The friendly name of the member account.
*
*
* @param accountName
* The friendly name of the member account.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateAccountRequest withAccountName(String accountName) {
setAccountName(accountName);
return this;
}
/**
*
* The name of an IAM role that Organizations automatically preconfigures in the new member account. This role
* trusts the management account, allowing users in the management account to assume the role, as permitted by the
* management account administrator. The role has administrator permissions in the new member account.
*
*
* If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole
.
*
*
* For more information about how to use this role to access the member account, see the following links:
*
*
* -
*
* Creating the OrganizationAccountAccessRole in an invited member account in the Organizations User
* Guide
*
*
* -
*
* Steps 2 and 3 in IAM Tutorial:
* Delegate access across Amazon Web Services accounts using IAM roles in the IAM User Guide
*
*
*
*
* The regex pattern that is used to validate this parameter. The
* pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the following
* characters: =,.@-
*
*
* @param roleName
* The name of an IAM role that Organizations automatically preconfigures in the new member account. This
* role trusts the management account, allowing users in the management account to assume the role, as
* permitted by the management account administrator. The role has administrator permissions in the new
* member account.
*
* If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole
.
*
*
* For more information about how to use this role to access the member account, see the following links:
*
*
* -
*
* Creating the OrganizationAccountAccessRole in an invited member account in the Organizations User
* Guide
*
*
* -
*
* Steps 2 and 3 in IAM
* Tutorial: Delegate access across Amazon Web Services accounts using IAM roles in the IAM User
* Guide
*
*
*
*
* The regex pattern that is used to validate this parameter.
* The pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the
* following characters: =,.@-
*/
public void setRoleName(String roleName) {
this.roleName = roleName;
}
/**
*
* The name of an IAM role that Organizations automatically preconfigures in the new member account. This role
* trusts the management account, allowing users in the management account to assume the role, as permitted by the
* management account administrator. The role has administrator permissions in the new member account.
*
*
* If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole
.
*
*
* For more information about how to use this role to access the member account, see the following links:
*
*
* -
*
* Creating the OrganizationAccountAccessRole in an invited member account in the Organizations User
* Guide
*
*
* -
*
* Steps 2 and 3 in IAM Tutorial:
* Delegate access across Amazon Web Services accounts using IAM roles in the IAM User Guide
*
*
*
*
* The regex pattern that is used to validate this parameter. The
* pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the following
* characters: =,.@-
*
*
* @return The name of an IAM role that Organizations automatically preconfigures in the new member account. This
* role trusts the management account, allowing users in the management account to assume the role, as
* permitted by the management account administrator. The role has administrator permissions in the new
* member account.
*
* If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole
* .
*
*
* For more information about how to use this role to access the member account, see the following links:
*
*
* -
*
* Creating the OrganizationAccountAccessRole in an invited member account in the Organizations User
* Guide
*
*
* -
*
* Steps 2 and 3 in IAM
* Tutorial: Delegate access across Amazon Web Services accounts using IAM roles in the IAM User
* Guide
*
*
*
*
* The regex pattern that is used to validate this parameter.
* The pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the
* following characters: =,.@-
*/
public String getRoleName() {
return this.roleName;
}
/**
*
* The name of an IAM role that Organizations automatically preconfigures in the new member account. This role
* trusts the management account, allowing users in the management account to assume the role, as permitted by the
* management account administrator. The role has administrator permissions in the new member account.
*
*
* If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole
.
*
*
* For more information about how to use this role to access the member account, see the following links:
*
*
* -
*
* Creating the OrganizationAccountAccessRole in an invited member account in the Organizations User
* Guide
*
*
* -
*
* Steps 2 and 3 in IAM Tutorial:
* Delegate access across Amazon Web Services accounts using IAM roles in the IAM User Guide
*
*
*
*
* The regex pattern that is used to validate this parameter. The
* pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the following
* characters: =,.@-
*
*
* @param roleName
* The name of an IAM role that Organizations automatically preconfigures in the new member account. This
* role trusts the management account, allowing users in the management account to assume the role, as
* permitted by the management account administrator. The role has administrator permissions in the new
* member account.
*
* If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole
.
*
*
* For more information about how to use this role to access the member account, see the following links:
*
*
* -
*
* Creating the OrganizationAccountAccessRole in an invited member account in the Organizations User
* Guide
*
*
* -
*
* Steps 2 and 3 in IAM
* Tutorial: Delegate access across Amazon Web Services accounts using IAM roles in the IAM User
* Guide
*
*
*
*
* The regex pattern that is used to validate this parameter.
* The pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the
* following characters: =,.@-
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateAccountRequest withRoleName(String roleName) {
setRoleName(roleName);
return this;
}
/**
*
* If set to ALLOW
, the new account enables IAM users to access account billing information if
* they have the required permissions. If set to DENY
, only the root user of the new account can access
* account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and Cost
* Management User Guide.
*
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles with the
* required permissions can access billing information for the new account.
*
*
* @param iamUserAccessToBilling
* If set to ALLOW
, the new account enables IAM users to access account billing information
* if they have the required permissions. If set to DENY
, only the root user of the new
* account can access account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and
* Cost Management User Guide.
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles
* with the required permissions can access billing information for the new account.
* @see IAMUserAccessToBilling
*/
public void setIamUserAccessToBilling(String iamUserAccessToBilling) {
this.iamUserAccessToBilling = iamUserAccessToBilling;
}
/**
*
* If set to ALLOW
, the new account enables IAM users to access account billing information if
* they have the required permissions. If set to DENY
, only the root user of the new account can access
* account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and Cost
* Management User Guide.
*
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles with the
* required permissions can access billing information for the new account.
*
*
* @return If set to ALLOW
, the new account enables IAM users to access account billing information
* if they have the required permissions. If set to DENY
, only the root user of the new
* account can access account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing
* and Cost Management User Guide.
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles
* with the required permissions can access billing information for the new account.
* @see IAMUserAccessToBilling
*/
public String getIamUserAccessToBilling() {
return this.iamUserAccessToBilling;
}
/**
*
* If set to ALLOW
, the new account enables IAM users to access account billing information if
* they have the required permissions. If set to DENY
, only the root user of the new account can access
* account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and Cost
* Management User Guide.
*
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles with the
* required permissions can access billing information for the new account.
*
*
* @param iamUserAccessToBilling
* If set to ALLOW
, the new account enables IAM users to access account billing information
* if they have the required permissions. If set to DENY
, only the root user of the new
* account can access account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and
* Cost Management User Guide.
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles
* with the required permissions can access billing information for the new account.
* @return Returns a reference to this object so that method calls can be chained together.
* @see IAMUserAccessToBilling
*/
public CreateAccountRequest withIamUserAccessToBilling(String iamUserAccessToBilling) {
setIamUserAccessToBilling(iamUserAccessToBilling);
return this;
}
/**
*
* If set to ALLOW
, the new account enables IAM users to access account billing information if
* they have the required permissions. If set to DENY
, only the root user of the new account can access
* account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and Cost
* Management User Guide.
*
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles with the
* required permissions can access billing information for the new account.
*
*
* @param iamUserAccessToBilling
* If set to ALLOW
, the new account enables IAM users to access account billing information
* if they have the required permissions. If set to DENY
, only the root user of the new
* account can access account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and
* Cost Management User Guide.
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles
* with the required permissions can access billing information for the new account.
* @see IAMUserAccessToBilling
*/
public void setIamUserAccessToBilling(IAMUserAccessToBilling iamUserAccessToBilling) {
withIamUserAccessToBilling(iamUserAccessToBilling);
}
/**
*
* If set to ALLOW
, the new account enables IAM users to access account billing information if
* they have the required permissions. If set to DENY
, only the root user of the new account can access
* account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and Cost
* Management User Guide.
*
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles with the
* required permissions can access billing information for the new account.
*
*
* @param iamUserAccessToBilling
* If set to ALLOW
, the new account enables IAM users to access account billing information
* if they have the required permissions. If set to DENY
, only the root user of the new
* account can access account billing information. For more information, see About IAM access to the Billing and Cost Management console in the Amazon Web Services Billing and
* Cost Management User Guide.
*
* If you don't specify this parameter, the value defaults to ALLOW
, and IAM users and roles
* with the required permissions can access billing information for the new account.
* @return Returns a reference to this object so that method calls can be chained together.
* @see IAMUserAccessToBilling
*/
public CreateAccountRequest withIamUserAccessToBilling(IAMUserAccessToBilling iamUserAccessToBilling) {
this.iamUserAccessToBilling = iamUserAccessToBilling.toString();
return this;
}
/**
*
* A list of tags that you want to attach to the newly created account. For each tag in the list, you must specify
* both a tag key and a value. You can set the value to an empty string, but you can't set it to null
.
* For more information about tagging, see Tagging Organizations
* resources in the Organizations User Guide.
*
*
*
* If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account, then the
* entire request fails and the account is not created.
*
*
*
* @return A list of tags that you want to attach to the newly created account. For each tag in the list, you must
* specify both a tag key and a value. You can set the value to an empty string, but you can't set it to
* null
. For more information about tagging, see Tagging Organizations
* resources in the Organizations User Guide.
*
* If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account,
* then the entire request fails and the account is not created.
*
*/
public java.util.List getTags() {
return tags;
}
/**
*
* A list of tags that you want to attach to the newly created account. For each tag in the list, you must specify
* both a tag key and a value. You can set the value to an empty string, but you can't set it to null
.
* For more information about tagging, see Tagging Organizations
* resources in the Organizations User Guide.
*
*
*
* If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account, then the
* entire request fails and the account is not created.
*
*
*
* @param tags
* A list of tags that you want to attach to the newly created account. For each tag in the list, you must
* specify both a tag key and a value. You can set the value to an empty string, but you can't set it to
* null
. For more information about tagging, see Tagging Organizations
* resources in the Organizations User Guide.
*
* If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account,
* then the entire request fails and the account is not created.
*
*/
public void setTags(java.util.Collection tags) {
if (tags == null) {
this.tags = null;
return;
}
this.tags = new java.util.ArrayList(tags);
}
/**
*
* A list of tags that you want to attach to the newly created account. For each tag in the list, you must specify
* both a tag key and a value. You can set the value to an empty string, but you can't set it to null
.
* For more information about tagging, see Tagging Organizations
* resources in the Organizations User Guide.
*
*
*
* If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account, then the
* entire request fails and the account is not created.
*
*
*
* 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 list of tags that you want to attach to the newly created account. For each tag in the list, you must
* specify both a tag key and a value. You can set the value to an empty string, but you can't set it to
* null
. For more information about tagging, see Tagging Organizations
* resources in the Organizations User Guide.
*
* If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account,
* then the entire request fails and the account is not created.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateAccountRequest 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 list of tags that you want to attach to the newly created account. For each tag in the list, you must specify
* both a tag key and a value. You can set the value to an empty string, but you can't set it to null
.
* For more information about tagging, see Tagging Organizations
* resources in the Organizations User Guide.
*
*
*
* If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account, then the
* entire request fails and the account is not created.
*
*
*
* @param tags
* A list of tags that you want to attach to the newly created account. For each tag in the list, you must
* specify both a tag key and a value. You can set the value to an empty string, but you can't set it to
* null
. For more information about tagging, see Tagging Organizations
* resources in the Organizations User Guide.
*
* If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account,
* then the entire request fails and the account is not created.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateAccountRequest withTags(java.util.Collection tags) {
setTags(tags);
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 (getEmail() != null)
sb.append("Email: ").append("***Sensitive Data Redacted***").append(",");
if (getAccountName() != null)
sb.append("AccountName: ").append("***Sensitive Data Redacted***").append(",");
if (getRoleName() != null)
sb.append("RoleName: ").append(getRoleName()).append(",");
if (getIamUserAccessToBilling() != null)
sb.append("IamUserAccessToBilling: ").append(getIamUserAccessToBilling()).append(",");
if (getTags() != null)
sb.append("Tags: ").append(getTags());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateAccountRequest == false)
return false;
CreateAccountRequest other = (CreateAccountRequest) obj;
if (other.getEmail() == null ^ this.getEmail() == null)
return false;
if (other.getEmail() != null && other.getEmail().equals(this.getEmail()) == false)
return false;
if (other.getAccountName() == null ^ this.getAccountName() == null)
return false;
if (other.getAccountName() != null && other.getAccountName().equals(this.getAccountName()) == false)
return false;
if (other.getRoleName() == null ^ this.getRoleName() == null)
return false;
if (other.getRoleName() != null && other.getRoleName().equals(this.getRoleName()) == false)
return false;
if (other.getIamUserAccessToBilling() == null ^ this.getIamUserAccessToBilling() == null)
return false;
if (other.getIamUserAccessToBilling() != null && other.getIamUserAccessToBilling().equals(this.getIamUserAccessToBilling()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getEmail() == null) ? 0 : getEmail().hashCode());
hashCode = prime * hashCode + ((getAccountName() == null) ? 0 : getAccountName().hashCode());
hashCode = prime * hashCode + ((getRoleName() == null) ? 0 : getRoleName().hashCode());
hashCode = prime * hashCode + ((getIamUserAccessToBilling() == null) ? 0 : getIamUserAccessToBilling().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
return hashCode;
}
@Override
public CreateAccountRequest clone() {
return (CreateAccountRequest) super.clone();
}
}