software.amazon.awssdk.services.applicationinsights.model.CreateLogPatternRequest Maven / Gradle / Ivy
Show all versions of applicationinsights Show documentation
/*
* 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 extends Builder> 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