com.huaweicloud.sdk.geip.v3.model.GeipTags Maven / Gradle / Ivy
package com.huaweicloud.sdk.geip.v3.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.function.Consumer;
/**
* 资源标签。
*/
public class GeipTags {
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "key")
private String key;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonProperty(value = "values")
private List values = null;
public GeipTags withKey(String key) {
this.key = key;
return this;
}
/**
* - 功能说明:标签名称 - 约束: - 创建的预定义标签如果与已有的预定义标签完全相同,则会覆盖已有的预定义标签;若只有“键”相同,“值”不同,则为新创建的预定义标签。 - 键的长度最大36字符,由英文字母、数字、下划线、中划线、中文字符组成。 - 单个资源最多可以添加20个标签。
* @return key
*/
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public GeipTags withValues(List values) {
this.values = values;
return this;
}
public GeipTags addValuesItem(String valuesItem) {
if (this.values == null) {
this.values = new ArrayList<>();
}
this.values.add(valuesItem);
return this;
}
public GeipTags withValues(Consumer> valuesSetter) {
if (this.values == null) {
this.values = new ArrayList<>();
}
valuesSetter.accept(this.values);
return this;
}
/**
* - 功能说明:标签值列表 - 约束: - 值的长度最大43字符,由英文字母、数字、下划线、点、中划线、中文字符组成。
* @return values
*/
public List getValues() {
return values;
}
public void setValues(List values) {
this.values = values;
}
@Override
public boolean equals(java.lang.Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
GeipTags that = (GeipTags) obj;
return Objects.equals(this.key, that.key) && Objects.equals(this.values, that.values);
}
@Override
public int hashCode() {
return Objects.hash(key, values);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class GeipTags {\n");
sb.append(" key: ").append(toIndentedString(key)).append("\n");
sb.append(" values: ").append(toIndentedString(values)).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 ");
}
}