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

com.amazonaws.services.fsx.model.LustreRootSquashConfiguration 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

The 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 for Lustre root squash used to restrict root-level access from clients that try to access your FSx * for Lustre file system as root. Use the RootSquash parameter to enable root squash. To learn more about * Lustre root squash, see Lustre root * squash. *

*

* You can also use the NoSquashNids parameter to provide an array of clients who are not affected by the * root squash setting. These clients will access the file system as root, with unrestricted privileges. *

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

* You enable root squash by setting a user ID (UID) and group ID (GID) for the file system in the format * UID:GID (for example, 365534:65534). The UID and GID values can range from * 0 to 4294967294: *

*
    *
  • *

    * A non-zero value for UID and GID enables root squash. The UID and GID values can be different, but each must be a * non-zero value. *

    *
  • *
  • *

    * A value of 0 (zero) for UID and GID indicates root, and therefore disables root squash. *

    *
  • *
*

* When root squash is enabled, the user ID and group ID of a root user accessing the file system are re-mapped to * the UID and GID you provide. *

*/ private String rootSquash; /** *

* When root squash is enabled, you can optionally specify an array of NIDs of clients for which root squash does * not apply. A client NID is a Lustre Network Identifier used to uniquely identify a client. You can specify the * NID as either a single address or a range of addresses: *

*
    *
  • *

    * A single address is described in standard Lustre NID format by specifying the client’s IP address followed by the * Lustre network ID (for example, 10.0.1.6@tcp). *

    *
  • *
  • *

    * An address range is described using a dash to separate the range (for example, * 10.0.[2-10].[1-255]@tcp). *

    *
  • *
*/ private java.util.List noSquashNids; /** *

* You enable root squash by setting a user ID (UID) and group ID (GID) for the file system in the format * UID:GID (for example, 365534:65534). The UID and GID values can range from * 0 to 4294967294: *

*
    *
  • *

    * A non-zero value for UID and GID enables root squash. The UID and GID values can be different, but each must be a * non-zero value. *

    *
  • *
  • *

    * A value of 0 (zero) for UID and GID indicates root, and therefore disables root squash. *

    *
  • *
*

* When root squash is enabled, the user ID and group ID of a root user accessing the file system are re-mapped to * the UID and GID you provide. *

* * @param rootSquash * You enable root squash by setting a user ID (UID) and group ID (GID) for the file system in the format * UID:GID (for example, 365534:65534). The UID and GID values can range from * 0 to 4294967294:

*
    *
  • *

    * A non-zero value for UID and GID enables root squash. The UID and GID values can be different, but each * must be a non-zero value. *

    *
  • *
  • *

    * A value of 0 (zero) for UID and GID indicates root, and therefore disables root squash. *

    *
  • *
*

* When root squash is enabled, the user ID and group ID of a root user accessing the file system are * re-mapped to the UID and GID you provide. */ public void setRootSquash(String rootSquash) { this.rootSquash = rootSquash; } /** *

* You enable root squash by setting a user ID (UID) and group ID (GID) for the file system in the format * UID:GID (for example, 365534:65534). The UID and GID values can range from * 0 to 4294967294: *

*
    *
  • *

    * A non-zero value for UID and GID enables root squash. The UID and GID values can be different, but each must be a * non-zero value. *

    *
  • *
  • *

    * A value of 0 (zero) for UID and GID indicates root, and therefore disables root squash. *

    *
  • *
*

* When root squash is enabled, the user ID and group ID of a root user accessing the file system are re-mapped to * the UID and GID you provide. *

* * @return You enable root squash by setting a user ID (UID) and group ID (GID) for the file system in the format * UID:GID (for example, 365534:65534). The UID and GID values can range from * 0 to 4294967294:

*
    *
  • *

    * A non-zero value for UID and GID enables root squash. The UID and GID values can be different, but each * must be a non-zero value. *

    *
  • *
  • *

    * A value of 0 (zero) for UID and GID indicates root, and therefore disables root squash. *

    *
  • *
*

* When root squash is enabled, the user ID and group ID of a root user accessing the file system are * re-mapped to the UID and GID you provide. */ public String getRootSquash() { return this.rootSquash; } /** *

* You enable root squash by setting a user ID (UID) and group ID (GID) for the file system in the format * UID:GID (for example, 365534:65534). The UID and GID values can range from * 0 to 4294967294: *

*
    *
  • *

    * A non-zero value for UID and GID enables root squash. The UID and GID values can be different, but each must be a * non-zero value. *

    *
  • *
  • *

    * A value of 0 (zero) for UID and GID indicates root, and therefore disables root squash. *

    *
  • *
*

* When root squash is enabled, the user ID and group ID of a root user accessing the file system are re-mapped to * the UID and GID you provide. *

* * @param rootSquash * You enable root squash by setting a user ID (UID) and group ID (GID) for the file system in the format * UID:GID (for example, 365534:65534). The UID and GID values can range from * 0 to 4294967294:

*
    *
  • *

    * A non-zero value for UID and GID enables root squash. The UID and GID values can be different, but each * must be a non-zero value. *

    *
  • *
  • *

    * A value of 0 (zero) for UID and GID indicates root, and therefore disables root squash. *

    *
  • *
*

* When root squash is enabled, the user ID and group ID of a root user accessing the file system are * re-mapped to the UID and GID you provide. * @return Returns a reference to this object so that method calls can be chained together. */ public LustreRootSquashConfiguration withRootSquash(String rootSquash) { setRootSquash(rootSquash); return this; } /** *

* When root squash is enabled, you can optionally specify an array of NIDs of clients for which root squash does * not apply. A client NID is a Lustre Network Identifier used to uniquely identify a client. You can specify the * NID as either a single address or a range of addresses: *

*
    *
  • *

    * A single address is described in standard Lustre NID format by specifying the client’s IP address followed by the * Lustre network ID (for example, 10.0.1.6@tcp). *

    *
  • *
  • *

    * An address range is described using a dash to separate the range (for example, * 10.0.[2-10].[1-255]@tcp). *

    *
  • *
* * @return When root squash is enabled, you can optionally specify an array of NIDs of clients for which root squash * does not apply. A client NID is a Lustre Network Identifier used to uniquely identify a client. You can * specify the NID as either a single address or a range of addresses:

*
    *
  • *

    * A single address is described in standard Lustre NID format by specifying the client’s IP address * followed by the Lustre network ID (for example, 10.0.1.6@tcp). *

    *
  • *
  • *

    * An address range is described using a dash to separate the range (for example, * 10.0.[2-10].[1-255]@tcp). *

    *
  • */ public java.util.List getNoSquashNids() { return noSquashNids; } /** *

    * When root squash is enabled, you can optionally specify an array of NIDs of clients for which root squash does * not apply. A client NID is a Lustre Network Identifier used to uniquely identify a client. You can specify the * NID as either a single address or a range of addresses: *

    *
      *
    • *

      * A single address is described in standard Lustre NID format by specifying the client’s IP address followed by the * Lustre network ID (for example, 10.0.1.6@tcp). *

      *
    • *
    • *

      * An address range is described using a dash to separate the range (for example, * 10.0.[2-10].[1-255]@tcp). *

      *
    • *
    * * @param noSquashNids * When root squash is enabled, you can optionally specify an array of NIDs of clients for which root squash * does not apply. A client NID is a Lustre Network Identifier used to uniquely identify a client. You can * specify the NID as either a single address or a range of addresses:

    *
      *
    • *

      * A single address is described in standard Lustre NID format by specifying the client’s IP address followed * by the Lustre network ID (for example, 10.0.1.6@tcp). *

      *
    • *
    • *

      * An address range is described using a dash to separate the range (for example, * 10.0.[2-10].[1-255]@tcp). *

      *
    • */ public void setNoSquashNids(java.util.Collection noSquashNids) { if (noSquashNids == null) { this.noSquashNids = null; return; } this.noSquashNids = new java.util.ArrayList(noSquashNids); } /** *

      * When root squash is enabled, you can optionally specify an array of NIDs of clients for which root squash does * not apply. A client NID is a Lustre Network Identifier used to uniquely identify a client. You can specify the * NID as either a single address or a range of addresses: *

      *
        *
      • *

        * A single address is described in standard Lustre NID format by specifying the client’s IP address followed by the * Lustre network ID (for example, 10.0.1.6@tcp). *

        *
      • *
      • *

        * An address range is described using a dash to separate the range (for example, * 10.0.[2-10].[1-255]@tcp). *

        *
      • *
      *

      * NOTE: This method appends the values to the existing list (if any). Use * {@link #setNoSquashNids(java.util.Collection)} or {@link #withNoSquashNids(java.util.Collection)} if you want to * override the existing values. *

      * * @param noSquashNids * When root squash is enabled, you can optionally specify an array of NIDs of clients for which root squash * does not apply. A client NID is a Lustre Network Identifier used to uniquely identify a client. You can * specify the NID as either a single address or a range of addresses:

      *
        *
      • *

        * A single address is described in standard Lustre NID format by specifying the client’s IP address followed * by the Lustre network ID (for example, 10.0.1.6@tcp). *

        *
      • *
      • *

        * An address range is described using a dash to separate the range (for example, * 10.0.[2-10].[1-255]@tcp). *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public LustreRootSquashConfiguration withNoSquashNids(String... noSquashNids) { if (this.noSquashNids == null) { setNoSquashNids(new java.util.ArrayList(noSquashNids.length)); } for (String ele : noSquashNids) { this.noSquashNids.add(ele); } return this; } /** *

        * When root squash is enabled, you can optionally specify an array of NIDs of clients for which root squash does * not apply. A client NID is a Lustre Network Identifier used to uniquely identify a client. You can specify the * NID as either a single address or a range of addresses: *

        *
          *
        • *

          * A single address is described in standard Lustre NID format by specifying the client’s IP address followed by the * Lustre network ID (for example, 10.0.1.6@tcp). *

          *
        • *
        • *

          * An address range is described using a dash to separate the range (for example, * 10.0.[2-10].[1-255]@tcp). *

          *
        • *
        * * @param noSquashNids * When root squash is enabled, you can optionally specify an array of NIDs of clients for which root squash * does not apply. A client NID is a Lustre Network Identifier used to uniquely identify a client. You can * specify the NID as either a single address or a range of addresses:

        *
          *
        • *

          * A single address is described in standard Lustre NID format by specifying the client’s IP address followed * by the Lustre network ID (for example, 10.0.1.6@tcp). *

          *
        • *
        • *

          * An address range is described using a dash to separate the range (for example, * 10.0.[2-10].[1-255]@tcp). *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. */ public LustreRootSquashConfiguration withNoSquashNids(java.util.Collection noSquashNids) { setNoSquashNids(noSquashNids); 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 (getRootSquash() != null) sb.append("RootSquash: ").append(getRootSquash()).append(","); if (getNoSquashNids() != null) sb.append("NoSquashNids: ").append(getNoSquashNids()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof LustreRootSquashConfiguration == false) return false; LustreRootSquashConfiguration other = (LustreRootSquashConfiguration) obj; if (other.getRootSquash() == null ^ this.getRootSquash() == null) return false; if (other.getRootSquash() != null && other.getRootSquash().equals(this.getRootSquash()) == false) return false; if (other.getNoSquashNids() == null ^ this.getNoSquashNids() == null) return false; if (other.getNoSquashNids() != null && other.getNoSquashNids().equals(this.getNoSquashNids()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getRootSquash() == null) ? 0 : getRootSquash().hashCode()); hashCode = prime * hashCode + ((getNoSquashNids() == null) ? 0 : getNoSquashNids().hashCode()); return hashCode; } @Override public LustreRootSquashConfiguration clone() { try { return (LustreRootSquashConfiguration) 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.LustreRootSquashConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy