Class ProtectionGroup
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<ProtectionGroup.Builder,
ProtectionGroup>
A grouping of protected resources that you and Shield Advanced can monitor as a collective. This resource grouping improves the accuracy of detection and reduces false positives.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionDefines how Shield combines resource data for the group in order to detect, mitigate, and report events.final String
Defines how Shield combines resource data for the group in order to detect, mitigate, and report events.static ProtectionGroup.Builder
builder()
final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the Members property.members()
The ARNs (Amazon Resource Names) of the resources to include in the protection group.final ProtectionGroupPattern
pattern()
The criteria to use to choose the protected resources for inclusion in the group.final String
The criteria to use to choose the protected resources for inclusion in the group.final String
The ARN (Amazon Resource Name) of the protection group.final String
The name of the protection group.final ProtectedResourceType
The resource type to include in the protection group.final String
The resource type to include in the protection group.static Class
<? extends ProtectionGroup.Builder> Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
protectionGroupId
The name of the protection group. You use this to identify the protection group in lists and to manage the protection group, for example to update, delete, or describe it.
- Returns:
- The name of the protection group. You use this to identify the protection group in lists and to manage the protection group, for example to update, delete, or describe it.
-
aggregation
Defines how Shield combines resource data for the group in order to detect, mitigate, and report events.
-
Sum - Use the total traffic across the group. This is a good choice for most cases. Examples include Elastic IP addresses for EC2 instances that scale manually or automatically.
-
Mean - Use the average of the traffic across the group. This is a good choice for resources that share traffic uniformly. Examples include accelerators and load balancers.
-
Max - Use the highest traffic from each resource. This is useful for resources that don't share traffic and for resources that share that traffic in a non-uniform way. Examples include Amazon CloudFront distributions and origin resources for CloudFront distributions.
If the service returns an enum value that is not available in the current SDK version,
aggregation
will returnProtectionGroupAggregation.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromaggregationAsString()
.- Returns:
- Defines how Shield combines resource data for the group in order to detect, mitigate, and report
events.
-
Sum - Use the total traffic across the group. This is a good choice for most cases. Examples include Elastic IP addresses for EC2 instances that scale manually or automatically.
-
Mean - Use the average of the traffic across the group. This is a good choice for resources that share traffic uniformly. Examples include accelerators and load balancers.
-
Max - Use the highest traffic from each resource. This is useful for resources that don't share traffic and for resources that share that traffic in a non-uniform way. Examples include Amazon CloudFront distributions and origin resources for CloudFront distributions.
-
- See Also:
-
-
aggregationAsString
Defines how Shield combines resource data for the group in order to detect, mitigate, and report events.
-
Sum - Use the total traffic across the group. This is a good choice for most cases. Examples include Elastic IP addresses for EC2 instances that scale manually or automatically.
-
Mean - Use the average of the traffic across the group. This is a good choice for resources that share traffic uniformly. Examples include accelerators and load balancers.
-
Max - Use the highest traffic from each resource. This is useful for resources that don't share traffic and for resources that share that traffic in a non-uniform way. Examples include Amazon CloudFront distributions and origin resources for CloudFront distributions.
If the service returns an enum value that is not available in the current SDK version,
aggregation
will returnProtectionGroupAggregation.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromaggregationAsString()
.- Returns:
- Defines how Shield combines resource data for the group in order to detect, mitigate, and report
events.
-
Sum - Use the total traffic across the group. This is a good choice for most cases. Examples include Elastic IP addresses for EC2 instances that scale manually or automatically.
-
Mean - Use the average of the traffic across the group. This is a good choice for resources that share traffic uniformly. Examples include accelerators and load balancers.
-
Max - Use the highest traffic from each resource. This is useful for resources that don't share traffic and for resources that share that traffic in a non-uniform way. Examples include Amazon CloudFront distributions and origin resources for CloudFront distributions.
-
- See Also:
-
-
pattern
The criteria to use to choose the protected resources for inclusion in the group. You can include all resources that have protections, provide a list of resource ARNs (Amazon Resource Names), or include all resources of a specified resource type.
If the service returns an enum value that is not available in the current SDK version,
pattern
will returnProtectionGroupPattern.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available frompatternAsString()
.- Returns:
- The criteria to use to choose the protected resources for inclusion in the group. You can include all resources that have protections, provide a list of resource ARNs (Amazon Resource Names), or include all resources of a specified resource type.
- See Also:
-
patternAsString
The criteria to use to choose the protected resources for inclusion in the group. You can include all resources that have protections, provide a list of resource ARNs (Amazon Resource Names), or include all resources of a specified resource type.
If the service returns an enum value that is not available in the current SDK version,
pattern
will returnProtectionGroupPattern.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available frompatternAsString()
.- Returns:
- The criteria to use to choose the protected resources for inclusion in the group. You can include all resources that have protections, provide a list of resource ARNs (Amazon Resource Names), or include all resources of a specified resource type.
- See Also:
-
resourceType
The resource type to include in the protection group. All protected resources of this type are included in the protection group. You must set this when you set
Pattern
toBY_RESOURCE_TYPE
and you must not set it for any otherPattern
setting.If the service returns an enum value that is not available in the current SDK version,
resourceType
will returnProtectedResourceType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromresourceTypeAsString()
.- Returns:
- The resource type to include in the protection group. All protected resources of this type are included
in the protection group. You must set this when you set
Pattern
toBY_RESOURCE_TYPE
and you must not set it for any otherPattern
setting. - See Also:
-
resourceTypeAsString
The resource type to include in the protection group. All protected resources of this type are included in the protection group. You must set this when you set
Pattern
toBY_RESOURCE_TYPE
and you must not set it for any otherPattern
setting.If the service returns an enum value that is not available in the current SDK version,
resourceType
will returnProtectedResourceType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromresourceTypeAsString()
.- Returns:
- The resource type to include in the protection group. All protected resources of this type are included
in the protection group. You must set this when you set
Pattern
toBY_RESOURCE_TYPE
and you must not set it for any otherPattern
setting. - See Also:
-
hasMembers
public final boolean hasMembers()For responses, this returns true if the service returned a value for the Members property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
members
The ARNs (Amazon Resource Names) of the resources to include in the protection group. You must set this when you set
Pattern
toARBITRARY
and you must not set it for any otherPattern
setting.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasMembers()
method.- Returns:
- The ARNs (Amazon Resource Names) of the resources to include in the protection group. You must set this
when you set
Pattern
toARBITRARY
and you must not set it for any otherPattern
setting.
-
protectionGroupArn
The ARN (Amazon Resource Name) of the protection group.
- Returns:
- The ARN (Amazon Resource Name) of the protection group.
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<ProtectionGroup.Builder,
ProtectionGroup> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
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. -
getValueForField
-
sdkFields
-