Class FileCacheDataRepositoryAssociation

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

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

The configuration for a data repository association (DRA) to be created during the Amazon File Cache resource creation. The DRA links the cache to either an Amazon S3 bucket or prefix, or a Network File System (NFS) data repository that supports the NFSv3 protocol.

The DRA does not support automatic import or automatic export.

See Also:
  • Method Details

    • fileCachePath

      public final String fileCachePath()

      A path on the cache that points to a high-level directory (such as /ns1/) or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 with DataRepositoryPath. The leading forward slash in the name is required. Two data repository associations cannot have overlapping cache paths. For example, if a data repository is associated with cache path /ns1/, then you cannot link another data repository with cache path /ns1/ns2.

      This path specifies where in your cache files will be exported from. This cache directory can be linked to only one data repository, and no data repository other can be linked to the directory.

      The cache path can only be set to root (/) on an NFS DRA when DataRepositorySubdirectories is specified. If you specify root (/) as the cache path, you can create only one DRA on the cache.

      The cache path cannot be set to root (/) for an S3 DRA.

      Returns:
      A path on the cache that points to a high-level directory (such as /ns1/) or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 with DataRepositoryPath. The leading forward slash in the name is required. Two data repository associations cannot have overlapping cache paths. For example, if a data repository is associated with cache path /ns1/, then you cannot link another data repository with cache path /ns1/ns2.

      This path specifies where in your cache files will be exported from. This cache directory can be linked to only one data repository, and no data repository other can be linked to the directory.

      The cache path can only be set to root (/) on an NFS DRA when DataRepositorySubdirectories is specified. If you specify root (/) as the cache path, you can create only one DRA on the cache.

      The cache path cannot be set to root (/) for an S3 DRA.

    • dataRepositoryPath

      public final String dataRepositoryPath()

      The path to the S3 or NFS data repository that links to the cache. You must provide one of the following paths:

      • The path can be an NFS data repository that links to the cache. The path can be in one of two formats:

        • If you are not using the DataRepositorySubdirectories parameter, the path is to an NFS Export directory (or one of its subdirectories) in the format nfs://nfs-domain-name/exportpath. You can therefore link a single NFS Export to a single data repository association.

        • If you are using the DataRepositorySubdirectories parameter, the path is the domain name of the NFS file system in the format nfs://filer-domain-name, which indicates the root of the subdirectories specified with the DataRepositorySubdirectories parameter.

      • The path can be an S3 bucket or prefix in the format s3://bucket-name/prefix/ (where prefix is optional).

      Returns:
      The path to the S3 or NFS data repository that links to the cache. You must provide one of the following paths:

      • The path can be an NFS data repository that links to the cache. The path can be in one of two formats:

        • If you are not using the DataRepositorySubdirectories parameter, the path is to an NFS Export directory (or one of its subdirectories) in the format nfs://nfs-domain-name/exportpath. You can therefore link a single NFS Export to a single data repository association.

        • If you are using the DataRepositorySubdirectories parameter, the path is the domain name of the NFS file system in the format nfs://filer-domain-name, which indicates the root of the subdirectories specified with the DataRepositorySubdirectories parameter.

      • The path can be an S3 bucket or prefix in the format s3://bucket-name/prefix/ (where prefix is optional).

    • hasDataRepositorySubdirectories

      public final boolean hasDataRepositorySubdirectories()
      For responses, this returns true if the service returned a value for the DataRepositorySubdirectories 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.
    • dataRepositorySubdirectories

      public final List<String> dataRepositorySubdirectories()

      A list of NFS Exports that will be linked with this data repository association. The Export paths are in the format /exportpath1. To use this parameter, you must configure DataRepositoryPath as the domain name of the NFS file system. The NFS file system domain name in effect is the root of the subdirectories. Note that DataRepositorySubdirectories is not supported for S3 data repositories.

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

      Returns:
      A list of NFS Exports that will be linked with this data repository association. The Export paths are in the format /exportpath1. To use this parameter, you must configure DataRepositoryPath as the domain name of the NFS file system. The NFS file system domain name in effect is the root of the subdirectories. Note that DataRepositorySubdirectories is not supported for S3 data repositories.
    • nfs

      public final FileCacheNFSConfiguration nfs()

      The configuration for a data repository association that links an Amazon File Cache resource to an NFS data repository.

      Returns:
      The configuration for a data repository association that links an Amazon File Cache resource to an NFS data repository.
    • 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<FileCacheDataRepositoryAssociation.Builder,FileCacheDataRepositoryAssociation>
      Returns:
      a builder for type T
    • builder

    • serializableBuilderClass

      public static Class<? extends FileCacheDataRepositoryAssociation.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.