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

com.pulumi.azurenative.impact.outputs.InsightPropertiesResponse Maven / Gradle / Ivy

There is a newer version: 2.82.0
Show newest version
// *** 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.azurenative.impact.outputs;

import com.pulumi.azurenative.impact.outputs.ContentResponse;
import com.pulumi.azurenative.impact.outputs.ImpactDetailsResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Object;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class InsightPropertiesResponse {
    /**
     * @return additional details of the insight.
     * 
     */
    private @Nullable Object additionalDetails;
    /**
     * @return category of the insight.
     * 
     */
    private String category;
    /**
     * @return Contains title & description for the insight
     * 
     */
    private ContentResponse content;
    /**
     * @return Identifier of the event that has been correlated with this insight. This can be used to aggregate insights for the same event.
     * 
     */
    private @Nullable String eventId;
    /**
     * @return Time of the event, which has been correlated the impact.
     * 
     */
    private @Nullable String eventTime;
    /**
     * @return Identifier that can be used to group similar insights.
     * 
     */
    private @Nullable String groupId;
    /**
     * @return details of of the impact for which insight has been generated.
     * 
     */
    private ImpactDetailsResponse impact;
    /**
     * @return unique id of the insight.
     * 
     */
    private String insightUniqueId;
    /**
     * @return Resource provisioning state.
     * 
     */
    private String provisioningState;
    /**
     * @return status of the insight. example resolved, repaired, other.
     * 
     */
    private @Nullable String status;

    private InsightPropertiesResponse() {}
    /**
     * @return additional details of the insight.
     * 
     */
    public Optional additionalDetails() {
        return Optional.ofNullable(this.additionalDetails);
    }
    /**
     * @return category of the insight.
     * 
     */
    public String category() {
        return this.category;
    }
    /**
     * @return Contains title & description for the insight
     * 
     */
    public ContentResponse content() {
        return this.content;
    }
    /**
     * @return Identifier of the event that has been correlated with this insight. This can be used to aggregate insights for the same event.
     * 
     */
    public Optional eventId() {
        return Optional.ofNullable(this.eventId);
    }
    /**
     * @return Time of the event, which has been correlated the impact.
     * 
     */
    public Optional eventTime() {
        return Optional.ofNullable(this.eventTime);
    }
    /**
     * @return Identifier that can be used to group similar insights.
     * 
     */
    public Optional groupId() {
        return Optional.ofNullable(this.groupId);
    }
    /**
     * @return details of of the impact for which insight has been generated.
     * 
     */
    public ImpactDetailsResponse impact() {
        return this.impact;
    }
    /**
     * @return unique id of the insight.
     * 
     */
    public String insightUniqueId() {
        return this.insightUniqueId;
    }
    /**
     * @return Resource provisioning state.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return status of the insight. example resolved, repaired, other.
     * 
     */
    public Optional status() {
        return Optional.ofNullable(this.status);
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(InsightPropertiesResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable Object additionalDetails;
        private String category;
        private ContentResponse content;
        private @Nullable String eventId;
        private @Nullable String eventTime;
        private @Nullable String groupId;
        private ImpactDetailsResponse impact;
        private String insightUniqueId;
        private String provisioningState;
        private @Nullable String status;
        public Builder() {}
        public Builder(InsightPropertiesResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.additionalDetails = defaults.additionalDetails;
    	      this.category = defaults.category;
    	      this.content = defaults.content;
    	      this.eventId = defaults.eventId;
    	      this.eventTime = defaults.eventTime;
    	      this.groupId = defaults.groupId;
    	      this.impact = defaults.impact;
    	      this.insightUniqueId = defaults.insightUniqueId;
    	      this.provisioningState = defaults.provisioningState;
    	      this.status = defaults.status;
        }

        @CustomType.Setter
        public Builder additionalDetails(@Nullable Object additionalDetails) {

            this.additionalDetails = additionalDetails;
            return this;
        }
        @CustomType.Setter
        public Builder category(String category) {
            if (category == null) {
              throw new MissingRequiredPropertyException("InsightPropertiesResponse", "category");
            }
            this.category = category;
            return this;
        }
        @CustomType.Setter
        public Builder content(ContentResponse content) {
            if (content == null) {
              throw new MissingRequiredPropertyException("InsightPropertiesResponse", "content");
            }
            this.content = content;
            return this;
        }
        @CustomType.Setter
        public Builder eventId(@Nullable String eventId) {

            this.eventId = eventId;
            return this;
        }
        @CustomType.Setter
        public Builder eventTime(@Nullable String eventTime) {

            this.eventTime = eventTime;
            return this;
        }
        @CustomType.Setter
        public Builder groupId(@Nullable String groupId) {

            this.groupId = groupId;
            return this;
        }
        @CustomType.Setter
        public Builder impact(ImpactDetailsResponse impact) {
            if (impact == null) {
              throw new MissingRequiredPropertyException("InsightPropertiesResponse", "impact");
            }
            this.impact = impact;
            return this;
        }
        @CustomType.Setter
        public Builder insightUniqueId(String insightUniqueId) {
            if (insightUniqueId == null) {
              throw new MissingRequiredPropertyException("InsightPropertiesResponse", "insightUniqueId");
            }
            this.insightUniqueId = insightUniqueId;
            return this;
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("InsightPropertiesResponse", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder status(@Nullable String status) {

            this.status = status;
            return this;
        }
        public InsightPropertiesResponse build() {
            final var _resultValue = new InsightPropertiesResponse();
            _resultValue.additionalDetails = additionalDetails;
            _resultValue.category = category;
            _resultValue.content = content;
            _resultValue.eventId = eventId;
            _resultValue.eventTime = eventTime;
            _resultValue.groupId = groupId;
            _resultValue.impact = impact;
            _resultValue.insightUniqueId = insightUniqueId;
            _resultValue.provisioningState = provisioningState;
            _resultValue.status = status;
            return _resultValue;
        }
    }
}