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

com.amazonaws.services.fsx.model.OntapVolumeConfiguration Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon FSx module holds the client classes that are used for communicating with Amazon FSx Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2019-2024 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 com.amazonaws.services.fsx.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* The configuration of an Amazon FSx for NetApp ONTAP volume. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class OntapVolumeConfiguration implements Serializable, Cloneable, StructuredPojo { /** *

* Specifies the FlexCache endpoint type of the volume. Valid values are the following: *

*
    *
  • *

    * NONE specifies that the volume doesn't have a FlexCache configuration. NONE is the * default. *

    *
  • *
  • *

    * ORIGIN specifies that the volume is the origin volume for a FlexCache volume. *

    *
  • *
  • *

    * CACHE specifies that the volume is a FlexCache volume. *

    *
  • *
*/ private String flexCacheEndpointType; /** *

* Specifies the directory that network-attached storage (NAS) clients use to mount the volume, along with the * storage virtual machine (SVM) Domain Name System (DNS) name or IP address. You can create a * JunctionPath directly below a parent volume junction or on a directory within a volume. A * JunctionPath for a volume named vol3 might be /vol1/vol2/vol3, or * /vol1/dir2/vol3, or even /dir1/dir2/vol3. *

*/ private String junctionPath; /** *

* The security style for the volume, which can be UNIX, NTFS, or MIXED. *

*/ private String securityStyle; /** *

* The configured size of the volume, in megabytes (MBs). *

*/ private Integer sizeInMegabytes; /** *

* The volume's storage efficiency setting. *

*/ private Boolean storageEfficiencyEnabled; /** *

* The ID of the volume's storage virtual machine. *

*/ private String storageVirtualMachineId; /** *

* A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). Only one * volume on an SVM can be the root volume. This value defaults to false. If this value is * true, then this is the SVM root volume. *

*

* This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This flag, * when set to false, helps you identify which volumes to delete before you can delete the SVM. *

*/ private Boolean storageVirtualMachineRoot; /** *

* The volume's TieringPolicy setting. *

*/ private TieringPolicy tieringPolicy; /** *

* The volume's universally unique identifier (UUID). *

*/ private String uUID; /** *

* Specifies the type of volume. Valid values are the following: *

*
    *
  • *

    * RW specifies a read/write volume. RW is the default. *

    *
  • *
  • *

    * DP specifies a data-protection volume. You can protect data by replicating it to data-protection * mirror copies. If a disaster occurs, you can use these data-protection mirror copies to recover data. *

    *
  • *
  • *

    * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces the network traffic to a * FlexVol volume by providing additional read-only access to clients. *

    *
  • *
*/ private String ontapVolumeType; /** *

* Specifies the snapshot policy for the volume. There are three built-in snapshot policies: *

*
    *
  • *

    * default: This is the default policy. A maximum of six hourly snapshots taken five minutes past the * hour. A maximum of two daily snapshots taken Monday through Saturday at 10 minutes after midnight. A maximum of * two weekly snapshots taken every Sunday at 15 minutes after midnight. *

    *
  • *
  • *

    * default-1weekly: This policy is the same as the default policy except that it only * retains one snapshot from the weekly schedule. *

    *
  • *
  • *

    * none: This policy does not take any snapshots. This policy can be assigned to volumes to prevent * automatic snapshots from being taken. *

    *
  • *
*

* You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API. *

*

* For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide. *

*/ private String snapshotPolicy; /** *

* A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. * If it's set to true, all tags for the volume are copied to all automatic and user-initiated backups where the * user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are * copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from * the volume, regardless of this value. *

*/ private Boolean copyTagsToBackups; /** *

* The SnapLock configuration object for an FSx for ONTAP SnapLock volume. *

*/ private SnaplockConfiguration snaplockConfiguration; /** *

* Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx for * NetApp ONTAP User Guide. *

*/ private String volumeStyle; /** *

* This structure specifies configuration options for a volume’s storage aggregate or aggregates. *

*/ private AggregateConfiguration aggregateConfiguration; /** *

* The configured size of the volume, in bytes. *

*/ private Long sizeInBytes; /** *

* Specifies the FlexCache endpoint type of the volume. Valid values are the following: *

*
    *
  • *

    * NONE specifies that the volume doesn't have a FlexCache configuration. NONE is the * default. *

    *
  • *
  • *

    * ORIGIN specifies that the volume is the origin volume for a FlexCache volume. *

    *
  • *
  • *

    * CACHE specifies that the volume is a FlexCache volume. *

    *
  • *
* * @param flexCacheEndpointType * Specifies the FlexCache endpoint type of the volume. Valid values are the following:

*
    *
  • *

    * NONE specifies that the volume doesn't have a FlexCache configuration. NONE is * the default. *

    *
  • *
  • *

    * ORIGIN specifies that the volume is the origin volume for a FlexCache volume. *

    *
  • *
  • *

    * CACHE specifies that the volume is a FlexCache volume. *

    *
  • * @see FlexCacheEndpointType */ public void setFlexCacheEndpointType(String flexCacheEndpointType) { this.flexCacheEndpointType = flexCacheEndpointType; } /** *

    * Specifies the FlexCache endpoint type of the volume. Valid values are the following: *

    *
      *
    • *

      * NONE specifies that the volume doesn't have a FlexCache configuration. NONE is the * default. *

      *
    • *
    • *

      * ORIGIN specifies that the volume is the origin volume for a FlexCache volume. *

      *
    • *
    • *

      * CACHE specifies that the volume is a FlexCache volume. *

      *
    • *
    * * @return Specifies the FlexCache endpoint type of the volume. Valid values are the following:

    *
      *
    • *

      * NONE specifies that the volume doesn't have a FlexCache configuration. NONE is * the default. *

      *
    • *
    • *

      * ORIGIN specifies that the volume is the origin volume for a FlexCache volume. *

      *
    • *
    • *

      * CACHE specifies that the volume is a FlexCache volume. *

      *
    • * @see FlexCacheEndpointType */ public String getFlexCacheEndpointType() { return this.flexCacheEndpointType; } /** *

      * Specifies the FlexCache endpoint type of the volume. Valid values are the following: *

      *
        *
      • *

        * NONE specifies that the volume doesn't have a FlexCache configuration. NONE is the * default. *

        *
      • *
      • *

        * ORIGIN specifies that the volume is the origin volume for a FlexCache volume. *

        *
      • *
      • *

        * CACHE specifies that the volume is a FlexCache volume. *

        *
      • *
      * * @param flexCacheEndpointType * Specifies the FlexCache endpoint type of the volume. Valid values are the following:

      *
        *
      • *

        * NONE specifies that the volume doesn't have a FlexCache configuration. NONE is * the default. *

        *
      • *
      • *

        * ORIGIN specifies that the volume is the origin volume for a FlexCache volume. *

        *
      • *
      • *

        * CACHE specifies that the volume is a FlexCache volume. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see FlexCacheEndpointType */ public OntapVolumeConfiguration withFlexCacheEndpointType(String flexCacheEndpointType) { setFlexCacheEndpointType(flexCacheEndpointType); return this; } /** *

        * Specifies the FlexCache endpoint type of the volume. Valid values are the following: *

        *
          *
        • *

          * NONE specifies that the volume doesn't have a FlexCache configuration. NONE is the * default. *

          *
        • *
        • *

          * ORIGIN specifies that the volume is the origin volume for a FlexCache volume. *

          *
        • *
        • *

          * CACHE specifies that the volume is a FlexCache volume. *

          *
        • *
        * * @param flexCacheEndpointType * Specifies the FlexCache endpoint type of the volume. Valid values are the following:

        *
          *
        • *

          * NONE specifies that the volume doesn't have a FlexCache configuration. NONE is * the default. *

          *
        • *
        • *

          * ORIGIN specifies that the volume is the origin volume for a FlexCache volume. *

          *
        • *
        • *

          * CACHE specifies that the volume is a FlexCache volume. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see FlexCacheEndpointType */ public OntapVolumeConfiguration withFlexCacheEndpointType(FlexCacheEndpointType flexCacheEndpointType) { this.flexCacheEndpointType = flexCacheEndpointType.toString(); return this; } /** *

          * Specifies the directory that network-attached storage (NAS) clients use to mount the volume, along with the * storage virtual machine (SVM) Domain Name System (DNS) name or IP address. You can create a * JunctionPath directly below a parent volume junction or on a directory within a volume. A * JunctionPath for a volume named vol3 might be /vol1/vol2/vol3, or * /vol1/dir2/vol3, or even /dir1/dir2/vol3. *

          * * @param junctionPath * Specifies the directory that network-attached storage (NAS) clients use to mount the volume, along with * the storage virtual machine (SVM) Domain Name System (DNS) name or IP address. You can create a * JunctionPath directly below a parent volume junction or on a directory within a volume. A * JunctionPath for a volume named vol3 might be /vol1/vol2/vol3, or * /vol1/dir2/vol3, or even /dir1/dir2/vol3. */ public void setJunctionPath(String junctionPath) { this.junctionPath = junctionPath; } /** *

          * Specifies the directory that network-attached storage (NAS) clients use to mount the volume, along with the * storage virtual machine (SVM) Domain Name System (DNS) name or IP address. You can create a * JunctionPath directly below a parent volume junction or on a directory within a volume. A * JunctionPath for a volume named vol3 might be /vol1/vol2/vol3, or * /vol1/dir2/vol3, or even /dir1/dir2/vol3. *

          * * @return Specifies the directory that network-attached storage (NAS) clients use to mount the volume, along with * the storage virtual machine (SVM) Domain Name System (DNS) name or IP address. You can create a * JunctionPath directly below a parent volume junction or on a directory within a volume. A * JunctionPath for a volume named vol3 might be /vol1/vol2/vol3, or * /vol1/dir2/vol3, or even /dir1/dir2/vol3. */ public String getJunctionPath() { return this.junctionPath; } /** *

          * Specifies the directory that network-attached storage (NAS) clients use to mount the volume, along with the * storage virtual machine (SVM) Domain Name System (DNS) name or IP address. You can create a * JunctionPath directly below a parent volume junction or on a directory within a volume. A * JunctionPath for a volume named vol3 might be /vol1/vol2/vol3, or * /vol1/dir2/vol3, or even /dir1/dir2/vol3. *

          * * @param junctionPath * Specifies the directory that network-attached storage (NAS) clients use to mount the volume, along with * the storage virtual machine (SVM) Domain Name System (DNS) name or IP address. You can create a * JunctionPath directly below a parent volume junction or on a directory within a volume. A * JunctionPath for a volume named vol3 might be /vol1/vol2/vol3, or * /vol1/dir2/vol3, or even /dir1/dir2/vol3. * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withJunctionPath(String junctionPath) { setJunctionPath(junctionPath); return this; } /** *

          * The security style for the volume, which can be UNIX, NTFS, or MIXED. *

          * * @param securityStyle * The security style for the volume, which can be UNIX, NTFS, or * MIXED. * @see SecurityStyle */ public void setSecurityStyle(String securityStyle) { this.securityStyle = securityStyle; } /** *

          * The security style for the volume, which can be UNIX, NTFS, or MIXED. *

          * * @return The security style for the volume, which can be UNIX, NTFS, or * MIXED. * @see SecurityStyle */ public String getSecurityStyle() { return this.securityStyle; } /** *

          * The security style for the volume, which can be UNIX, NTFS, or MIXED. *

          * * @param securityStyle * The security style for the volume, which can be UNIX, NTFS, or * MIXED. * @return Returns a reference to this object so that method calls can be chained together. * @see SecurityStyle */ public OntapVolumeConfiguration withSecurityStyle(String securityStyle) { setSecurityStyle(securityStyle); return this; } /** *

          * The security style for the volume, which can be UNIX, NTFS, or MIXED. *

          * * @param securityStyle * The security style for the volume, which can be UNIX, NTFS, or * MIXED. * @return Returns a reference to this object so that method calls can be chained together. * @see SecurityStyle */ public OntapVolumeConfiguration withSecurityStyle(SecurityStyle securityStyle) { this.securityStyle = securityStyle.toString(); return this; } /** *

          * The configured size of the volume, in megabytes (MBs). *

          * * @param sizeInMegabytes * The configured size of the volume, in megabytes (MBs). */ public void setSizeInMegabytes(Integer sizeInMegabytes) { this.sizeInMegabytes = sizeInMegabytes; } /** *

          * The configured size of the volume, in megabytes (MBs). *

          * * @return The configured size of the volume, in megabytes (MBs). */ public Integer getSizeInMegabytes() { return this.sizeInMegabytes; } /** *

          * The configured size of the volume, in megabytes (MBs). *

          * * @param sizeInMegabytes * The configured size of the volume, in megabytes (MBs). * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withSizeInMegabytes(Integer sizeInMegabytes) { setSizeInMegabytes(sizeInMegabytes); return this; } /** *

          * The volume's storage efficiency setting. *

          * * @param storageEfficiencyEnabled * The volume's storage efficiency setting. */ public void setStorageEfficiencyEnabled(Boolean storageEfficiencyEnabled) { this.storageEfficiencyEnabled = storageEfficiencyEnabled; } /** *

          * The volume's storage efficiency setting. *

          * * @return The volume's storage efficiency setting. */ public Boolean getStorageEfficiencyEnabled() { return this.storageEfficiencyEnabled; } /** *

          * The volume's storage efficiency setting. *

          * * @param storageEfficiencyEnabled * The volume's storage efficiency setting. * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withStorageEfficiencyEnabled(Boolean storageEfficiencyEnabled) { setStorageEfficiencyEnabled(storageEfficiencyEnabled); return this; } /** *

          * The volume's storage efficiency setting. *

          * * @return The volume's storage efficiency setting. */ public Boolean isStorageEfficiencyEnabled() { return this.storageEfficiencyEnabled; } /** *

          * The ID of the volume's storage virtual machine. *

          * * @param storageVirtualMachineId * The ID of the volume's storage virtual machine. */ public void setStorageVirtualMachineId(String storageVirtualMachineId) { this.storageVirtualMachineId = storageVirtualMachineId; } /** *

          * The ID of the volume's storage virtual machine. *

          * * @return The ID of the volume's storage virtual machine. */ public String getStorageVirtualMachineId() { return this.storageVirtualMachineId; } /** *

          * The ID of the volume's storage virtual machine. *

          * * @param storageVirtualMachineId * The ID of the volume's storage virtual machine. * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withStorageVirtualMachineId(String storageVirtualMachineId) { setStorageVirtualMachineId(storageVirtualMachineId); return this; } /** *

          * A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). Only one * volume on an SVM can be the root volume. This value defaults to false. If this value is * true, then this is the SVM root volume. *

          *

          * This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This flag, * when set to false, helps you identify which volumes to delete before you can delete the SVM. *

          * * @param storageVirtualMachineRoot * A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). * Only one volume on an SVM can be the root volume. This value defaults to false. If this value * is true, then this is the SVM root volume.

          *

          * This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This * flag, when set to false, helps you identify which volumes to delete before you can delete the * SVM. */ public void setStorageVirtualMachineRoot(Boolean storageVirtualMachineRoot) { this.storageVirtualMachineRoot = storageVirtualMachineRoot; } /** *

          * A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). Only one * volume on an SVM can be the root volume. This value defaults to false. If this value is * true, then this is the SVM root volume. *

          *

          * This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This flag, * when set to false, helps you identify which volumes to delete before you can delete the SVM. *

          * * @return A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). * Only one volume on an SVM can be the root volume. This value defaults to false. If this * value is true, then this is the SVM root volume.

          *

          * This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This * flag, when set to false, helps you identify which volumes to delete before you can delete * the SVM. */ public Boolean getStorageVirtualMachineRoot() { return this.storageVirtualMachineRoot; } /** *

          * A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). Only one * volume on an SVM can be the root volume. This value defaults to false. If this value is * true, then this is the SVM root volume. *

          *

          * This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This flag, * when set to false, helps you identify which volumes to delete before you can delete the SVM. *

          * * @param storageVirtualMachineRoot * A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). * Only one volume on an SVM can be the root volume. This value defaults to false. If this value * is true, then this is the SVM root volume.

          *

          * This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This * flag, when set to false, helps you identify which volumes to delete before you can delete the * SVM. * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withStorageVirtualMachineRoot(Boolean storageVirtualMachineRoot) { setStorageVirtualMachineRoot(storageVirtualMachineRoot); return this; } /** *

          * A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). Only one * volume on an SVM can be the root volume. This value defaults to false. If this value is * true, then this is the SVM root volume. *

          *

          * This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This flag, * when set to false, helps you identify which volumes to delete before you can delete the SVM. *

          * * @return A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). * Only one volume on an SVM can be the root volume. This value defaults to false. If this * value is true, then this is the SVM root volume.

          *

          * This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This * flag, when set to false, helps you identify which volumes to delete before you can delete * the SVM. */ public Boolean isStorageVirtualMachineRoot() { return this.storageVirtualMachineRoot; } /** *

          * The volume's TieringPolicy setting. *

          * * @param tieringPolicy * The volume's TieringPolicy setting. */ public void setTieringPolicy(TieringPolicy tieringPolicy) { this.tieringPolicy = tieringPolicy; } /** *

          * The volume's TieringPolicy setting. *

          * * @return The volume's TieringPolicy setting. */ public TieringPolicy getTieringPolicy() { return this.tieringPolicy; } /** *

          * The volume's TieringPolicy setting. *

          * * @param tieringPolicy * The volume's TieringPolicy setting. * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withTieringPolicy(TieringPolicy tieringPolicy) { setTieringPolicy(tieringPolicy); return this; } /** *

          * The volume's universally unique identifier (UUID). *

          * * @param uUID * The volume's universally unique identifier (UUID). */ public void setUUID(String uUID) { this.uUID = uUID; } /** *

          * The volume's universally unique identifier (UUID). *

          * * @return The volume's universally unique identifier (UUID). */ public String getUUID() { return this.uUID; } /** *

          * The volume's universally unique identifier (UUID). *

          * * @param uUID * The volume's universally unique identifier (UUID). * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withUUID(String uUID) { setUUID(uUID); return this; } /** *

          * Specifies the type of volume. Valid values are the following: *

          *
            *
          • *

            * RW specifies a read/write volume. RW is the default. *

            *
          • *
          • *

            * DP specifies a data-protection volume. You can protect data by replicating it to data-protection * mirror copies. If a disaster occurs, you can use these data-protection mirror copies to recover data. *

            *
          • *
          • *

            * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces the network traffic to a * FlexVol volume by providing additional read-only access to clients. *

            *
          • *
          * * @param ontapVolumeType * Specifies the type of volume. Valid values are the following:

          *
            *
          • *

            * RW specifies a read/write volume. RW is the default. *

            *
          • *
          • *

            * DP specifies a data-protection volume. You can protect data by replicating it to * data-protection mirror copies. If a disaster occurs, you can use these data-protection mirror copies to * recover data. *

            *
          • *
          • *

            * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces the network traffic * to a FlexVol volume by providing additional read-only access to clients. *

            *
          • * @see OntapVolumeType */ public void setOntapVolumeType(String ontapVolumeType) { this.ontapVolumeType = ontapVolumeType; } /** *

            * Specifies the type of volume. Valid values are the following: *

            *
              *
            • *

              * RW specifies a read/write volume. RW is the default. *

              *
            • *
            • *

              * DP specifies a data-protection volume. You can protect data by replicating it to data-protection * mirror copies. If a disaster occurs, you can use these data-protection mirror copies to recover data. *

              *
            • *
            • *

              * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces the network traffic to a * FlexVol volume by providing additional read-only access to clients. *

              *
            • *
            * * @return Specifies the type of volume. Valid values are the following:

            *
              *
            • *

              * RW specifies a read/write volume. RW is the default. *

              *
            • *
            • *

              * DP specifies a data-protection volume. You can protect data by replicating it to * data-protection mirror copies. If a disaster occurs, you can use these data-protection mirror copies to * recover data. *

              *
            • *
            • *

              * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces the network traffic * to a FlexVol volume by providing additional read-only access to clients. *

              *
            • * @see OntapVolumeType */ public String getOntapVolumeType() { return this.ontapVolumeType; } /** *

              * Specifies the type of volume. Valid values are the following: *

              *
                *
              • *

                * RW specifies a read/write volume. RW is the default. *

                *
              • *
              • *

                * DP specifies a data-protection volume. You can protect data by replicating it to data-protection * mirror copies. If a disaster occurs, you can use these data-protection mirror copies to recover data. *

                *
              • *
              • *

                * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces the network traffic to a * FlexVol volume by providing additional read-only access to clients. *

                *
              • *
              * * @param ontapVolumeType * Specifies the type of volume. Valid values are the following:

              *
                *
              • *

                * RW specifies a read/write volume. RW is the default. *

                *
              • *
              • *

                * DP specifies a data-protection volume. You can protect data by replicating it to * data-protection mirror copies. If a disaster occurs, you can use these data-protection mirror copies to * recover data. *

                *
              • *
              • *

                * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces the network traffic * to a FlexVol volume by providing additional read-only access to clients. *

                *
              • * @return Returns a reference to this object so that method calls can be chained together. * @see OntapVolumeType */ public OntapVolumeConfiguration withOntapVolumeType(String ontapVolumeType) { setOntapVolumeType(ontapVolumeType); return this; } /** *

                * Specifies the type of volume. Valid values are the following: *

                *
                  *
                • *

                  * RW specifies a read/write volume. RW is the default. *

                  *
                • *
                • *

                  * DP specifies a data-protection volume. You can protect data by replicating it to data-protection * mirror copies. If a disaster occurs, you can use these data-protection mirror copies to recover data. *

                  *
                • *
                • *

                  * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces the network traffic to a * FlexVol volume by providing additional read-only access to clients. *

                  *
                • *
                * * @param ontapVolumeType * Specifies the type of volume. Valid values are the following:

                *
                  *
                • *

                  * RW specifies a read/write volume. RW is the default. *

                  *
                • *
                • *

                  * DP specifies a data-protection volume. You can protect data by replicating it to * data-protection mirror copies. If a disaster occurs, you can use these data-protection mirror copies to * recover data. *

                  *
                • *
                • *

                  * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces the network traffic * to a FlexVol volume by providing additional read-only access to clients. *

                  *
                • * @return Returns a reference to this object so that method calls can be chained together. * @see OntapVolumeType */ public OntapVolumeConfiguration withOntapVolumeType(OntapVolumeType ontapVolumeType) { this.ontapVolumeType = ontapVolumeType.toString(); return this; } /** *

                  * Specifies the snapshot policy for the volume. There are three built-in snapshot policies: *

                  *
                    *
                  • *

                    * default: This is the default policy. A maximum of six hourly snapshots taken five minutes past the * hour. A maximum of two daily snapshots taken Monday through Saturday at 10 minutes after midnight. A maximum of * two weekly snapshots taken every Sunday at 15 minutes after midnight. *

                    *
                  • *
                  • *

                    * default-1weekly: This policy is the same as the default policy except that it only * retains one snapshot from the weekly schedule. *

                    *
                  • *
                  • *

                    * none: This policy does not take any snapshots. This policy can be assigned to volumes to prevent * automatic snapshots from being taken. *

                    *
                  • *
                  *

                  * You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API. *

                  *

                  * For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide. *

                  * * @param snapshotPolicy * Specifies the snapshot policy for the volume. There are three built-in snapshot policies:

                  *
                    *
                  • *

                    * default: This is the default policy. A maximum of six hourly snapshots taken five minutes * past the hour. A maximum of two daily snapshots taken Monday through Saturday at 10 minutes after * midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes after midnight. *

                    *
                  • *
                  • *

                    * default-1weekly: This policy is the same as the default policy except that it * only retains one snapshot from the weekly schedule. *

                    *
                  • *
                  • *

                    * none: This policy does not take any snapshots. This policy can be assigned to volumes to * prevent automatic snapshots from being taken. *

                    *
                  • *
                  *

                  * You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API. *

                  *

                  * For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide. */ public void setSnapshotPolicy(String snapshotPolicy) { this.snapshotPolicy = snapshotPolicy; } /** *

                  * Specifies the snapshot policy for the volume. There are three built-in snapshot policies: *

                  *
                    *
                  • *

                    * default: This is the default policy. A maximum of six hourly snapshots taken five minutes past the * hour. A maximum of two daily snapshots taken Monday through Saturday at 10 minutes after midnight. A maximum of * two weekly snapshots taken every Sunday at 15 minutes after midnight. *

                    *
                  • *
                  • *

                    * default-1weekly: This policy is the same as the default policy except that it only * retains one snapshot from the weekly schedule. *

                    *
                  • *
                  • *

                    * none: This policy does not take any snapshots. This policy can be assigned to volumes to prevent * automatic snapshots from being taken. *

                    *
                  • *
                  *

                  * You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API. *

                  *

                  * For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide. *

                  * * @return Specifies the snapshot policy for the volume. There are three built-in snapshot policies:

                  *
                    *
                  • *

                    * default: This is the default policy. A maximum of six hourly snapshots taken five minutes * past the hour. A maximum of two daily snapshots taken Monday through Saturday at 10 minutes after * midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes after midnight. *

                    *
                  • *
                  • *

                    * default-1weekly: This policy is the same as the default policy except that it * only retains one snapshot from the weekly schedule. *

                    *
                  • *
                  • *

                    * none: This policy does not take any snapshots. This policy can be assigned to volumes to * prevent automatic snapshots from being taken. *

                    *
                  • *
                  *

                  * You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API. *

                  *

                  * For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide. */ public String getSnapshotPolicy() { return this.snapshotPolicy; } /** *

                  * Specifies the snapshot policy for the volume. There are three built-in snapshot policies: *

                  *
                    *
                  • *

                    * default: This is the default policy. A maximum of six hourly snapshots taken five minutes past the * hour. A maximum of two daily snapshots taken Monday through Saturday at 10 minutes after midnight. A maximum of * two weekly snapshots taken every Sunday at 15 minutes after midnight. *

                    *
                  • *
                  • *

                    * default-1weekly: This policy is the same as the default policy except that it only * retains one snapshot from the weekly schedule. *

                    *
                  • *
                  • *

                    * none: This policy does not take any snapshots. This policy can be assigned to volumes to prevent * automatic snapshots from being taken. *

                    *
                  • *
                  *

                  * You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API. *

                  *

                  * For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide. *

                  * * @param snapshotPolicy * Specifies the snapshot policy for the volume. There are three built-in snapshot policies:

                  *
                    *
                  • *

                    * default: This is the default policy. A maximum of six hourly snapshots taken five minutes * past the hour. A maximum of two daily snapshots taken Monday through Saturday at 10 minutes after * midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes after midnight. *

                    *
                  • *
                  • *

                    * default-1weekly: This policy is the same as the default policy except that it * only retains one snapshot from the weekly schedule. *

                    *
                  • *
                  • *

                    * none: This policy does not take any snapshots. This policy can be assigned to volumes to * prevent automatic snapshots from being taken. *

                    *
                  • *
                  *

                  * You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API. *

                  *

                  * For more information, see Snapshot * policies in the Amazon FSx for NetApp ONTAP User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withSnapshotPolicy(String snapshotPolicy) { setSnapshotPolicy(snapshotPolicy); return this; } /** *

                  * A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. * If it's set to true, all tags for the volume are copied to all automatic and user-initiated backups where the * user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are * copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from * the volume, regardless of this value. *

                  * * @param copyTagsToBackups * A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to * false. If it's set to true, all tags for the volume are copied to all automatic and user-initiated backups * where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the * specified tags are copied to backups. If you specify one or more tags when creating a user-initiated * backup, no tags are copied from the volume, regardless of this value. */ public void setCopyTagsToBackups(Boolean copyTagsToBackups) { this.copyTagsToBackups = copyTagsToBackups; } /** *

                  * A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. * If it's set to true, all tags for the volume are copied to all automatic and user-initiated backups where the * user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are * copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from * the volume, regardless of this value. *

                  * * @return A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to * false. If it's set to true, all tags for the volume are copied to all automatic and user-initiated * backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, * only the specified tags are copied to backups. If you specify one or more tags when creating a * user-initiated backup, no tags are copied from the volume, regardless of this value. */ public Boolean getCopyTagsToBackups() { return this.copyTagsToBackups; } /** *

                  * A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. * If it's set to true, all tags for the volume are copied to all automatic and user-initiated backups where the * user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are * copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from * the volume, regardless of this value. *

                  * * @param copyTagsToBackups * A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to * false. If it's set to true, all tags for the volume are copied to all automatic and user-initiated backups * where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the * specified tags are copied to backups. If you specify one or more tags when creating a user-initiated * backup, no tags are copied from the volume, regardless of this value. * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withCopyTagsToBackups(Boolean copyTagsToBackups) { setCopyTagsToBackups(copyTagsToBackups); return this; } /** *

                  * A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. * If it's set to true, all tags for the volume are copied to all automatic and user-initiated backups where the * user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are * copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from * the volume, regardless of this value. *

                  * * @return A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to * false. If it's set to true, all tags for the volume are copied to all automatic and user-initiated * backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, * only the specified tags are copied to backups. If you specify one or more tags when creating a * user-initiated backup, no tags are copied from the volume, regardless of this value. */ public Boolean isCopyTagsToBackups() { return this.copyTagsToBackups; } /** *

                  * The SnapLock configuration object for an FSx for ONTAP SnapLock volume. *

                  * * @param snaplockConfiguration * The SnapLock configuration object for an FSx for ONTAP SnapLock volume. */ public void setSnaplockConfiguration(SnaplockConfiguration snaplockConfiguration) { this.snaplockConfiguration = snaplockConfiguration; } /** *

                  * The SnapLock configuration object for an FSx for ONTAP SnapLock volume. *

                  * * @return The SnapLock configuration object for an FSx for ONTAP SnapLock volume. */ public SnaplockConfiguration getSnaplockConfiguration() { return this.snaplockConfiguration; } /** *

                  * The SnapLock configuration object for an FSx for ONTAP SnapLock volume. *

                  * * @param snaplockConfiguration * The SnapLock configuration object for an FSx for ONTAP SnapLock volume. * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withSnaplockConfiguration(SnaplockConfiguration snaplockConfiguration) { setSnaplockConfiguration(snaplockConfiguration); return this; } /** *

                  * Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx for * NetApp ONTAP User Guide. *

                  * * @param volumeStyle * Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx * for NetApp ONTAP User Guide. * @see VolumeStyle */ public void setVolumeStyle(String volumeStyle) { this.volumeStyle = volumeStyle; } /** *

                  * Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx for * NetApp ONTAP User Guide. *

                  * * @return Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx * for NetApp ONTAP User Guide. * @see VolumeStyle */ public String getVolumeStyle() { return this.volumeStyle; } /** *

                  * Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx for * NetApp ONTAP User Guide. *

                  * * @param volumeStyle * Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx * for NetApp ONTAP User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see VolumeStyle */ public OntapVolumeConfiguration withVolumeStyle(String volumeStyle) { setVolumeStyle(volumeStyle); return this; } /** *

                  * Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx for * NetApp ONTAP User Guide. *

                  * * @param volumeStyle * Use to specify the style of an ONTAP volume. For more information about FlexVols and FlexGroups, see Volume types in Amazon FSx * for NetApp ONTAP User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see VolumeStyle */ public OntapVolumeConfiguration withVolumeStyle(VolumeStyle volumeStyle) { this.volumeStyle = volumeStyle.toString(); return this; } /** *

                  * This structure specifies configuration options for a volume’s storage aggregate or aggregates. *

                  * * @param aggregateConfiguration * This structure specifies configuration options for a volume’s storage aggregate or aggregates. */ public void setAggregateConfiguration(AggregateConfiguration aggregateConfiguration) { this.aggregateConfiguration = aggregateConfiguration; } /** *

                  * This structure specifies configuration options for a volume’s storage aggregate or aggregates. *

                  * * @return This structure specifies configuration options for a volume’s storage aggregate or aggregates. */ public AggregateConfiguration getAggregateConfiguration() { return this.aggregateConfiguration; } /** *

                  * This structure specifies configuration options for a volume’s storage aggregate or aggregates. *

                  * * @param aggregateConfiguration * This structure specifies configuration options for a volume’s storage aggregate or aggregates. * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withAggregateConfiguration(AggregateConfiguration aggregateConfiguration) { setAggregateConfiguration(aggregateConfiguration); return this; } /** *

                  * The configured size of the volume, in bytes. *

                  * * @param sizeInBytes * The configured size of the volume, in bytes. */ public void setSizeInBytes(Long sizeInBytes) { this.sizeInBytes = sizeInBytes; } /** *

                  * The configured size of the volume, in bytes. *

                  * * @return The configured size of the volume, in bytes. */ public Long getSizeInBytes() { return this.sizeInBytes; } /** *

                  * The configured size of the volume, in bytes. *

                  * * @param sizeInBytes * The configured size of the volume, in bytes. * @return Returns a reference to this object so that method calls can be chained together. */ public OntapVolumeConfiguration withSizeInBytes(Long sizeInBytes) { setSizeInBytes(sizeInBytes); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getFlexCacheEndpointType() != null) sb.append("FlexCacheEndpointType: ").append(getFlexCacheEndpointType()).append(","); if (getJunctionPath() != null) sb.append("JunctionPath: ").append(getJunctionPath()).append(","); if (getSecurityStyle() != null) sb.append("SecurityStyle: ").append(getSecurityStyle()).append(","); if (getSizeInMegabytes() != null) sb.append("SizeInMegabytes: ").append(getSizeInMegabytes()).append(","); if (getStorageEfficiencyEnabled() != null) sb.append("StorageEfficiencyEnabled: ").append(getStorageEfficiencyEnabled()).append(","); if (getStorageVirtualMachineId() != null) sb.append("StorageVirtualMachineId: ").append(getStorageVirtualMachineId()).append(","); if (getStorageVirtualMachineRoot() != null) sb.append("StorageVirtualMachineRoot: ").append(getStorageVirtualMachineRoot()).append(","); if (getTieringPolicy() != null) sb.append("TieringPolicy: ").append(getTieringPolicy()).append(","); if (getUUID() != null) sb.append("UUID: ").append(getUUID()).append(","); if (getOntapVolumeType() != null) sb.append("OntapVolumeType: ").append(getOntapVolumeType()).append(","); if (getSnapshotPolicy() != null) sb.append("SnapshotPolicy: ").append(getSnapshotPolicy()).append(","); if (getCopyTagsToBackups() != null) sb.append("CopyTagsToBackups: ").append(getCopyTagsToBackups()).append(","); if (getSnaplockConfiguration() != null) sb.append("SnaplockConfiguration: ").append(getSnaplockConfiguration()).append(","); if (getVolumeStyle() != null) sb.append("VolumeStyle: ").append(getVolumeStyle()).append(","); if (getAggregateConfiguration() != null) sb.append("AggregateConfiguration: ").append(getAggregateConfiguration()).append(","); if (getSizeInBytes() != null) sb.append("SizeInBytes: ").append(getSizeInBytes()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof OntapVolumeConfiguration == false) return false; OntapVolumeConfiguration other = (OntapVolumeConfiguration) obj; if (other.getFlexCacheEndpointType() == null ^ this.getFlexCacheEndpointType() == null) return false; if (other.getFlexCacheEndpointType() != null && other.getFlexCacheEndpointType().equals(this.getFlexCacheEndpointType()) == false) return false; if (other.getJunctionPath() == null ^ this.getJunctionPath() == null) return false; if (other.getJunctionPath() != null && other.getJunctionPath().equals(this.getJunctionPath()) == false) return false; if (other.getSecurityStyle() == null ^ this.getSecurityStyle() == null) return false; if (other.getSecurityStyle() != null && other.getSecurityStyle().equals(this.getSecurityStyle()) == false) return false; if (other.getSizeInMegabytes() == null ^ this.getSizeInMegabytes() == null) return false; if (other.getSizeInMegabytes() != null && other.getSizeInMegabytes().equals(this.getSizeInMegabytes()) == false) return false; if (other.getStorageEfficiencyEnabled() == null ^ this.getStorageEfficiencyEnabled() == null) return false; if (other.getStorageEfficiencyEnabled() != null && other.getStorageEfficiencyEnabled().equals(this.getStorageEfficiencyEnabled()) == false) return false; if (other.getStorageVirtualMachineId() == null ^ this.getStorageVirtualMachineId() == null) return false; if (other.getStorageVirtualMachineId() != null && other.getStorageVirtualMachineId().equals(this.getStorageVirtualMachineId()) == false) return false; if (other.getStorageVirtualMachineRoot() == null ^ this.getStorageVirtualMachineRoot() == null) return false; if (other.getStorageVirtualMachineRoot() != null && other.getStorageVirtualMachineRoot().equals(this.getStorageVirtualMachineRoot()) == false) return false; if (other.getTieringPolicy() == null ^ this.getTieringPolicy() == null) return false; if (other.getTieringPolicy() != null && other.getTieringPolicy().equals(this.getTieringPolicy()) == false) return false; if (other.getUUID() == null ^ this.getUUID() == null) return false; if (other.getUUID() != null && other.getUUID().equals(this.getUUID()) == false) return false; if (other.getOntapVolumeType() == null ^ this.getOntapVolumeType() == null) return false; if (other.getOntapVolumeType() != null && other.getOntapVolumeType().equals(this.getOntapVolumeType()) == false) return false; if (other.getSnapshotPolicy() == null ^ this.getSnapshotPolicy() == null) return false; if (other.getSnapshotPolicy() != null && other.getSnapshotPolicy().equals(this.getSnapshotPolicy()) == false) return false; if (other.getCopyTagsToBackups() == null ^ this.getCopyTagsToBackups() == null) return false; if (other.getCopyTagsToBackups() != null && other.getCopyTagsToBackups().equals(this.getCopyTagsToBackups()) == false) return false; if (other.getSnaplockConfiguration() == null ^ this.getSnaplockConfiguration() == null) return false; if (other.getSnaplockConfiguration() != null && other.getSnaplockConfiguration().equals(this.getSnaplockConfiguration()) == false) return false; if (other.getVolumeStyle() == null ^ this.getVolumeStyle() == null) return false; if (other.getVolumeStyle() != null && other.getVolumeStyle().equals(this.getVolumeStyle()) == false) return false; if (other.getAggregateConfiguration() == null ^ this.getAggregateConfiguration() == null) return false; if (other.getAggregateConfiguration() != null && other.getAggregateConfiguration().equals(this.getAggregateConfiguration()) == false) return false; if (other.getSizeInBytes() == null ^ this.getSizeInBytes() == null) return false; if (other.getSizeInBytes() != null && other.getSizeInBytes().equals(this.getSizeInBytes()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getFlexCacheEndpointType() == null) ? 0 : getFlexCacheEndpointType().hashCode()); hashCode = prime * hashCode + ((getJunctionPath() == null) ? 0 : getJunctionPath().hashCode()); hashCode = prime * hashCode + ((getSecurityStyle() == null) ? 0 : getSecurityStyle().hashCode()); hashCode = prime * hashCode + ((getSizeInMegabytes() == null) ? 0 : getSizeInMegabytes().hashCode()); hashCode = prime * hashCode + ((getStorageEfficiencyEnabled() == null) ? 0 : getStorageEfficiencyEnabled().hashCode()); hashCode = prime * hashCode + ((getStorageVirtualMachineId() == null) ? 0 : getStorageVirtualMachineId().hashCode()); hashCode = prime * hashCode + ((getStorageVirtualMachineRoot() == null) ? 0 : getStorageVirtualMachineRoot().hashCode()); hashCode = prime * hashCode + ((getTieringPolicy() == null) ? 0 : getTieringPolicy().hashCode()); hashCode = prime * hashCode + ((getUUID() == null) ? 0 : getUUID().hashCode()); hashCode = prime * hashCode + ((getOntapVolumeType() == null) ? 0 : getOntapVolumeType().hashCode()); hashCode = prime * hashCode + ((getSnapshotPolicy() == null) ? 0 : getSnapshotPolicy().hashCode()); hashCode = prime * hashCode + ((getCopyTagsToBackups() == null) ? 0 : getCopyTagsToBackups().hashCode()); hashCode = prime * hashCode + ((getSnaplockConfiguration() == null) ? 0 : getSnaplockConfiguration().hashCode()); hashCode = prime * hashCode + ((getVolumeStyle() == null) ? 0 : getVolumeStyle().hashCode()); hashCode = prime * hashCode + ((getAggregateConfiguration() == null) ? 0 : getAggregateConfiguration().hashCode()); hashCode = prime * hashCode + ((getSizeInBytes() == null) ? 0 : getSizeInBytes().hashCode()); return hashCode; } @Override public OntapVolumeConfiguration clone() { try { return (OntapVolumeConfiguration) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.fsx.model.transform.OntapVolumeConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy