com.huaweicloud.sdk.iam.v3.model.KeystoneListProjectsRequest Maven / Gradle / Ivy
package com.huaweicloud.sdk.iam.v3.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.function.Consumer;
import java.util.Objects;
/**
* Request Object
*/
public class KeystoneListProjectsRequest {
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="domain_id")
private String domainId;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="name")
private String name;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="parent_id")
private String parentId;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="enabled")
private Boolean enabled;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="is_domain")
private Boolean isDomain;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="page")
private Integer page;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value="per_page")
private Integer perPage;
public KeystoneListProjectsRequest withDomainId(String domainId) {
this.domainId = domainId;
return this;
}
/**
* 项目所属账号ID,获取方式请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。
* @return domainId
*/
public String getDomainId() {
return domainId;
}
public void setDomainId(String domainId) {
this.domainId = domainId;
}
public KeystoneListProjectsRequest withName(String name) {
this.name = name;
return this;
}
/**
* 项目名称,获取方式请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。
* @return name
*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public KeystoneListProjectsRequest withParentId(String parentId) {
this.parentId = parentId;
return this;
}
/**
* 如果查询自己创建的项目,则此处应填为所属区域的项目ID。 如果查询的是系统内置项目,如cn-north-4,则此处应填为账号ID。 获取项目ID和账号ID,请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。
* @return parentId
*/
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public KeystoneListProjectsRequest withEnabled(Boolean enabled) {
this.enabled = enabled;
return this;
}
/**
* 项目是否启用。
* @return enabled
*/
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
public KeystoneListProjectsRequest withIsDomain(Boolean isDomain) {
this.isDomain = isDomain;
return this;
}
/**
* 该字段无需填写。
* @return isDomain
*/
public Boolean getIsDomain() {
return isDomain;
}
public void setIsDomain(Boolean isDomain) {
this.isDomain = isDomain;
}
public KeystoneListProjectsRequest withPage(Integer page) {
this.page = page;
return this;
}
/**
* 分页查询时数据的页数,查询值最小为1。需要与per_page同时存在。
* minimum: 1
* @return page
*/
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public KeystoneListProjectsRequest withPerPage(Integer perPage) {
this.perPage = perPage;
return this;
}
/**
* 分页查询时每页的数据个数,取值范围为[1,5000]。需要与page同时存在。
* minimum: 1
* maximum: 5000
* @return perPage
*/
public Integer getPerPage() {
return perPage;
}
public void setPerPage(Integer perPage) {
this.perPage = perPage;
}
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
KeystoneListProjectsRequest keystoneListProjectsRequest = (KeystoneListProjectsRequest) o;
return Objects.equals(this.domainId, keystoneListProjectsRequest.domainId) &&
Objects.equals(this.name, keystoneListProjectsRequest.name) &&
Objects.equals(this.parentId, keystoneListProjectsRequest.parentId) &&
Objects.equals(this.enabled, keystoneListProjectsRequest.enabled) &&
Objects.equals(this.isDomain, keystoneListProjectsRequest.isDomain) &&
Objects.equals(this.page, keystoneListProjectsRequest.page) &&
Objects.equals(this.perPage, keystoneListProjectsRequest.perPage);
}
@Override
public int hashCode() {
return Objects.hash(domainId, name, parentId, enabled, isDomain, page, perPage);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class KeystoneListProjectsRequest {\n");
sb.append(" domainId: ").append(toIndentedString(domainId)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" parentId: ").append(toIndentedString(parentId)).append("\n");
sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
sb.append(" isDomain: ").append(toIndentedString(isDomain)).append("\n");
sb.append(" page: ").append(toIndentedString(page)).append("\n");
sb.append(" perPage: ").append(toIndentedString(perPage)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}