All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.huaweicloud.sdk.iam.v3.model.LoginToken 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 com.huaweicloud.sdk.iam.v3.model.LoginTokenAssumedBy;
import java.util.function.Consumer;
import java.util.Objects;

/**
 * 
 */
public class LoginToken  {



    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value="domain_id")
    
    private String domainId;


    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value="expires_at")
    
    private String expiresAt;


    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value="method")
    
    private String method;


    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value="user_id")
    
    private String userId;


    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value="user_name")
    
    private String userName;


    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value="session_id")
    
    private String sessionId;


    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value="session_name")
    
    private String sessionName;


    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonProperty(value="assumed_by")
    
    private LoginTokenAssumedBy assumedBy;

    public LoginToken withDomainId(String domainId) {
        this.domainId = domainId;
        return this;
    }

    


    /**
     * 账号ID。
     * @return domainId
     */
    public String getDomainId() {
        return domainId;
    }

    public void setDomainId(String domainId) {
        this.domainId = domainId;
    }

    

    public LoginToken withExpiresAt(String expiresAt) {
        this.expiresAt = expiresAt;
        return this;
    }

    


    /**
     * logintoken的过期时间,默认10min。
     * @return expiresAt
     */
    public String getExpiresAt() {
        return expiresAt;
    }

    public void setExpiresAt(String expiresAt) {
        this.expiresAt = expiresAt;
    }

    

    public LoginToken withMethod(String method) {
        this.method = method;
        return this;
    }

    


    /**
     * 认证方法。当认证用户为华为云用户时,该字段内容为“token”,当认证用户为自定义代理用户时,该字段内容为“federation_proxy”。
     * @return method
     */
    public String getMethod() {
        return method;
    }

    public void setMethod(String method) {
        this.method = method;
    }

    

    public LoginToken withUserId(String userId) {
        this.userId = userId;
        return this;
    }

    


    /**
     * 用户ID。
     * @return userId
     */
    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    

    public LoginToken withUserName(String userName) {
        this.userName = userName;
        return this;
    }

    


    /**
     * 用户名。
     * @return userName
     */
    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    

    public LoginToken withSessionId(String sessionId) {
        this.sessionId = sessionId;
        return this;
    }

    


    /**
     * 会话ID。
     * @return sessionId
     */
    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    

    public LoginToken withSessionName(String sessionName) {
        this.sessionName = sessionName;
        return this;
    }

    


    /**
     * 自定义代理用户名。 > - [通过委托获取临时访问密钥和securitytoken](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=IAM&api=CreateTemporaryAccessKeyByAgency)且请求体中填写session_user.name参数时,会返回该字段。该字段的值即为session_user.name所填写的值。
     * @return sessionName
     */
    public String getSessionName() {
        return sessionName;
    }

    public void setSessionName(String sessionName) {
        this.sessionName = sessionName;
    }

    

    public LoginToken withAssumedBy(LoginTokenAssumedBy assumedBy) {
        this.assumedBy = assumedBy;
        return this;
    }

    public LoginToken withAssumedBy(Consumer assumedBySetter) {
        if(this.assumedBy == null ){
            this.assumedBy = new LoginTokenAssumedBy();
            assumedBySetter.accept(this.assumedBy);
        }
        
        return this;
    }


    /**
     * Get assumedBy
     * @return assumedBy
     */
    public LoginTokenAssumedBy getAssumedBy() {
        return assumedBy;
    }

    public void setAssumedBy(LoginTokenAssumedBy assumedBy) {
        this.assumedBy = assumedBy;
    }

    

    @Override
    public boolean equals(java.lang.Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        LoginToken loginToken = (LoginToken) o;
        return Objects.equals(this.domainId, loginToken.domainId) &&
            Objects.equals(this.expiresAt, loginToken.expiresAt) &&
            Objects.equals(this.method, loginToken.method) &&
            Objects.equals(this.userId, loginToken.userId) &&
            Objects.equals(this.userName, loginToken.userName) &&
            Objects.equals(this.sessionId, loginToken.sessionId) &&
            Objects.equals(this.sessionName, loginToken.sessionName) &&
            Objects.equals(this.assumedBy, loginToken.assumedBy);
    }
    @Override
    public int hashCode() {
        return Objects.hash(domainId, expiresAt, method, userId, userName, sessionId, sessionName, assumedBy);
    }
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("class LoginToken {\n");
        sb.append("    domainId: ").append(toIndentedString(domainId)).append("\n");
        sb.append("    expiresAt: ").append(toIndentedString(expiresAt)).append("\n");
        sb.append("    method: ").append(toIndentedString(method)).append("\n");
        sb.append("    userId: ").append(toIndentedString(userId)).append("\n");
        sb.append("    userName: ").append(toIndentedString(userName)).append("\n");
        sb.append("    sessionId: ").append(toIndentedString(sessionId)).append("\n");
        sb.append("    sessionName: ").append(toIndentedString(sessionName)).append("\n");
        sb.append("    assumedBy: ").append(toIndentedString(assumedBy)).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    ");
    }
    
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy