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

com.atlan.model.structs.AwsCloudWatchMetric Maven / Gradle / Ivy

// Generated by delombok at Thu Oct 10 18:56:33 UTC 2024
/* SPDX-License-Identifier: Apache-2.0
   Copyright 2022 Atlan Pte. Ltd. */
package com.atlan.model.structs;

import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.annotation.processing.Generated;
import lombok.*;

/**
 * Detailed information about an AWS CloudWatch metric.
 */
@Generated("com.atlan.generators.ModelGeneratorV2")
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = AwsCloudWatchMetric.AwsCloudWatchMetricBuilderImpl.class)
public class AwsCloudWatchMetric extends AtlanStruct {
    private static final long serialVersionUID = 2L;
    public static final String TYPE_NAME = "AwsCloudWatchMetric";
    /**
     * Fixed typeName for AwsCloudWatchMetric.
     */
    @JsonIgnore
    String typeName;
    /**
     * Name of the AWS CloudWatch metric.
     */
    String awsCloudWatchMetricName;
    /**
     * Scope of the AWS CloudWatch metric.
     */
    String awsCloudWatchMetricScope;

    /**
     * Quickly create a new AwsCloudWatchMetric.
     * @param awsCloudWatchMetricName Name of the AWS CloudWatch metric.
     * @param awsCloudWatchMetricScope Scope of the AWS CloudWatch metric.
     * @return a AwsCloudWatchMetric with the provided information
     */
    public static AwsCloudWatchMetric of(String awsCloudWatchMetricName, String awsCloudWatchMetricScope) {
        return AwsCloudWatchMetric.builder().awsCloudWatchMetricName(awsCloudWatchMetricName).awsCloudWatchMetricScope(awsCloudWatchMetricScope).build();
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    private static String $default$typeName() {
        return TYPE_NAME;
    }


    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public static abstract class AwsCloudWatchMetricBuilder> extends AtlanStruct.AtlanStructBuilder {
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private boolean typeName$set;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String typeName$value;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String awsCloudWatchMetricName;
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private String awsCloudWatchMetricScope;

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        protected B $fillValuesFrom(final C instance) {
            super.$fillValuesFrom(instance);
            AwsCloudWatchMetric.AwsCloudWatchMetricBuilder.$fillValuesFromInstanceIntoBuilder(instance, this);
            return self();
        }

        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private static void $fillValuesFromInstanceIntoBuilder(final AwsCloudWatchMetric instance, final AwsCloudWatchMetric.AwsCloudWatchMetricBuilder b) {
            b.typeName(instance.typeName);
            b.awsCloudWatchMetricName(instance.awsCloudWatchMetricName);
            b.awsCloudWatchMetricScope(instance.awsCloudWatchMetricScope);
        }

        /**
         * Fixed typeName for AwsCloudWatchMetric.
         * @return {@code this}.
         */
        @JsonIgnore
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B typeName(final String typeName) {
            this.typeName$value = typeName;
            typeName$set = true;
            return self();
        }

        /**
         * Name of the AWS CloudWatch metric.
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B awsCloudWatchMetricName(final String awsCloudWatchMetricName) {
            this.awsCloudWatchMetricName = awsCloudWatchMetricName;
            return self();
        }

        /**
         * Scope of the AWS CloudWatch metric.
         * @return {@code this}.
         */
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public B awsCloudWatchMetricScope(final String awsCloudWatchMetricScope) {
            this.awsCloudWatchMetricScope = awsCloudWatchMetricScope;
            return self();
        }

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        protected abstract B self();

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public abstract C build();

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public java.lang.String toString() {
            return "AwsCloudWatchMetric.AwsCloudWatchMetricBuilder(super=" + super.toString() + ", typeName$value=" + this.typeName$value + ", awsCloudWatchMetricName=" + this.awsCloudWatchMetricName + ", awsCloudWatchMetricScope=" + this.awsCloudWatchMetricScope + ")";
        }
    }


    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "", buildMethodName = "build")
    static final class AwsCloudWatchMetricBuilderImpl extends AwsCloudWatchMetric.AwsCloudWatchMetricBuilder {
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        private AwsCloudWatchMetricBuilderImpl() {
        }

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        protected AwsCloudWatchMetric.AwsCloudWatchMetricBuilderImpl self() {
            return this;
        }

