/* * Copyright 2018-2023 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; /** *

* Specifies the configuration of the ONTAP volume that you are creating. *

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

* Specifies the location in the SVM's namespace where the volume is mounted. This parameter is required. The * JunctionPath must have a leading forward slash, such as /vol3. *

*/ private String junctionPath; /** *

* Specifies the security style for the volume. If a volume's security style is not specified, it is automatically * set to the root volume's security style. The security style determines the type of permissions that FSx for ONTAP * uses to control data access. For more information, see Volume * security style in the Amazon FSx for NetApp ONTAP User Guide. Specify one of the following values: *

* */ private String securityStyle; /** *

* Specifies the size of the volume, in megabytes (MB), that you are creating. *

*/ private Integer sizeInMegabytes; /** *

* Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume, or * set to false to disable them. This parameter is required. *

*/ private Boolean storageEfficiencyEnabled; /** *

* Specifies the ONTAP SVM in which to create the volume. *

*/ private String storageVirtualMachineId; private TieringPolicy tieringPolicy; /** *

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

* *

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

*/ private String ontapVolumeType; /** *

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

* *

* 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; /** *

* Specifies the SnapLock configuration for an FSx for ONTAP volume. *

*/ private CreateSnaplockConfiguration snaplockConfiguration; /** *

* Specifies the location in the SVM's namespace where the volume is mounted. This parameter is required. The * JunctionPath must have a leading forward slash, such as /vol3. *

* * @param junctionPath * Specifies the location in the SVM's namespace where the volume is mounted. This parameter is required. The * JunctionPath must have a leading forward slash, such as /vol3. */ public void setJunctionPath(String junctionPath) { this.junctionPath = junctionPath; } /** *

* Specifies the location in the SVM's namespace where the volume is mounted. This parameter is required. The * JunctionPath must have a leading forward slash, such as /vol3. *

* * @return Specifies the location in the SVM's namespace where the volume is mounted. This parameter is required. * The JunctionPath must have a leading forward slash, such as /vol3. */ public String getJunctionPath() { return this.junctionPath; } /** *

* Specifies the location in the SVM's namespace where the volume is mounted. This parameter is required. The * JunctionPath must have a leading forward slash, such as /vol3. *

* * @param junctionPath * Specifies the location in the SVM's namespace where the volume is mounted. This parameter is required. The * JunctionPath must have a leading forward slash, such as /vol3. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateOntapVolumeConfiguration withJunctionPath(String junctionPath) { setJunctionPath(junctionPath); return this; } /** *

* Specifies the security style for the volume. If a volume's security style is not specified, it is automatically * set to the root volume's security style. The security style determines the type of permissions that FSx for ONTAP * uses to control data access. For more information, see Volume * security style in the Amazon FSx for NetApp ONTAP User Guide. Specify one of the following values: *

* * * @param securityStyle * Specifies the security style for the volume. If a volume's security style is not specified, it is * automatically set to the root volume's security style. The security style determines the type of * permissions that FSx for ONTAP uses to control data access. For more information, see Volume security style in the Amazon FSx for NetApp ONTAP User Guide. Specify one of the * following values:

*