Class BackupSelection

java.lang.Object
software.amazon.awssdk.services.backup.model.BackupSelection
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<BackupSelection.Builder,BackupSelection>

@Generated("software.amazon.awssdk:codegen") public final class BackupSelection extends Object implements SdkPojo, Serializable, ToCopyableBuilder<BackupSelection.Builder,BackupSelection>

Used to specify a set of resources to a backup plan.

We recommend that you specify conditions, tags, or resources to include or exclude. Otherwise, Backup attempts to select all supported and opted-in storage resources, which could have unintended cost implications.

For more information, see Assigning resources programmatically.

See Also:
  • Method Details

    • selectionName

      public final String selectionName()

      The display name of a resource selection document. Must contain 1 to 50 alphanumeric or '-_.' characters.

      Returns:
      The display name of a resource selection document. Must contain 1 to 50 alphanumeric or '-_.' characters.
    • iamRoleArn

      public final String iamRoleArn()

      The ARN of the IAM role that Backup uses to authenticate when backing up the target resource; for example, arn:aws:iam::123456789012:role/S3Access.

      Returns:
      The ARN of the IAM role that Backup uses to authenticate when backing up the target resource; for example, arn:aws:iam::123456789012:role/S3Access.
    • hasResources

      public final boolean hasResources()
      For responses, this returns true if the service returned a value for the Resources property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() 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.
    • resources

      public final List<String> resources()

      The Amazon Resource Names (ARNs) of the resources to assign to a backup plan. The maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.

      If you need to assign many resources to a backup plan, consider a different resource selection strategy, such as assigning all resources of a resource type or refining your resource selection using tags.

      If you specify multiple ARNs, the resources much match any of the ARNs (OR logic).

      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 hasResources() method.

      Returns:
      The Amazon Resource Names (ARNs) of the resources to assign to a backup plan. The maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.

      If you need to assign many resources to a backup plan, consider a different resource selection strategy, such as assigning all resources of a resource type or refining your resource selection using tags.

      If you specify multiple ARNs, the resources much match any of the ARNs (OR logic).

    • hasListOfTags

      public final boolean hasListOfTags()
      For responses, this returns true if the service returned a value for the ListOfTags property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() 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.
    • listOfTags

      public final List<Condition> listOfTags()

      The conditions that you define to assign resources to your backup plans using tags. For example, "StringEquals": { "ConditionKey": "backup", "ConditionValue": "daily"}.

      ListOfTags supports only StringEquals. Condition operators are case sensitive.

      If you specify multiple conditions, the resources much match any of the conditions (OR logic).

      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 hasListOfTags() method.

      Returns:
      The conditions that you define to assign resources to your backup plans using tags. For example, "StringEquals": { "ConditionKey": "backup", "ConditionValue": "daily"}.

      ListOfTags supports only StringEquals. Condition operators are case sensitive.

      If you specify multiple conditions, the resources much match any of the conditions (OR logic).

    • hasNotResources

      public final boolean hasNotResources()
      For responses, this returns true if the service returned a value for the NotResources property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() 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.
    • notResources

      public final List<String> notResources()

      The Amazon Resource Names (ARNs) of the resources to exclude from a backup plan. The maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.

      If you need to exclude many resources from a backup plan, consider a different resource selection strategy, such as assigning only one or a few resource types or refining your resource selection using tags.

      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 hasNotResources() method.

      Returns:
      The Amazon Resource Names (ARNs) of the resources to exclude from a backup plan. The maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.

      If you need to exclude many resources from a backup plan, consider a different resource selection strategy, such as assigning only one or a few resource types or refining your resource selection using tags.

    • conditions

      public final Conditions conditions()

      The conditions that you define to assign resources to your backup plans using tags. For example, "StringEquals": { "ConditionKey": "aws:ResourceTag/backup", "ConditionValue": "daily" }.

      Conditions supports StringEquals, StringLike, StringNotEquals , and StringNotLike. Condition operators are case sensitive.

      If you specify multiple conditions, the resources much match all conditions (AND logic).

      Returns:
      The conditions that you define to assign resources to your backup plans using tags. For example, "StringEquals": { "ConditionKey": "aws:ResourceTag/backup", "ConditionValue": "daily" }.

      Conditions supports StringEquals, StringLike, StringNotEquals, and StringNotLike. Condition operators are case sensitive.

      If you specify multiple conditions, the resources much match all conditions (AND logic).

    • toBuilder

      public BackupSelection.Builder 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 interface ToCopyableBuilder<BackupSelection.Builder,BackupSelection>
      Returns:
      a builder for type T
    • builder

      public static BackupSelection.Builder builder()
    • serializableBuilderClass

      public static Class<? extends BackupSelection.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      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 an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String 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.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.