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

software.amazon.awssdk.services.fms.model.GetProtectionStatusResponse Maven / Gradle / Ivy

Go to download

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

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.fms.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.Function;
import software.amazon.awssdk.annotations.Generated;
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 GetProtectionStatusResponse extends FmsResponse implements
        ToCopyableBuilder {
    private static final SdkField ADMIN_ACCOUNT_ID_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("AdminAccountId").getter(getter(GetProtectionStatusResponse::adminAccountId))
            .setter(setter(Builder::adminAccountId))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("AdminAccountId").build()).build();

    private static final SdkField SERVICE_TYPE_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("ServiceType").getter(getter(GetProtectionStatusResponse::serviceTypeAsString))
            .setter(setter(Builder::serviceType))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ServiceType").build()).build();

    private static final SdkField DATA_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Data")
            .getter(getter(GetProtectionStatusResponse::data)).setter(setter(Builder::data))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Data").build()).build();

    private static final SdkField NEXT_TOKEN_FIELD = SdkField. builder(MarshallingType.STRING)
            .memberName("NextToken").getter(getter(GetProtectionStatusResponse::nextToken)).setter(setter(Builder::nextToken))
            .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("NextToken").build()).build();

    private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(ADMIN_ACCOUNT_ID_FIELD,
            SERVICE_TYPE_FIELD, DATA_FIELD, NEXT_TOKEN_FIELD));

    private final String adminAccountId;

    private final String serviceType;

    private final String data;

    private final String nextToken;

    private GetProtectionStatusResponse(BuilderImpl builder) {
        super(builder);
        this.adminAccountId = builder.adminAccountId;
        this.serviceType = builder.serviceType;
        this.data = builder.data;
        this.nextToken = builder.nextToken;
    }

    /**
     * 

* The ID of the AWS Firewall administrator account for this policy. *

* * @return The ID of the AWS Firewall administrator account for this policy. */ public String adminAccountId() { return adminAccountId; } /** *

* The service type that is protected by the policy. Currently, this is always SHIELD_ADVANCED. *

*

* If the service returns an enum value that is not available in the current SDK version, {@link #serviceType} will * return {@link SecurityServiceType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #serviceTypeAsString}. *

* * @return The service type that is protected by the policy. Currently, this is always SHIELD_ADVANCED. * @see SecurityServiceType */ public SecurityServiceType serviceType() { return SecurityServiceType.fromValue(serviceType); } /** *

* The service type that is protected by the policy. Currently, this is always SHIELD_ADVANCED. *

*

* If the service returns an enum value that is not available in the current SDK version, {@link #serviceType} will * return {@link SecurityServiceType#UNKNOWN_TO_SDK_VERSION}. The raw value returned by the service is available * from {@link #serviceTypeAsString}. *

* * @return The service type that is protected by the policy. Currently, this is always SHIELD_ADVANCED. * @see SecurityServiceType */ public String serviceTypeAsString() { return serviceType; } /** *

* Details about the attack, including the following: *

*
    *
  • *

    * Attack type *

    *
  • *
  • *

    * Account ID *

    *
  • *
  • *

    * ARN of the resource attacked *

    *
  • *
  • *

    * Start time of the attack *

    *
  • *
  • *

    * End time of the attack (ongoing attacks will not have an end time) *

    *
  • *
*

* The details are in JSON format. *

* * @return Details about the attack, including the following:

*
    *
  • *

    * Attack type *

    *
  • *
  • *

    * Account ID *

    *
  • *
  • *

    * ARN of the resource attacked *

    *
  • *
  • *

    * Start time of the attack *

    *
  • *
  • *

    * End time of the attack (ongoing attacks will not have an end time) *

    *
  • *
*

* The details are in JSON format. */ public String data() { return data; } /** *

* If you have more objects than the number that you specified for MaxResults in the request, the * response includes a NextToken value. To list more objects, submit another * GetProtectionStatus request, and specify the NextToken value from the response in the * NextToken value in the next request. *

*

* AWS SDKs provide auto-pagination that identify NextToken in a response and make subsequent request * calls automatically on your behalf. However, this feature is not supported by GetProtectionStatus. * You must submit subsequent requests with NextToken using your own processes. *

* * @return If you have more objects than the number that you specified for MaxResults in the request, * the response includes a NextToken value. To list more objects, submit another * GetProtectionStatus request, and specify the NextToken value from the response * in the NextToken value in the next request.

*

* AWS SDKs provide auto-pagination that identify NextToken in a response and make subsequent * request calls automatically on your behalf. However, this feature is not supported by * GetProtectionStatus. You must submit subsequent requests with NextToken using * your own processes. */ public String nextToken() { return nextToken; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + super.hashCode(); hashCode = 31 * hashCode + Objects.hashCode(adminAccountId()); hashCode = 31 * hashCode + Objects.hashCode(serviceTypeAsString()); hashCode = 31 * hashCode + Objects.hashCode(data()); hashCode = 31 * hashCode + Objects.hashCode(nextToken()); return hashCode; } @Override public boolean equals(Object obj) { return super.equals(obj) && equalsBySdkFields(obj); } @Override public boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof GetProtectionStatusResponse)) { return false; } GetProtectionStatusResponse other = (GetProtectionStatusResponse) obj; return Objects.equals(adminAccountId(), other.adminAccountId()) && Objects.equals(serviceTypeAsString(), other.serviceTypeAsString()) && Objects.equals(data(), other.data()) && Objects.equals(nextToken(), other.nextToken()); } /** * 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 String toString() { return ToString.builder("GetProtectionStatusResponse").add("AdminAccountId", adminAccountId()) .add("ServiceType", serviceTypeAsString()).add("Data", data()).add("NextToken", nextToken()).build(); } public Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "AdminAccountId": return Optional.ofNullable(clazz.cast(adminAccountId())); case "ServiceType": return Optional.ofNullable(clazz.cast(serviceTypeAsString())); case "Data": return Optional.ofNullable(clazz.cast(data())); case "NextToken": return Optional.ofNullable(clazz.cast(nextToken())); default: return Optional.empty(); } } @Override public List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((GetProtectionStatusResponse) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends FmsResponse.Builder, SdkPojo, CopyableBuilder { /** *

* The ID of the AWS Firewall administrator account for this policy. *

* * @param adminAccountId * The ID of the AWS Firewall administrator account for this policy. * @return Returns a reference to this object so that method calls can be chained together. */ Builder adminAccountId(String adminAccountId); /** *

* The service type that is protected by the policy. Currently, this is always SHIELD_ADVANCED. *

* * @param serviceType * The service type that is protected by the policy. Currently, this is always * SHIELD_ADVANCED. * @see SecurityServiceType * @return Returns a reference to this object so that method calls can be chained together. * @see SecurityServiceType */ Builder serviceType(String serviceType); /** *

* The service type that is protected by the policy. Currently, this is always SHIELD_ADVANCED. *

* * @param serviceType * The service type that is protected by the policy. Currently, this is always * SHIELD_ADVANCED. * @see SecurityServiceType * @return Returns a reference to this object so that method calls can be chained together. * @see SecurityServiceType */ Builder serviceType(SecurityServiceType serviceType); /** *

* Details about the attack, including the following: *

*
    *
  • *

    * Attack type *

    *
  • *
  • *

    * Account ID *

    *
  • *
  • *

    * ARN of the resource attacked *

    *
  • *
  • *

    * Start time of the attack *

    *
  • *
  • *

    * End time of the attack (ongoing attacks will not have an end time) *

    *
  • *
*

* The details are in JSON format. *

* * @param data * Details about the attack, including the following:

*
    *
  • *

    * Attack type *

    *
  • *
  • *

    * Account ID *

    *
  • *
  • *

    * ARN of the resource attacked *

    *
  • *
  • *

    * Start time of the attack *

    *
  • *
  • *

    * End time of the attack (ongoing attacks will not have an end time) *

    *
  • *
*

* The details are in JSON format. * @return Returns a reference to this object so that method calls can be chained together. */ Builder data(String data); /** *

* If you have more objects than the number that you specified for MaxResults in the request, the * response includes a NextToken value. To list more objects, submit another * GetProtectionStatus request, and specify the NextToken value from the response in * the NextToken value in the next request. *

*

* AWS SDKs provide auto-pagination that identify NextToken in a response and make subsequent * request calls automatically on your behalf. However, this feature is not supported by * GetProtectionStatus. You must submit subsequent requests with NextToken using your * own processes. *

* * @param nextToken * If you have more objects than the number that you specified for MaxResults in the * request, the response includes a NextToken value. To list more objects, submit another * GetProtectionStatus request, and specify the NextToken value from the * response in the NextToken value in the next request.

*

* AWS SDKs provide auto-pagination that identify NextToken in a response and make * subsequent request calls automatically on your behalf. However, this feature is not supported by * GetProtectionStatus. You must submit subsequent requests with NextToken * using your own processes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder nextToken(String nextToken); } static final class BuilderImpl extends FmsResponse.BuilderImpl implements Builder { private String adminAccountId; private String serviceType; private String data; private String nextToken; private BuilderImpl() { } private BuilderImpl(GetProtectionStatusResponse model) { super(model); adminAccountId(model.adminAccountId); serviceType(model.serviceType); data(model.data); nextToken(model.nextToken); } public final String getAdminAccountId() { return adminAccountId; } @Override public final Builder adminAccountId(String adminAccountId) { this.adminAccountId = adminAccountId; return this; } public final void setAdminAccountId(String adminAccountId) { this.adminAccountId = adminAccountId; } public final String getServiceType() { return serviceType; } @Override public final Builder serviceType(String serviceType) { this.serviceType = serviceType; return this; } @Override public final Builder serviceType(SecurityServiceType serviceType) { this.serviceType(serviceType == null ? null : serviceType.toString()); return this; } public final void setServiceType(String serviceType) { this.serviceType = serviceType; } public final String getData() { return data; } @Override public final Builder data(String data) { this.data = data; return this; } public final void setData(String data) { this.data = data; } public final String getNextToken() { return nextToken; } @Override public final Builder nextToken(String nextToken) { this.nextToken = nextToken; return this; } public final void setNextToken(String nextToken) { this.nextToken = nextToken; } @Override public GetProtectionStatusResponse build() { return new GetProtectionStatusResponse(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy