/* * 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; /** *
* Describes the Amazon FSx for NetApp ONTAP storage virtual machine (SVM) configuration. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class StorageVirtualMachine implements Serializable, Cloneable, StructuredPojo { /** ** Describes the Microsoft Active Directory configuration to which the SVM is joined, if applicable. *
*/ private SvmActiveDirectoryConfiguration activeDirectoryConfiguration; private java.util.Date creationTime; /** *
* The endpoints that are used to access data or to manage the SVM using the NetApp ONTAP CLI, REST API, or NetApp
* CloudManager. They are the Iscsi
, Management
, Nfs
, and Smb
* endpoints.
*
* Describes the SVM's lifecycle status. *
*
* CREATED
- The SVM is fully available for use.
*
* CREATING
- Amazon FSx is creating the new SVM.
*
* DELETING
- Amazon FSx is deleting an existing SVM.
*
* FAILED
- Amazon FSx was unable to create the SVM.
*
* MISCONFIGURED
- The SVM is in a failed but recoverable state.
*
* PENDING
- Amazon FSx has not started creating the SVM.
*
* The name of the SVM, if provisioned. *
*/ private String name; private String resourceARN; /** ** The SVM's system generated unique ID. *
*/ private String storageVirtualMachineId; /** ** Describes the SVM's subtype. *
*/ private String subtype; /** ** The SVM's UUID (universally unique identifier). *
*/ private String uUID; private java.util.List* Describes why the SVM lifecycle state changed. *
*/ private LifecycleTransitionReason lifecycleTransitionReason; /** ** The security style of the root volume of the SVM. *
*/ private String rootVolumeSecurityStyle; /** ** Describes the Microsoft Active Directory configuration to which the SVM is joined, if applicable. *
* * @param activeDirectoryConfiguration * Describes the Microsoft Active Directory configuration to which the SVM is joined, if applicable. */ public void setActiveDirectoryConfiguration(SvmActiveDirectoryConfiguration activeDirectoryConfiguration) { this.activeDirectoryConfiguration = activeDirectoryConfiguration; } /** ** Describes the Microsoft Active Directory configuration to which the SVM is joined, if applicable. *
* * @return Describes the Microsoft Active Directory configuration to which the SVM is joined, if applicable. */ public SvmActiveDirectoryConfiguration getActiveDirectoryConfiguration() { return this.activeDirectoryConfiguration; } /** ** Describes the Microsoft Active Directory configuration to which the SVM is joined, if applicable. *
* * @param activeDirectoryConfiguration * Describes the Microsoft Active Directory configuration to which the SVM is joined, if applicable. * @return Returns a reference to this object so that method calls can be chained together. */ public StorageVirtualMachine withActiveDirectoryConfiguration(SvmActiveDirectoryConfiguration activeDirectoryConfiguration) { setActiveDirectoryConfiguration(activeDirectoryConfiguration); return this; } /** * @param creationTime */ public void setCreationTime(java.util.Date creationTime) { this.creationTime = creationTime; } /** * @return */ public java.util.Date getCreationTime() { return this.creationTime; } /** * @param creationTime * @return Returns a reference to this object so that method calls can be chained together. */ public StorageVirtualMachine withCreationTime(java.util.Date creationTime) { setCreationTime(creationTime); return this; } /** *
* The endpoints that are used to access data or to manage the SVM using the NetApp ONTAP CLI, REST API, or NetApp
* CloudManager. They are the Iscsi
, Management
, Nfs
, and Smb
* endpoints.
*
Iscsi
, Management
, Nfs
, and
* Smb
endpoints.
*/
public void setEndpoints(SvmEndpoints endpoints) {
this.endpoints = endpoints;
}
/**
*
* The endpoints that are used to access data or to manage the SVM using the NetApp ONTAP CLI, REST API, or NetApp
* CloudManager. They are the Iscsi
, Management
, Nfs
, and Smb
* endpoints.
*
Iscsi
, Management
, Nfs
, and
* Smb
endpoints.
*/
public SvmEndpoints getEndpoints() {
return this.endpoints;
}
/**
*
* The endpoints that are used to access data or to manage the SVM using the NetApp ONTAP CLI, REST API, or NetApp
* CloudManager. They are the Iscsi
, Management
, Nfs
, and Smb
* endpoints.
*
Iscsi
, Management
, Nfs
, and
* Smb
endpoints.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StorageVirtualMachine withEndpoints(SvmEndpoints endpoints) {
setEndpoints(endpoints);
return this;
}
/**
* @param fileSystemId
*/
public void setFileSystemId(String fileSystemId) {
this.fileSystemId = fileSystemId;
}
/**
* @return
*/
public String getFileSystemId() {
return this.fileSystemId;
}
/**
* @param fileSystemId
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StorageVirtualMachine withFileSystemId(String fileSystemId) {
setFileSystemId(fileSystemId);
return this;
}
/**
* * Describes the SVM's lifecycle status. *
*
* CREATED
- The SVM is fully available for use.
*
* CREATING
- Amazon FSx is creating the new SVM.
*
* DELETING
- Amazon FSx is deleting an existing SVM.
*
* FAILED
- Amazon FSx was unable to create the SVM.
*
* MISCONFIGURED
- The SVM is in a failed but recoverable state.
*
* PENDING
- Amazon FSx has not started creating the SVM.
*
* CREATED
- The SVM is fully available for use.
*
* CREATING
- Amazon FSx is creating the new SVM.
*
* DELETING
- Amazon FSx is deleting an existing SVM.
*
* FAILED
- Amazon FSx was unable to create the SVM.
*
* MISCONFIGURED
- The SVM is in a failed but recoverable state.
*
* PENDING
- Amazon FSx has not started creating the SVM.
*
* Describes the SVM's lifecycle status. *
*
* CREATED
- The SVM is fully available for use.
*
* CREATING
- Amazon FSx is creating the new SVM.
*
* DELETING
- Amazon FSx is deleting an existing SVM.
*
* FAILED
- Amazon FSx was unable to create the SVM.
*
* MISCONFIGURED
- The SVM is in a failed but recoverable state.
*
* PENDING
- Amazon FSx has not started creating the SVM.
*
* CREATED
- The SVM is fully available for use.
*
* CREATING
- Amazon FSx is creating the new SVM.
*
* DELETING
- Amazon FSx is deleting an existing SVM.
*
* FAILED
- Amazon FSx was unable to create the SVM.
*
* MISCONFIGURED
- The SVM is in a failed but recoverable state.
*
* PENDING
- Amazon FSx has not started creating the SVM.
*
* Describes the SVM's lifecycle status. *
*
* CREATED
- The SVM is fully available for use.
*
* CREATING
- Amazon FSx is creating the new SVM.
*
* DELETING
- Amazon FSx is deleting an existing SVM.
*
* FAILED
- Amazon FSx was unable to create the SVM.
*
* MISCONFIGURED
- The SVM is in a failed but recoverable state.
*
* PENDING
- Amazon FSx has not started creating the SVM.
*
* CREATED
- The SVM is fully available for use.
*
* CREATING
- Amazon FSx is creating the new SVM.
*
* DELETING
- Amazon FSx is deleting an existing SVM.
*
* FAILED
- Amazon FSx was unable to create the SVM.
*
* MISCONFIGURED
- The SVM is in a failed but recoverable state.
*
* PENDING
- Amazon FSx has not started creating the SVM.
*
* Describes the SVM's lifecycle status. *
*
* CREATED
- The SVM is fully available for use.
*
* CREATING
- Amazon FSx is creating the new SVM.
*
* DELETING
- Amazon FSx is deleting an existing SVM.
*
* FAILED
- Amazon FSx was unable to create the SVM.
*
* MISCONFIGURED
- The SVM is in a failed but recoverable state.
*
* PENDING
- Amazon FSx has not started creating the SVM.
*
* CREATED
- The SVM is fully available for use.
*
* CREATING
- Amazon FSx is creating the new SVM.
*
* DELETING
- Amazon FSx is deleting an existing SVM.
*
* FAILED
- Amazon FSx was unable to create the SVM.
*
* MISCONFIGURED
- The SVM is in a failed but recoverable state.
*
* PENDING
- Amazon FSx has not started creating the SVM.
*
* The name of the SVM, if provisioned. *
* * @param name * The name of the SVM, if provisioned. */ public void setName(String name) { this.name = name; } /** ** The name of the SVM, if provisioned. *
* * @return The name of the SVM, if provisioned. */ public String getName() { return this.name; } /** ** The name of the SVM, if provisioned. *
* * @param name * The name of the SVM, if provisioned. * @return Returns a reference to this object so that method calls can be chained together. */ public StorageVirtualMachine withName(String name) { setName(name); return this; } /** * @param resourceARN */ public void setResourceARN(String resourceARN) { this.resourceARN = resourceARN; } /** * @return */ public String getResourceARN() { return this.resourceARN; } /** * @param resourceARN * @return Returns a reference to this object so that method calls can be chained together. */ public StorageVirtualMachine withResourceARN(String resourceARN) { setResourceARN(resourceARN); return this; } /** ** The SVM's system generated unique ID. *
* * @param storageVirtualMachineId * The SVM's system generated unique ID. */ public void setStorageVirtualMachineId(String storageVirtualMachineId) { this.storageVirtualMachineId = storageVirtualMachineId; } /** ** The SVM's system generated unique ID. *
* * @return The SVM's system generated unique ID. */ public String getStorageVirtualMachineId() { return this.storageVirtualMachineId; } /** ** The SVM's system generated unique ID. *
* * @param storageVirtualMachineId * The SVM's system generated unique ID. * @return Returns a reference to this object so that method calls can be chained together. */ public StorageVirtualMachine withStorageVirtualMachineId(String storageVirtualMachineId) { setStorageVirtualMachineId(storageVirtualMachineId); return this; } /** ** Describes the SVM's subtype. *
* * @param subtype * Describes the SVM's subtype. * @see StorageVirtualMachineSubtype */ public void setSubtype(String subtype) { this.subtype = subtype; } /** ** Describes the SVM's subtype. *
* * @return Describes the SVM's subtype. * @see StorageVirtualMachineSubtype */ public String getSubtype() { return this.subtype; } /** ** Describes the SVM's subtype. *
* * @param subtype * Describes the SVM's subtype. * @return Returns a reference to this object so that method calls can be chained together. * @see StorageVirtualMachineSubtype */ public StorageVirtualMachine withSubtype(String subtype) { setSubtype(subtype); return this; } /** ** Describes the SVM's subtype. *
* * @param subtype * Describes the SVM's subtype. * @return Returns a reference to this object so that method calls can be chained together. * @see StorageVirtualMachineSubtype */ public StorageVirtualMachine withSubtype(StorageVirtualMachineSubtype subtype) { this.subtype = subtype.toString(); return this; } /** ** The SVM's UUID (universally unique identifier). *
* * @param uUID * The SVM's UUID (universally unique identifier). */ public void setUUID(String uUID) { this.uUID = uUID; } /** ** The SVM's UUID (universally unique identifier). *
* * @return The SVM's UUID (universally unique identifier). */ public String getUUID() { return this.uUID; } /** ** The SVM's UUID (universally unique identifier). *
* * @param uUID * The SVM's UUID (universally unique identifier). * @return Returns a reference to this object so that method calls can be chained together. */ public StorageVirtualMachine withUUID(String uUID) { setUUID(uUID); return this; } /** * @return */ public java.util.List* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *
* * @param tags * @return Returns a reference to this object so that method calls can be chained together. */ public StorageVirtualMachine withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList* Describes why the SVM lifecycle state changed. *
* * @param lifecycleTransitionReason * Describes why the SVM lifecycle state changed. */ public void setLifecycleTransitionReason(LifecycleTransitionReason lifecycleTransitionReason) { this.lifecycleTransitionReason = lifecycleTransitionReason; } /** ** Describes why the SVM lifecycle state changed. *
* * @return Describes why the SVM lifecycle state changed. */ public LifecycleTransitionReason getLifecycleTransitionReason() { return this.lifecycleTransitionReason; } /** ** Describes why the SVM lifecycle state changed. *
* * @param lifecycleTransitionReason * Describes why the SVM lifecycle state changed. * @return Returns a reference to this object so that method calls can be chained together. */ public StorageVirtualMachine withLifecycleTransitionReason(LifecycleTransitionReason lifecycleTransitionReason) { setLifecycleTransitionReason(lifecycleTransitionReason); return this; } /** ** The security style of the root volume of the SVM. *
* * @param rootVolumeSecurityStyle * The security style of the root volume of the SVM. * @see StorageVirtualMachineRootVolumeSecurityStyle */ public void setRootVolumeSecurityStyle(String rootVolumeSecurityStyle) { this.rootVolumeSecurityStyle = rootVolumeSecurityStyle; } /** ** The security style of the root volume of the SVM. *
* * @return The security style of the root volume of the SVM. * @see StorageVirtualMachineRootVolumeSecurityStyle */ public String getRootVolumeSecurityStyle() { return this.rootVolumeSecurityStyle; } /** ** The security style of the root volume of the SVM. *
* * @param rootVolumeSecurityStyle * The security style of the root volume of the SVM. * @return Returns a reference to this object so that method calls can be chained together. * @see StorageVirtualMachineRootVolumeSecurityStyle */ public StorageVirtualMachine withRootVolumeSecurityStyle(String rootVolumeSecurityStyle) { setRootVolumeSecurityStyle(rootVolumeSecurityStyle); return this; } /** ** The security style of the root volume of the SVM. *
* * @param rootVolumeSecurityStyle * The security style of the root volume of the SVM. * @return Returns a reference to this object so that method calls can be chained together. * @see StorageVirtualMachineRootVolumeSecurityStyle */ public StorageVirtualMachine withRootVolumeSecurityStyle(StorageVirtualMachineRootVolumeSecurityStyle rootVolumeSecurityStyle) { this.rootVolumeSecurityStyle = rootVolumeSecurityStyle.toString(); 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 (getActiveDirectoryConfiguration() != null) sb.append("ActiveDirectoryConfiguration: ").append(getActiveDirectoryConfiguration()).append(","); if (getCreationTime() != null) sb.append("CreationTime: ").append(getCreationTime()).append(","); if (getEndpoints() != null) sb.append("Endpoints: ").append(getEndpoints()).append(","); if (getFileSystemId() != null) sb.append("FileSystemId: ").append(getFileSystemId()).append(","); if (getLifecycle() != null) sb.append("Lifecycle: ").append(getLifecycle()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getResourceARN() != null) sb.append("ResourceARN: ").append(getResourceARN()).append(","); if (getStorageVirtualMachineId() != null) sb.append("StorageVirtualMachineId: ").append(getStorageVirtualMachineId()).append(","); if (getSubtype() != null) sb.append("Subtype: ").append(getSubtype()).append(","); if (getUUID() != null) sb.append("UUID: ").append(getUUID()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getLifecycleTransitionReason() != null) sb.append("LifecycleTransitionReason: ").append(getLifecycleTransitionReason()).append(","); if (getRootVolumeSecurityStyle() != null) sb.append("RootVolumeSecurityStyle: ").append(getRootVolumeSecurityStyle()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof StorageVirtualMachine == false) return false; StorageVirtualMachine other = (StorageVirtualMachine) obj; if (other.getActiveDirectoryConfiguration() == null ^ this.getActiveDirectoryConfiguration() == null) return false; if (other.getActiveDirectoryConfiguration() != null && other.getActiveDirectoryConfiguration().equals(this.getActiveDirectoryConfiguration()) == false) return false; if (other.getCreationTime() == null ^ this.getCreationTime() == null) return false; if (other.getCreationTime() != null && other.getCreationTime().equals(this.getCreationTime()) == false) return false; if (other.getEndpoints() == null ^ this.getEndpoints() == null) return false; if (other.getEndpoints() != null && other.getEndpoints().equals(this.getEndpoints()) == false) return false; if (other.getFileSystemId() == null ^ this.getFileSystemId() == null) return false; if (other.getFileSystemId() != null && other.getFileSystemId().equals(this.getFileSystemId()) == false) return false; if (other.getLifecycle() == null ^ this.getLifecycle() == null) return false; if (other.getLifecycle() != null && other.getLifecycle().equals(this.getLifecycle()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getResourceARN() == null ^ this.getResourceARN() == null) return false; if (other.getResourceARN() != null && other.getResourceARN().equals(this.getResourceARN()) == 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.getSubtype() == null ^ this.getSubtype() == null) return false; if (other.getSubtype() != null && other.getSubtype().equals(this.getSubtype()) == 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.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getLifecycleTransitionReason() == null ^ this.getLifecycleTransitionReason() == null) return false; if (other.getLifecycleTransitionReason() != null && other.getLifecycleTransitionReason().equals(this.getLifecycleTransitionReason()) == false) return false; if (other.getRootVolumeSecurityStyle() == null ^ this.getRootVolumeSecurityStyle() == null) return false; if (other.getRootVolumeSecurityStyle() != null && other.getRootVolumeSecurityStyle().equals(this.getRootVolumeSecurityStyle()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getActiveDirectoryConfiguration() == null) ? 0 : getActiveDirectoryConfiguration().hashCode()); hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode()); hashCode = prime * hashCode + ((getEndpoints() == null) ? 0 : getEndpoints().hashCode()); hashCode = prime * hashCode + ((getFileSystemId() == null) ? 0 : getFileSystemId().hashCode()); hashCode = prime * hashCode + ((getLifecycle() == null) ? 0 : getLifecycle().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getResourceARN() == null) ? 0 : getResourceARN().hashCode()); hashCode = prime * hashCode + ((getStorageVirtualMachineId() == null) ? 0 : getStorageVirtualMachineId().hashCode()); hashCode = prime * hashCode + ((getSubtype() == null) ? 0 : getSubtype().hashCode()); hashCode = prime * hashCode + ((getUUID() == null) ? 0 : getUUID().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getLifecycleTransitionReason() == null) ? 0 : getLifecycleTransitionReason().hashCode()); hashCode = prime * hashCode + ((getRootVolumeSecurityStyle() == null) ? 0 : getRootVolumeSecurityStyle().hashCode()); return hashCode; } @Override public StorageVirtualMachine clone() { try { return (StorageVirtualMachine) 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.StorageVirtualMachineMarshaller.getInstance().marshall(this, protocolMarshaller); } }