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

software.amazon.awssdk.services.applicationinsights.model.CreateLogPatternRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Application Insights module holds the client classes that are used for communicating with Application Insights.

There is a newer version: 2.29.15
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.applicationinsights.model;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 */
@Generated("software.amazon.awssdk:codegen")
public final class CreateLogPatternRequest extends ApplicationInsightsRequest implements
        ToCopyableBuilder {
    private static final SdkField RESOURCE_GROUP_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("ResourceGroupName").getter(getter(CreateLogPatternRequest::resourceGroupName))
            .setter(setter(Builder::resourceGroupName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ResourceGroupName").build()).build();

    private static final SdkField PATTERN_SET_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("PatternSetName").getter(getter(CreateLogPatternRequest::patternSetName))
            .setter(setter(Builder::patternSetName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PatternSetName").build()).build();

    private static final SdkField PATTERN_NAME_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("PatternName").getter(getter(CreateLogPatternRequest::patternName)).setter(setter(Builder::patternName))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("PatternName").build()).build();

    private static final SdkField PATTERN_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Pattern")
            .getter(getter(CreateLogPatternRequest::pattern)).setter(setter(Builder::pattern))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Pattern").build()).build();

    private static final SdkField RANK_FIELD = SdkField. builder(MarshallingType.INTEGER).memberName("Rank")
            .getter(getter(CreateLogPatternRequest::rank)).setter(setter(Builder::rank))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Rank").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(RESOURCE_GROUP_NAME_FIELD,
            PATTERN_SET_NAME_FIELD, PATTERN_NAME_FIELD, PATTERN_FIELD, RANK_FIELD));

    private final String resourceGroupName;

    private final String patternSetName;

    private final String patternName;

    private final String pattern;

    private final Integer rank;

    private CreateLogPatternRequest(BuilderImpl builder) {
        super(builder);
        this.resourceGroupName = builder.resourceGroupName;
        this.patternSetName = builder.patternSetName;
        this.patternName = builder.patternName;
        this.pattern = builder.pattern;
        this.rank = builder.rank;
    }

    /**
     * 

* The name of the resource group. *

* * @return The name of the resource group. */ public final String resourceGroupName() { return resourceGroupName; } /** *

* The name of the log pattern set. *

* * @return The name of the log pattern set. */ public final String patternSetName() { return patternSetName; } /** *

* The name of the log pattern. *

* * @return The name of the log pattern. */ public final String patternName() { return patternName; } /** *

* The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference * constructions are not supported. *

* * @return The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or * backreference constructions are not supported. */ public final String pattern() { return pattern; } /** *

* Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are * sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern of * rank 1 will be the first to get matched to a log line. A pattern of rank 1,000,000 will * be last to get matched. When you configure custom log patterns from the console, a Low severity * pattern translates to a 750,000 rank. A Medium severity pattern translates to a * 500,000 rank. And a High severity pattern translates to a 250,000 rank. * Rank values less than 1 or greater than 1,000,000 are reserved for AWS-provided * patterns. *

* * @return Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns * are sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A * pattern of rank 1 will be the first to get matched to a log line. A pattern of rank * 1,000,000 will be last to get matched. When you configure custom log patterns from the * console, a Low severity pattern translates to a 750,000 rank. A * Medium severity pattern translates to a 500,000 rank. And a High * severity pattern translates to a 250,000 rank. Rank values less than 1 or * greater than 1,000,000 are reserved for AWS-provided patterns. */ public final Integer rank() { return rank; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(resourceGroupName()); hashCode = 31 * hashCode + Objects.hashCode(patternSetName()); hashCode = 31 * hashCode + Objects.hashCode(patternName()); hashCode = 31 * hashCode + Objects.hashCode(pattern()); hashCode = 31 * hashCode + Objects.hashCode(rank()); return hashCode; } @Override public final boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof CreateLogPatternRequest)) { return false; } CreateLogPatternRequest other = (CreateLogPatternRequest) obj; return Objects.equals(resourceGroupName(), other.resourceGroupName()) && Objects.equals(patternSetName(), other.patternSetName()) && Objects.equals(patternName(), other.patternName()) && Objects.equals(pattern(), other.pattern()) && Objects.equals(rank(), other.rank()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("CreateLogPatternRequest").add("ResourceGroupName", resourceGroupName()) .add("PatternSetName", patternSetName()).add("PatternName", patternName()).add("Pattern", pattern()) .add("Rank", rank()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "ResourceGroupName": return Optional.ofNullable(clazz.cast(resourceGroupName())); case "PatternSetName": return Optional.ofNullable(clazz.cast(patternSetName())); case "PatternName": return Optional.ofNullable(clazz.cast(patternName())); case "Pattern": return Optional.ofNullable(clazz.cast(pattern())); case "Rank": return Optional.ofNullable(clazz.cast(rank())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((CreateLogPatternRequest) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends ApplicationInsightsRequest.Builder, SdkPojo, CopyableBuilder { /** *

* The name of the resource group. *

* * @param resourceGroupName * The name of the resource group. * @return Returns a reference to this object so that method calls can be chained together. */ Builder resourceGroupName(String resourceGroupName); /** *

* The name of the log pattern set. *

* * @param patternSetName * The name of the log pattern set. * @return Returns a reference to this object so that method calls can be chained together. */ Builder patternSetName(String patternSetName); /** *

* The name of the log pattern. *

* * @param patternName * The name of the log pattern. * @return Returns a reference to this object so that method calls can be chained together. */ Builder patternName(String patternName); /** *

* The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or backreference * constructions are not supported. *

* * @param pattern * The log pattern. The pattern must be DFA compatible. Patterns that utilize forward lookahead or * backreference constructions are not supported. * @return Returns a reference to this object so that method calls can be chained together. */ Builder pattern(String pattern); /** *

* Rank of the log pattern. Must be a value between 1 and 1,000,000. The patterns are * sorted by rank, so we recommend that you set your highest priority patterns with the lowest rank. A pattern * of rank 1 will be the first to get matched to a log line. A pattern of rank * 1,000,000 will be last to get matched. When you configure custom log patterns from the console, * a Low severity pattern translates to a 750,000 rank. A Medium severity * pattern translates to a 500,000 rank. And a High severity pattern translates to a * 250,000 rank. Rank values less than 1 or greater than 1,000,000 are * reserved for AWS-provided patterns. *

* * @param rank * Rank of the log pattern. Must be a value between 1 and 1,000,000. The * patterns are sorted by rank, so we recommend that you set your highest priority patterns with the * lowest rank. A pattern of rank 1 will be the first to get matched to a log line. A * pattern of rank 1,000,000 will be last to get matched. When you configure custom log * patterns from the console, a Low severity pattern translates to a 750,000 * rank. A Medium severity pattern translates to a 500,000 rank. And a * High severity pattern translates to a 250,000 rank. Rank values less than * 1 or greater than 1,000,000 are reserved for AWS-provided patterns. * @return Returns a reference to this object so that method calls can be chained together. */ Builder rank(Integer rank); @Override Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration); @Override Builder overrideConfiguration(Consumer builderConsumer); } static final class BuilderImpl extends ApplicationInsightsRequest.BuilderImpl implements Builder { private String resourceGroupName; private String patternSetName; private String patternName; private String pattern; private Integer rank; private BuilderImpl() { } private BuilderImpl(CreateLogPatternRequest model) { super(model); resourceGroupName(model.resourceGroupName); patternSetName(model.patternSetName); patternName(model.patternName); pattern(model.pattern); rank(model.rank); } public final String getResourceGroupName() { return resourceGroupName; } public final void setResourceGroupName(String resourceGroupName) { this.resourceGroupName = resourceGroupName; } @Override public final Builder resourceGroupName(String resourceGroupName) { this.resourceGroupName = resourceGroupName; return this; } public final String getPatternSetName() { return patternSetName; } public final void setPatternSetName(String patternSetName) { this.patternSetName = patternSetName; } @Override public final Builder patternSetName(String patternSetName) { this.patternSetName = patternSetName; return this; } public final String getPatternName() { return patternName; } public final void setPatternName(String patternName) { this.patternName = patternName; } @Override public final Builder patternName(String patternName) { this.patternName = patternName; return this; } public final String getPattern() { return pattern; } public final void setPattern(String pattern) { this.pattern = pattern; } @Override public final Builder pattern(String pattern) { this.pattern = pattern; return this; } public final Integer getRank() { return rank; } public final void setRank(Integer rank) { this.rank = rank; } @Override public final Builder rank(Integer rank) { this.rank = rank; return this; } @Override public Builder overrideConfiguration(AwsRequestOverrideConfiguration overrideConfiguration) { super.overrideConfiguration(overrideConfiguration); return this; } @Override public Builder overrideConfiguration(Consumer builderConsumer) { super.overrideConfiguration(builderConsumer); return this; } @Override public CreateLogPatternRequest build() { return new CreateLogPatternRequest(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy