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

com.datadog.api.client.v1.model.SearchServiceLevelObjectiveData Maven / Gradle / Ivy

/*
 * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
 * This product includes software developed at Datadog (https://www.datadoghq.com/).
 * Copyright 2019-Present Datadog, Inc.
 */

package com.datadog.api.client.v1.model;

import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

/** A service level objective ID and attributes. */
@JsonPropertyOrder({
  SearchServiceLevelObjectiveData.JSON_PROPERTY_ATTRIBUTES,
  SearchServiceLevelObjectiveData.JSON_PROPERTY_ID,
  SearchServiceLevelObjectiveData.JSON_PROPERTY_TYPE
})
@jakarta.annotation.Generated(
    value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
public class SearchServiceLevelObjectiveData {
  @JsonIgnore public boolean unparsed = false;
  public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
  private SearchServiceLevelObjectiveAttributes attributes;

  public static final String JSON_PROPERTY_ID = "id";
  private String id;

  public static final String JSON_PROPERTY_TYPE = "type";
  private String type;

  public SearchServiceLevelObjectiveData attributes(
      SearchServiceLevelObjectiveAttributes attributes) {
    this.attributes = attributes;
    this.unparsed |= attributes.unparsed;
    return this;
  }

  /**
   * A service level objective object includes a service level indicator, thresholds for one or more
   * timeframes, and metadata (name, description, and tags).
   *
   * @return attributes
   */
  @jakarta.annotation.Nullable
  @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public SearchServiceLevelObjectiveAttributes getAttributes() {
    return attributes;
  }

  public void setAttributes(SearchServiceLevelObjectiveAttributes attributes) {
    this.attributes = attributes;
  }

  /**
   * A unique identifier for the service level objective object.
   *
   * 

Always included in service level objective responses. * * @return id */ @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_ID) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public String getId() { return id; } public SearchServiceLevelObjectiveData type(String type) { this.type = type; return this; } /** * The type of the object, must be slo. * * @return type */ @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_TYPE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public String getType() { return type; } public void setType(String type) { this.type = type; } /** * A container for additional, undeclared properties. This is a holder for any undeclared * properties as specified with the 'additionalProperties' keyword in the OAS document. */ private Map additionalProperties; /** * Set the additional (undeclared) property with the specified name and value. If the property * does not already exist, create it otherwise replace it. * * @param key The arbitrary key to set * @param value The associated value * @return SearchServiceLevelObjectiveData */ @JsonAnySetter public SearchServiceLevelObjectiveData putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } this.additionalProperties.put(key, value); return this; } /** * Return the additional (undeclared) property. * * @return The additional properties */ @JsonAnyGetter public Map getAdditionalProperties() { return additionalProperties; } /** * Return the additional (undeclared) property with the specified name. * * @param key The arbitrary key to get * @return The specific additional property for the given key */ public Object getAdditionalProperty(String key) { if (this.additionalProperties == null) { return null; } return this.additionalProperties.get(key); } /** Return true if this SearchServiceLevelObjectiveData object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } SearchServiceLevelObjectiveData searchServiceLevelObjectiveData = (SearchServiceLevelObjectiveData) o; return Objects.equals(this.attributes, searchServiceLevelObjectiveData.attributes) && Objects.equals(this.id, searchServiceLevelObjectiveData.id) && Objects.equals(this.type, searchServiceLevelObjectiveData.type) && Objects.equals( this.additionalProperties, searchServiceLevelObjectiveData.additionalProperties); } @Override public int hashCode() { return Objects.hash(attributes, id, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class SearchServiceLevelObjectiveData {\n"); sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .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(Object o) { if (o == null) { return "null"; } return o.toString().replace("\n", "\n "); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy