Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.googlenative.monitoring.v3.ServiceLevelObjectiveArgs Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.googlenative.monitoring.v3;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.googlenative.monitoring.v3.enums.ServiceLevelObjectiveCalendarPeriod;
import com.pulumi.googlenative.monitoring.v3.inputs.ServiceLevelIndicatorArgs;
import java.lang.Double;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ServiceLevelObjectiveArgs extends com.pulumi.resources.ResourceArgs {
public static final ServiceLevelObjectiveArgs Empty = new ServiceLevelObjectiveArgs();
/**
* A calendar period, semantically "since the start of the current ". At this time, only DAY, WEEK, FORTNIGHT, and MONTH are supported.
*
*/
@Import(name="calendarPeriod")
private @Nullable Output calendarPeriod;
/**
* @return A calendar period, semantically "since the start of the current ". At this time, only DAY, WEEK, FORTNIGHT, and MONTH are supported.
*
*/
public Optional> calendarPeriod() {
return Optional.ofNullable(this.calendarPeriod);
}
/**
* Name used for UI elements listing this SLO.
*
*/
@Import(name="displayName")
private @Nullable Output displayName;
/**
* @return Name used for UI elements listing this SLO.
*
*/
public Optional> displayName() {
return Optional.ofNullable(this.displayName);
}
/**
* The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999.
*
*/
@Import(name="goal")
private @Nullable Output goal;
/**
* @return The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999.
*
*/
public Optional> goal() {
return Optional.ofNullable(this.goal);
}
/**
* Resource name for this ServiceLevelObjective. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Resource name for this ServiceLevelObjective. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* A rolling time period, semantically "in the past ". Must be an integer multiple of 1 day no larger than 30 days.
*
*/
@Import(name="rollingPeriod")
private @Nullable Output rollingPeriod;
/**
* @return A rolling time period, semantically "in the past ". Must be an integer multiple of 1 day no larger than 30 days.
*
*/
public Optional> rollingPeriod() {
return Optional.ofNullable(this.rollingPeriod);
}
@Import(name="serviceId", required=true)
private Output serviceId;
public Output serviceId() {
return this.serviceId;
}
/**
* The definition of good service, used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality.
*
*/
@Import(name="serviceLevelIndicator")
private @Nullable Output serviceLevelIndicator;
/**
* @return The definition of good service, used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality.
*
*/
public Optional> serviceLevelIndicator() {
return Optional.ofNullable(this.serviceLevelIndicator);
}
/**
* Optional. The ServiceLevelObjective id to use for this ServiceLevelObjective. If omitted, an id will be generated instead. Must match the pattern [a-z0-9\-]+
*
*/
@Import(name="serviceLevelObjectiveId")
private @Nullable Output serviceLevelObjectiveId;
/**
* @return Optional. The ServiceLevelObjective id to use for this ServiceLevelObjective. If omitted, an id will be generated instead. Must match the pattern [a-z0-9\-]+
*
*/
public Optional> serviceLevelObjectiveId() {
return Optional.ofNullable(this.serviceLevelObjectiveId);
}
/**
* Labels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.
*
*/
@Import(name="userLabels")
private @Nullable Output> userLabels;
/**
* @return Labels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.
*
*/
public Optional>> userLabels() {
return Optional.ofNullable(this.userLabels);
}
@Import(name="v3Id", required=true)
private Output v3Id;
public Output v3Id() {
return this.v3Id;
}
@Import(name="v3Id1", required=true)
private Output v3Id1;
public Output v3Id1() {
return this.v3Id1;
}
private ServiceLevelObjectiveArgs() {}
private ServiceLevelObjectiveArgs(ServiceLevelObjectiveArgs $) {
this.calendarPeriod = $.calendarPeriod;
this.displayName = $.displayName;
this.goal = $.goal;
this.name = $.name;
this.rollingPeriod = $.rollingPeriod;
this.serviceId = $.serviceId;
this.serviceLevelIndicator = $.serviceLevelIndicator;
this.serviceLevelObjectiveId = $.serviceLevelObjectiveId;
this.userLabels = $.userLabels;
this.v3Id = $.v3Id;
this.v3Id1 = $.v3Id1;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ServiceLevelObjectiveArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ServiceLevelObjectiveArgs $;
public Builder() {
$ = new ServiceLevelObjectiveArgs();
}
public Builder(ServiceLevelObjectiveArgs defaults) {
$ = new ServiceLevelObjectiveArgs(Objects.requireNonNull(defaults));
}
/**
* @param calendarPeriod A calendar period, semantically "since the start of the current ". At this time, only DAY, WEEK, FORTNIGHT, and MONTH are supported.
*
* @return builder
*
*/
public Builder calendarPeriod(@Nullable Output calendarPeriod) {
$.calendarPeriod = calendarPeriod;
return this;
}
/**
* @param calendarPeriod A calendar period, semantically "since the start of the current ". At this time, only DAY, WEEK, FORTNIGHT, and MONTH are supported.
*
* @return builder
*
*/
public Builder calendarPeriod(ServiceLevelObjectiveCalendarPeriod calendarPeriod) {
return calendarPeriod(Output.of(calendarPeriod));
}
/**
* @param displayName Name used for UI elements listing this SLO.
*
* @return builder
*
*/
public Builder displayName(@Nullable Output displayName) {
$.displayName = displayName;
return this;
}
/**
* @param displayName Name used for UI elements listing this SLO.
*
* @return builder
*
*/
public Builder displayName(String displayName) {
return displayName(Output.of(displayName));
}
/**
* @param goal The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999.
*
* @return builder
*
*/
public Builder goal(@Nullable Output goal) {
$.goal = goal;
return this;
}
/**
* @param goal The fraction of service that must be good in order for this objective to be met. 0 < goal <= 0.999.
*
* @return builder
*
*/
public Builder goal(Double goal) {
return goal(Output.of(goal));
}
/**
* @param name Resource name for this ServiceLevelObjective. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Resource name for this ServiceLevelObjective. The format is: projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param rollingPeriod A rolling time period, semantically "in the past ". Must be an integer multiple of 1 day no larger than 30 days.
*
* @return builder
*
*/
public Builder rollingPeriod(@Nullable Output rollingPeriod) {
$.rollingPeriod = rollingPeriod;
return this;
}
/**
* @param rollingPeriod A rolling time period, semantically "in the past ". Must be an integer multiple of 1 day no larger than 30 days.
*
* @return builder
*
*/
public Builder rollingPeriod(String rollingPeriod) {
return rollingPeriod(Output.of(rollingPeriod));
}
public Builder serviceId(Output serviceId) {
$.serviceId = serviceId;
return this;
}
public Builder serviceId(String serviceId) {
return serviceId(Output.of(serviceId));
}
/**
* @param serviceLevelIndicator The definition of good service, used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality.
*
* @return builder
*
*/
public Builder serviceLevelIndicator(@Nullable Output serviceLevelIndicator) {
$.serviceLevelIndicator = serviceLevelIndicator;
return this;
}
/**
* @param serviceLevelIndicator The definition of good service, used to measure and calculate the quality of the Service's performance with respect to a single aspect of service quality.
*
* @return builder
*
*/
public Builder serviceLevelIndicator(ServiceLevelIndicatorArgs serviceLevelIndicator) {
return serviceLevelIndicator(Output.of(serviceLevelIndicator));
}
/**
* @param serviceLevelObjectiveId Optional. The ServiceLevelObjective id to use for this ServiceLevelObjective. If omitted, an id will be generated instead. Must match the pattern [a-z0-9\-]+
*
* @return builder
*
*/
public Builder serviceLevelObjectiveId(@Nullable Output serviceLevelObjectiveId) {
$.serviceLevelObjectiveId = serviceLevelObjectiveId;
return this;
}
/**
* @param serviceLevelObjectiveId Optional. The ServiceLevelObjective id to use for this ServiceLevelObjective. If omitted, an id will be generated instead. Must match the pattern [a-z0-9\-]+
*
* @return builder
*
*/
public Builder serviceLevelObjectiveId(String serviceLevelObjectiveId) {
return serviceLevelObjectiveId(Output.of(serviceLevelObjectiveId));
}
/**
* @param userLabels Labels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.
*
* @return builder
*
*/
public Builder userLabels(@Nullable Output> userLabels) {
$.userLabels = userLabels;
return this;
}
/**
* @param userLabels Labels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value.
*
* @return builder
*
*/
public Builder userLabels(Map userLabels) {
return userLabels(Output.of(userLabels));
}
public Builder v3Id(Output v3Id) {
$.v3Id = v3Id;
return this;
}
public Builder v3Id(String v3Id) {
return v3Id(Output.of(v3Id));
}
public Builder v3Id1(Output v3Id1) {
$.v3Id1 = v3Id1;
return this;
}
public Builder v3Id1(String v3Id1) {
return v3Id1(Output.of(v3Id1));
}
public ServiceLevelObjectiveArgs build() {
$.serviceId = Objects.requireNonNull($.serviceId, "expected parameter 'serviceId' to be non-null");
$.v3Id = Objects.requireNonNull($.v3Id, "expected parameter 'v3Id' to be non-null");
$.v3Id1 = Objects.requireNonNull($.v3Id1, "expected parameter 'v3Id1' to be non-null");
return $;
}
}
}