        @java.lang.Override
        @java.lang.SuppressWarnings("all")
        @lombok.Generated
        public AwsCloudWatchMetric build() {
            return new AwsCloudWatchMetric(this);
        }
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected AwsCloudWatchMetric(final AwsCloudWatchMetric.AwsCloudWatchMetricBuilder b) {
        super(b);
        if (b.typeName$set) this.typeName = b.typeName$value;
         else this.typeName = AwsCloudWatchMetric.$default$typeName();
        this.awsCloudWatchMetricName = b.awsCloudWatchMetricName;
        this.awsCloudWatchMetricScope = b.awsCloudWatchMetricScope;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public static AwsCloudWatchMetric.AwsCloudWatchMetricBuilder builder() {
        return new AwsCloudWatchMetric.AwsCloudWatchMetricBuilderImpl();
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public AwsCloudWatchMetric.AwsCloudWatchMetricBuilder toBuilder() {
        return new AwsCloudWatchMetric.AwsCloudWatchMetricBuilderImpl().$fillValuesFrom(this);
    }

    /**
     * Name of the AWS CloudWatch metric.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getAwsCloudWatchMetricName() {
        return this.awsCloudWatchMetricName;
    }

    /**
     * Scope of the AWS CloudWatch metric.
     */
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getAwsCloudWatchMetricScope() {
        return this.awsCloudWatchMetricScope;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public boolean equals(final java.lang.Object o) {
        if (o == this) return true;
        if (!(o instanceof AwsCloudWatchMetric)) return false;
        final AwsCloudWatchMetric other = (AwsCloudWatchMetric) o;
        if (!other.canEqual((java.lang.Object) this)) return false;
        if (!super.equals(o)) return false;
        final java.lang.Object this$typeName = this.getTypeName();
        final java.lang.Object other$typeName = other.getTypeName();
        if (this$typeName == null ? other$typeName != null : !this$typeName.equals(other$typeName)) return false;
        final java.lang.Object this$awsCloudWatchMetricName = this.getAwsCloudWatchMetricName();
        final java.lang.Object other$awsCloudWatchMetricName = other.getAwsCloudWatchMetricName();
        if (this$awsCloudWatchMetricName == null ? other$awsCloudWatchMetricName != null : !this$awsCloudWatchMetricName.equals(other$awsCloudWatchMetricName)) return false;
        final java.lang.Object this$awsCloudWatchMetricScope = this.getAwsCloudWatchMetricScope();
        final java.lang.Object other$awsCloudWatchMetricScope = other.getAwsCloudWatchMetricScope();
        if (this$awsCloudWatchMetricScope == null ? other$awsCloudWatchMetricScope != null : !this$awsCloudWatchMetricScope.equals(other$awsCloudWatchMetricScope)) return false;
        return true;
    }

    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    protected boolean canEqual(final java.lang.Object other) {
        return other instanceof AwsCloudWatchMetric;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public int hashCode() {
        final int PRIME = 59;
        int result = super.hashCode();
        final java.lang.Object $typeName = this.getTypeName();
        result = result * PRIME + ($typeName == null ? 43 : $typeName.hashCode());
        final java.lang.Object $awsCloudWatchMetricName = this.getAwsCloudWatchMetricName();
        result = result * PRIME + ($awsCloudWatchMetricName == null ? 43 : $awsCloudWatchMetricName.hashCode());
        final java.lang.Object $awsCloudWatchMetricScope = this.getAwsCloudWatchMetricScope();
        result = result * PRIME + ($awsCloudWatchMetricScope == null ? 43 : $awsCloudWatchMetricScope.hashCode());
        return result;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public java.lang.String toString() {
        return "AwsCloudWatchMetric(super=" + super.toString() + ", typeName=" + this.getTypeName() + ", awsCloudWatchMetricName=" + this.getAwsCloudWatchMetricName() + ", awsCloudWatchMetricScope=" + this.getAwsCloudWatchMetricScope() + ")";
    }

    /**
     * Fixed typeName for AwsCloudWatchMetric.
     */
    @Override
    @java.lang.SuppressWarnings("all")
    @lombok.Generated
    public String getTypeName() {
        return this.typeName;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy