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

com.amazonaws.services.ecs.model.EFSVolumeConfiguration Maven / Gradle / Ivy

Go to download

The AWS Java SDK for the Amazon EC2 Container Service holds the client classes that are used for communicating with the Amazon EC2 Container 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.ecs.model;

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

/**
 * 

* This parameter is specified when you're using an Amazon Elastic File System file system for task storage. For more * information, see Amazon EFS * volumes in the Amazon Elastic Container Service Developer Guide. *

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

* The Amazon EFS file system ID to use. *

*/ private String fileSystemId; /** *

* The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter * is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect * as omitting this parameter. *

* *

* If an EFS access point is specified in the authorizationConfig, the root directory parameter must * either be omitted or set to / which will enforce the path set on the EFS access point. *

*
*/ private String rootDirectory; /** *

* Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon * EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is * omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the * Amazon Elastic File System User Guide. *

*/ private String transitEncryption; /** *

* The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not * specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. * For more information, see EFS mount * helper in the Amazon Elastic File System User Guide. *

*/ private Integer transitEncryptionPort; /** *

* The authorization configuration details for the Amazon EFS file system. *

*/ private EFSAuthorizationConfig authorizationConfig; /** *

* The Amazon EFS file system ID to use. *

* * @param fileSystemId * The Amazon EFS file system ID to use. */ public void setFileSystemId(String fileSystemId) { this.fileSystemId = fileSystemId; } /** *

* The Amazon EFS file system ID to use. *

* * @return The Amazon EFS file system ID to use. */ public String getFileSystemId() { return this.fileSystemId; } /** *

* The Amazon EFS file system ID to use. *

* * @param fileSystemId * The Amazon EFS file system ID to use. * @return Returns a reference to this object so that method calls can be chained together. */ public EFSVolumeConfiguration withFileSystemId(String fileSystemId) { setFileSystemId(fileSystemId); return this; } /** *

* The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter * is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect * as omitting this parameter. *

* *

* If an EFS access point is specified in the authorizationConfig, the root directory parameter must * either be omitted or set to / which will enforce the path set on the EFS access point. *

*
* * @param rootDirectory * The directory within the Amazon EFS file system to mount as the root directory inside the host. If this * parameter is omitted, the root of the Amazon EFS volume will be used. Specifying / will have * the same effect as omitting this parameter.

*

* If an EFS access point is specified in the authorizationConfig, the root directory parameter * must either be omitted or set to / which will enforce the path set on the EFS access point. *

*/ public void setRootDirectory(String rootDirectory) { this.rootDirectory = rootDirectory; } /** *

* The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter * is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect * as omitting this parameter. *

* *

* If an EFS access point is specified in the authorizationConfig, the root directory parameter must * either be omitted or set to / which will enforce the path set on the EFS access point. *

*
* * @return The directory within the Amazon EFS file system to mount as the root directory inside the host. If this * parameter is omitted, the root of the Amazon EFS volume will be used. Specifying / will have * the same effect as omitting this parameter.

*

* If an EFS access point is specified in the authorizationConfig, the root directory parameter * must either be omitted or set to / which will enforce the path set on the EFS access point. *

*/ public String getRootDirectory() { return this.rootDirectory; } /** *

* The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter * is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect * as omitting this parameter. *

* *

* If an EFS access point is specified in the authorizationConfig, the root directory parameter must * either be omitted or set to / which will enforce the path set on the EFS access point. *

*
* * @param rootDirectory * The directory within the Amazon EFS file system to mount as the root directory inside the host. If this * parameter is omitted, the root of the Amazon EFS volume will be used. Specifying / will have * the same effect as omitting this parameter.

*

* If an EFS access point is specified in the authorizationConfig, the root directory parameter * must either be omitted or set to / which will enforce the path set on the EFS access point. *

* @return Returns a reference to this object so that method calls can be chained together. */ public EFSVolumeConfiguration withRootDirectory(String rootDirectory) { setRootDirectory(rootDirectory); return this; } /** *

* Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon * EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is * omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the * Amazon Elastic File System User Guide. *

* * @param transitEncryption * Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the * Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this * parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit * in the Amazon Elastic File System User Guide. * @see EFSTransitEncryption */ public void setTransitEncryption(String transitEncryption) { this.transitEncryption = transitEncryption; } /** *

* Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon * EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is * omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the * Amazon Elastic File System User Guide. *

* * @return Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the * Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this * parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in * transit in the Amazon Elastic File System User Guide. * @see EFSTransitEncryption */ public String getTransitEncryption() { return this.transitEncryption; } /** *

* Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon * EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is * omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the * Amazon Elastic File System User Guide. *

* * @param transitEncryption * Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the * Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this * parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit * in the Amazon Elastic File System User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see EFSTransitEncryption */ public EFSVolumeConfiguration withTransitEncryption(String transitEncryption) { setTransitEncryption(transitEncryption); return this; } /** *

* Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon * EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is * omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the * Amazon Elastic File System User Guide. *

* * @param transitEncryption * Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the * Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this * parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit * in the Amazon Elastic File System User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see EFSTransitEncryption */ public EFSVolumeConfiguration withTransitEncryption(EFSTransitEncryption transitEncryption) { this.transitEncryption = transitEncryption.toString(); return this; } /** *

* The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not * specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. * For more information, see EFS mount * helper in the Amazon Elastic File System User Guide. *

* * @param transitEncryptionPort * The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you * do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS * mount helper uses. For more information, see EFS mount helper in the * Amazon Elastic File System User Guide. */ public void setTransitEncryptionPort(Integer transitEncryptionPort) { this.transitEncryptionPort = transitEncryptionPort; } /** *

* The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not * specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. * For more information, see EFS mount * helper in the Amazon Elastic File System User Guide. *

* * @return The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you * do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS * mount helper uses. For more information, see EFS mount helper in the * Amazon Elastic File System User Guide. */ public Integer getTransitEncryptionPort() { return this.transitEncryptionPort; } /** *

* The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not * specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. * For more information, see EFS mount * helper in the Amazon Elastic File System User Guide. *

* * @param transitEncryptionPort * The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you * do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS * mount helper uses. For more information, see EFS mount helper in the * Amazon Elastic File System User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public EFSVolumeConfiguration withTransitEncryptionPort(Integer transitEncryptionPort) { setTransitEncryptionPort(transitEncryptionPort); return this; } /** *

* The authorization configuration details for the Amazon EFS file system. *

* * @param authorizationConfig * The authorization configuration details for the Amazon EFS file system. */ public void setAuthorizationConfig(EFSAuthorizationConfig authorizationConfig) { this.authorizationConfig = authorizationConfig; } /** *

* The authorization configuration details for the Amazon EFS file system. *

* * @return The authorization configuration details for the Amazon EFS file system. */ public EFSAuthorizationConfig getAuthorizationConfig() { return this.authorizationConfig; } /** *

* The authorization configuration details for the Amazon EFS file system. *

* * @param authorizationConfig * The authorization configuration details for the Amazon EFS file system. * @return Returns a reference to this object so that method calls can be chained together. */ public EFSVolumeConfiguration withAuthorizationConfig(EFSAuthorizationConfig authorizationConfig) { setAuthorizationConfig(authorizationConfig); 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 (getFileSystemId() != null) sb.append("FileSystemId: ").append(getFileSystemId()).append(","); if (getRootDirectory() != null) sb.append("RootDirectory: ").append(getRootDirectory()).append(","); if (getTransitEncryption() != null) sb.append("TransitEncryption: ").append(getTransitEncryption()).append(","); if (getTransitEncryptionPort() != null) sb.append("TransitEncryptionPort: ").append(getTransitEncryptionPort()).append(","); if (getAuthorizationConfig() != null) sb.append("AuthorizationConfig: ").append(getAuthorizationConfig()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof EFSVolumeConfiguration == false) return false; EFSVolumeConfiguration other = (EFSVolumeConfiguration) obj; if (other.getFileSystemId() == null ^ this.getFileSystemId() == null) return false; if (other.getFileSystemId() != null && other.getFileSystemId().equals(this.getFileSystemId()) == false) return false; if (other.getRootDirectory() == null ^ this.getRootDirectory() == null) return false; if (other.getRootDirectory() != null && other.getRootDirectory().equals(this.getRootDirectory()) == false) return false; if (other.getTransitEncryption() == null ^ this.getTransitEncryption() == null) return false; if (other.getTransitEncryption() != null && other.getTransitEncryption().equals(this.getTransitEncryption()) == false) return false; if (other.getTransitEncryptionPort() == null ^ this.getTransitEncryptionPort() == null) return false; if (other.getTransitEncryptionPort() != null && other.getTransitEncryptionPort().equals(this.getTransitEncryptionPort()) == false) return false; if (other.getAuthorizationConfig() == null ^ this.getAuthorizationConfig() == null) return false; if (other.getAuthorizationConfig() != null && other.getAuthorizationConfig().equals(this.getAuthorizationConfig()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getFileSystemId() == null) ? 0 : getFileSystemId().hashCode()); hashCode = prime * hashCode + ((getRootDirectory() == null) ? 0 : getRootDirectory().hashCode()); hashCode = prime * hashCode + ((getTransitEncryption() == null) ? 0 : getTransitEncryption().hashCode()); hashCode = prime * hashCode + ((getTransitEncryptionPort() == null) ? 0 : getTransitEncryptionPort().hashCode()); hashCode = prime * hashCode + ((getAuthorizationConfig() == null) ? 0 : getAuthorizationConfig().hashCode()); return hashCode; } @Override public EFSVolumeConfiguration clone() { try { return (EFSVolumeConfiguration) 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.ecs.model.transform.EFSVolumeConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy