
com.aliyun.sdk.service.polardb20170801.models.GrantAccountPrivilegeRequest Maven / Gradle / Ivy
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.polardb20170801.models;
import com.aliyun.sdk.gateway.pop.*;
import darabonba.core.*;
import darabonba.core.async.*;
import darabonba.core.sync.*;
import darabonba.core.client.*;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
*
* {@link GrantAccountPrivilegeRequest} extends {@link RequestModel}
*
* GrantAccountPrivilegeRequest
*/
public class GrantAccountPrivilegeRequest extends Request {
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("AccountName")
@com.aliyun.core.annotation.Validation(required = true)
private String accountName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("AccountPrivilege")
@com.aliyun.core.annotation.Validation(required = true)
private String accountPrivilege;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DBClusterId")
@com.aliyun.core.annotation.Validation(required = true)
private String DBClusterId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DBName")
@com.aliyun.core.annotation.Validation(required = true)
private String DBName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OwnerAccount")
private String ownerAccount;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OwnerId")
private Long ownerId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceOwnerAccount")
private String resourceOwnerAccount;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceOwnerId")
private Long resourceOwnerId;
private GrantAccountPrivilegeRequest(Builder builder) {
super(builder);
this.accountName = builder.accountName;
this.accountPrivilege = builder.accountPrivilege;
this.DBClusterId = builder.DBClusterId;
this.DBName = builder.DBName;
this.ownerAccount = builder.ownerAccount;
this.ownerId = builder.ownerId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
}
public static Builder builder() {
return new Builder();
}
public static GrantAccountPrivilegeRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return accountName
*/
public String getAccountName() {
return this.accountName;
}
/**
* @return accountPrivilege
*/
public String getAccountPrivilege() {
return this.accountPrivilege;
}
/**
* @return DBClusterId
*/
public String getDBClusterId() {
return this.DBClusterId;
}
/**
* @return DBName
*/
public String getDBName() {
return this.DBName;
}
/**
* @return ownerAccount
*/
public String getOwnerAccount() {
return this.ownerAccount;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return resourceOwnerAccount
*/
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
/**
* @return resourceOwnerId
*/
public Long getResourceOwnerId() {
return this.resourceOwnerId;
}
public static final class Builder extends Request.Builder {
private String accountName;
private String accountPrivilege;
private String DBClusterId;
private String DBName;
private String ownerAccount;
private Long ownerId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private Builder() {
super();
}
private Builder(GrantAccountPrivilegeRequest request) {
super(request);
this.accountName = request.accountName;
this.accountPrivilege = request.accountPrivilege;
this.DBClusterId = request.DBClusterId;
this.DBName = request.DBName;
this.ownerAccount = request.ownerAccount;
this.ownerId = request.ownerId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
}
/**
* The username of the account.
* This parameter is required.
*
* example:
* testacc
*/
public Builder accountName(String accountName) {
this.putQueryParameter("AccountName", accountName);
this.accountName = accountName;
return this;
}
/**
* The permissions that are granted to the account. Valid values:
*
* - ReadWrite: read and write permissions
* - ReadOnly: read-only permissions
* - DMLOnly: The account is granted the permissions to execute only DML statements on the database.
* - DDLOnly: The account is granted the permissions to execute only DDL statements on the database.
* - ReadIndex: The account has the read and index permissions on the database.
*
*
* The number of AccountPrivilege values must be the consistent with the number of DBName values. Each account permission must correspond to a database name in sequence. For example, you can set DBName to testdb_1,testdb_2
and set AccountPrivilege to ReadWrite,ReadOnly
. In this case, the specified standard account is granted the read and write permissions on the testdb_1 database and the read permission on the testdb_2 database.
*
* This parameter is required.
*
* example:
* ReadWrite,ReadOnly
*/
public Builder accountPrivilege(String accountPrivilege) {
this.putQueryParameter("AccountPrivilege", accountPrivilege);
this.accountPrivilege = accountPrivilege;
return this;
}
/**
* The ID of the cluster.
* This parameter is required.
*
* example:
* pc-****************
*/
public Builder DBClusterId(String DBClusterId) {
this.putQueryParameter("DBClusterId", DBClusterId);
this.DBClusterId = DBClusterId;
return this;
}
/**
* The names of the databases that the account can access. You can grant the access permissions on one or more databases to the specified standard account. If you need to specify multiple database names, separate the database names with commas (,).
* This parameter is required.
*
* example:
* testdb_1,testdb_2
*/
public Builder DBName(String DBName) {
this.putQueryParameter("DBName", DBName);
this.DBName = DBName;
return this;
}
/**
* OwnerAccount.
*/
public Builder ownerAccount(String ownerAccount) {
this.putQueryParameter("OwnerAccount", ownerAccount);
this.ownerAccount = ownerAccount;
return this;
}
/**
* OwnerId.
*/
public Builder ownerId(Long ownerId) {
this.putQueryParameter("OwnerId", ownerId);
this.ownerId = ownerId;
return this;
}
/**
* ResourceOwnerAccount.
*/
public Builder resourceOwnerAccount(String resourceOwnerAccount) {
this.putQueryParameter("ResourceOwnerAccount", resourceOwnerAccount);
this.resourceOwnerAccount = resourceOwnerAccount;
return this;
}
/**
* ResourceOwnerId.
*/
public Builder resourceOwnerId(Long resourceOwnerId) {
this.putQueryParameter("ResourceOwnerId", resourceOwnerId);
this.resourceOwnerId = resourceOwnerId;
return this;
}
@Override
public GrantAccountPrivilegeRequest build() {
return new GrantAccountPrivilegeRequest(this);
}
}
}