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

com.amazonaws.services.databasemigrationservice.model.MigrationProject Maven / Gradle / Ivy

/*
 * 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.databasemigrationservice.model;

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

/**
 * 

* Provides information that defines a migration project. *

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

* The name of the migration project. *

*/ private String migrationProjectName; /** *

* The ARN string that uniquely identifies the migration project. *

*/ private String migrationProjectArn; /** *

* The time when the migration project was created. *

*/ private java.util.Date migrationProjectCreationTime; /** *

* Information about the source data provider, including the name or ARN, and Secrets Manager parameters. *

*/ private java.util.List sourceDataProviderDescriptors; /** *

* Information about the target data provider, including the name or ARN, and Secrets Manager parameters. *

*/ private java.util.List targetDataProviderDescriptors; /** *

* The Amazon Resource Name (ARN) of the instance profile for your migration project. *

*/ private String instanceProfileArn; /** *

* The name of the associated instance profile. *

*/ private String instanceProfileName; /** *

* The settings in JSON format for migration rules. Migration rules make it possible for you to change the object * names according to the rules that you specify. For example, you can change an object name to lowercase or * uppercase, add or remove a prefix or suffix, or rename objects. *

*/ private String transformationRules; /** *

* A user-friendly description of the migration project. *

*/ private String description; /** *

* The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN. *

*/ private SCApplicationAttributes schemaConversionApplicationAttributes; /** *

* The name of the migration project. *

* * @param migrationProjectName * The name of the migration project. */ public void setMigrationProjectName(String migrationProjectName) { this.migrationProjectName = migrationProjectName; } /** *

* The name of the migration project. *

* * @return The name of the migration project. */ public String getMigrationProjectName() { return this.migrationProjectName; } /** *

* The name of the migration project. *

* * @param migrationProjectName * The name of the migration project. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withMigrationProjectName(String migrationProjectName) { setMigrationProjectName(migrationProjectName); return this; } /** *

* The ARN string that uniquely identifies the migration project. *

* * @param migrationProjectArn * The ARN string that uniquely identifies the migration project. */ public void setMigrationProjectArn(String migrationProjectArn) { this.migrationProjectArn = migrationProjectArn; } /** *

* The ARN string that uniquely identifies the migration project. *

* * @return The ARN string that uniquely identifies the migration project. */ public String getMigrationProjectArn() { return this.migrationProjectArn; } /** *

* The ARN string that uniquely identifies the migration project. *

* * @param migrationProjectArn * The ARN string that uniquely identifies the migration project. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withMigrationProjectArn(String migrationProjectArn) { setMigrationProjectArn(migrationProjectArn); return this; } /** *

* The time when the migration project was created. *

* * @param migrationProjectCreationTime * The time when the migration project was created. */ public void setMigrationProjectCreationTime(java.util.Date migrationProjectCreationTime) { this.migrationProjectCreationTime = migrationProjectCreationTime; } /** *

* The time when the migration project was created. *

* * @return The time when the migration project was created. */ public java.util.Date getMigrationProjectCreationTime() { return this.migrationProjectCreationTime; } /** *

* The time when the migration project was created. *

* * @param migrationProjectCreationTime * The time when the migration project was created. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withMigrationProjectCreationTime(java.util.Date migrationProjectCreationTime) { setMigrationProjectCreationTime(migrationProjectCreationTime); return this; } /** *

* Information about the source data provider, including the name or ARN, and Secrets Manager parameters. *

* * @return Information about the source data provider, including the name or ARN, and Secrets Manager parameters. */ public java.util.List getSourceDataProviderDescriptors() { return sourceDataProviderDescriptors; } /** *

* Information about the source data provider, including the name or ARN, and Secrets Manager parameters. *

* * @param sourceDataProviderDescriptors * Information about the source data provider, including the name or ARN, and Secrets Manager parameters. */ public void setSourceDataProviderDescriptors(java.util.Collection sourceDataProviderDescriptors) { if (sourceDataProviderDescriptors == null) { this.sourceDataProviderDescriptors = null; return; } this.sourceDataProviderDescriptors = new java.util.ArrayList(sourceDataProviderDescriptors); } /** *

* Information about the source data provider, including the name or ARN, and Secrets Manager parameters. *

*

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

* * @param sourceDataProviderDescriptors * Information about the source data provider, including the name or ARN, and Secrets Manager parameters. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withSourceDataProviderDescriptors(DataProviderDescriptor... sourceDataProviderDescriptors) { if (this.sourceDataProviderDescriptors == null) { setSourceDataProviderDescriptors(new java.util.ArrayList(sourceDataProviderDescriptors.length)); } for (DataProviderDescriptor ele : sourceDataProviderDescriptors) { this.sourceDataProviderDescriptors.add(ele); } return this; } /** *

* Information about the source data provider, including the name or ARN, and Secrets Manager parameters. *

* * @param sourceDataProviderDescriptors * Information about the source data provider, including the name or ARN, and Secrets Manager parameters. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withSourceDataProviderDescriptors(java.util.Collection sourceDataProviderDescriptors) { setSourceDataProviderDescriptors(sourceDataProviderDescriptors); return this; } /** *

* Information about the target data provider, including the name or ARN, and Secrets Manager parameters. *

* * @return Information about the target data provider, including the name or ARN, and Secrets Manager parameters. */ public java.util.List getTargetDataProviderDescriptors() { return targetDataProviderDescriptors; } /** *

* Information about the target data provider, including the name or ARN, and Secrets Manager parameters. *

* * @param targetDataProviderDescriptors * Information about the target data provider, including the name or ARN, and Secrets Manager parameters. */ public void setTargetDataProviderDescriptors(java.util.Collection targetDataProviderDescriptors) { if (targetDataProviderDescriptors == null) { this.targetDataProviderDescriptors = null; return; } this.targetDataProviderDescriptors = new java.util.ArrayList(targetDataProviderDescriptors); } /** *

* Information about the target data provider, including the name or ARN, and Secrets Manager parameters. *

*

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

* * @param targetDataProviderDescriptors * Information about the target data provider, including the name or ARN, and Secrets Manager parameters. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withTargetDataProviderDescriptors(DataProviderDescriptor... targetDataProviderDescriptors) { if (this.targetDataProviderDescriptors == null) { setTargetDataProviderDescriptors(new java.util.ArrayList(targetDataProviderDescriptors.length)); } for (DataProviderDescriptor ele : targetDataProviderDescriptors) { this.targetDataProviderDescriptors.add(ele); } return this; } /** *

* Information about the target data provider, including the name or ARN, and Secrets Manager parameters. *

* * @param targetDataProviderDescriptors * Information about the target data provider, including the name or ARN, and Secrets Manager parameters. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withTargetDataProviderDescriptors(java.util.Collection targetDataProviderDescriptors) { setTargetDataProviderDescriptors(targetDataProviderDescriptors); return this; } /** *

* The Amazon Resource Name (ARN) of the instance profile for your migration project. *

* * @param instanceProfileArn * The Amazon Resource Name (ARN) of the instance profile for your migration project. */ public void setInstanceProfileArn(String instanceProfileArn) { this.instanceProfileArn = instanceProfileArn; } /** *

* The Amazon Resource Name (ARN) of the instance profile for your migration project. *

* * @return The Amazon Resource Name (ARN) of the instance profile for your migration project. */ public String getInstanceProfileArn() { return this.instanceProfileArn; } /** *

* The Amazon Resource Name (ARN) of the instance profile for your migration project. *

* * @param instanceProfileArn * The Amazon Resource Name (ARN) of the instance profile for your migration project. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withInstanceProfileArn(String instanceProfileArn) { setInstanceProfileArn(instanceProfileArn); return this; } /** *

* The name of the associated instance profile. *

* * @param instanceProfileName * The name of the associated instance profile. */ public void setInstanceProfileName(String instanceProfileName) { this.instanceProfileName = instanceProfileName; } /** *

* The name of the associated instance profile. *

* * @return The name of the associated instance profile. */ public String getInstanceProfileName() { return this.instanceProfileName; } /** *

* The name of the associated instance profile. *

* * @param instanceProfileName * The name of the associated instance profile. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withInstanceProfileName(String instanceProfileName) { setInstanceProfileName(instanceProfileName); return this; } /** *

* The settings in JSON format for migration rules. Migration rules make it possible for you to change the object * names according to the rules that you specify. For example, you can change an object name to lowercase or * uppercase, add or remove a prefix or suffix, or rename objects. *

* * @param transformationRules * The settings in JSON format for migration rules. Migration rules make it possible for you to change the * object names according to the rules that you specify. For example, you can change an object name to * lowercase or uppercase, add or remove a prefix or suffix, or rename objects. */ public void setTransformationRules(String transformationRules) { this.transformationRules = transformationRules; } /** *

* The settings in JSON format for migration rules. Migration rules make it possible for you to change the object * names according to the rules that you specify. For example, you can change an object name to lowercase or * uppercase, add or remove a prefix or suffix, or rename objects. *

* * @return The settings in JSON format for migration rules. Migration rules make it possible for you to change the * object names according to the rules that you specify. For example, you can change an object name to * lowercase or uppercase, add or remove a prefix or suffix, or rename objects. */ public String getTransformationRules() { return this.transformationRules; } /** *

* The settings in JSON format for migration rules. Migration rules make it possible for you to change the object * names according to the rules that you specify. For example, you can change an object name to lowercase or * uppercase, add or remove a prefix or suffix, or rename objects. *

* * @param transformationRules * The settings in JSON format for migration rules. Migration rules make it possible for you to change the * object names according to the rules that you specify. For example, you can change an object name to * lowercase or uppercase, add or remove a prefix or suffix, or rename objects. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withTransformationRules(String transformationRules) { setTransformationRules(transformationRules); return this; } /** *

* A user-friendly description of the migration project. *

* * @param description * A user-friendly description of the migration project. */ public void setDescription(String description) { this.description = description; } /** *

* A user-friendly description of the migration project. *

* * @return A user-friendly description of the migration project. */ public String getDescription() { return this.description; } /** *

* A user-friendly description of the migration project. *

* * @param description * A user-friendly description of the migration project. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withDescription(String description) { setDescription(description); return this; } /** *

* The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN. *

* * @param schemaConversionApplicationAttributes * The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN. */ public void setSchemaConversionApplicationAttributes(SCApplicationAttributes schemaConversionApplicationAttributes) { this.schemaConversionApplicationAttributes = schemaConversionApplicationAttributes; } /** *

* The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN. *

* * @return The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN. */ public SCApplicationAttributes getSchemaConversionApplicationAttributes() { return this.schemaConversionApplicationAttributes; } /** *

* The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN. *

* * @param schemaConversionApplicationAttributes * The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN. * @return Returns a reference to this object so that method calls can be chained together. */ public MigrationProject withSchemaConversionApplicationAttributes(SCApplicationAttributes schemaConversionApplicationAttributes) { setSchemaConversionApplicationAttributes(schemaConversionApplicationAttributes); 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 (getMigrationProjectName() != null) sb.append("MigrationProjectName: ").append(getMigrationProjectName()).append(","); if (getMigrationProjectArn() != null) sb.append("MigrationProjectArn: ").append(getMigrationProjectArn()).append(","); if (getMigrationProjectCreationTime() != null) sb.append("MigrationProjectCreationTime: ").append(getMigrationProjectCreationTime()).append(","); if (getSourceDataProviderDescriptors() != null) sb.append("SourceDataProviderDescriptors: ").append(getSourceDataProviderDescriptors()).append(","); if (getTargetDataProviderDescriptors() != null) sb.append("TargetDataProviderDescriptors: ").append(getTargetDataProviderDescriptors()).append(","); if (getInstanceProfileArn() != null) sb.append("InstanceProfileArn: ").append(getInstanceProfileArn()).append(","); if (getInstanceProfileName() != null) sb.append("InstanceProfileName: ").append(getInstanceProfileName()).append(","); if (getTransformationRules() != null) sb.append("TransformationRules: ").append(getTransformationRules()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getSchemaConversionApplicationAttributes() != null) sb.append("SchemaConversionApplicationAttributes: ").append(getSchemaConversionApplicationAttributes()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof MigrationProject == false) return false; MigrationProject other = (MigrationProject) obj; if (other.getMigrationProjectName() == null ^ this.getMigrationProjectName() == null) return false; if (other.getMigrationProjectName() != null && other.getMigrationProjectName().equals(this.getMigrationProjectName()) == false) return false; if (other.getMigrationProjectArn() == null ^ this.getMigrationProjectArn() == null) return false; if (other.getMigrationProjectArn() != null && other.getMigrationProjectArn().equals(this.getMigrationProjectArn()) == false) return false; if (other.getMigrationProjectCreationTime() == null ^ this.getMigrationProjectCreationTime() == null) return false; if (other.getMigrationProjectCreationTime() != null && other.getMigrationProjectCreationTime().equals(this.getMigrationProjectCreationTime()) == false) return false; if (other.getSourceDataProviderDescriptors() == null ^ this.getSourceDataProviderDescriptors() == null) return false; if (other.getSourceDataProviderDescriptors() != null && other.getSourceDataProviderDescriptors().equals(this.getSourceDataProviderDescriptors()) == false) return false; if (other.getTargetDataProviderDescriptors() == null ^ this.getTargetDataProviderDescriptors() == null) return false; if (other.getTargetDataProviderDescriptors() != null && other.getTargetDataProviderDescriptors().equals(this.getTargetDataProviderDescriptors()) == false) return false; if (other.getInstanceProfileArn() == null ^ this.getInstanceProfileArn() == null) return false; if (other.getInstanceProfileArn() != null && other.getInstanceProfileArn().equals(this.getInstanceProfileArn()) == false) return false; if (other.getInstanceProfileName() == null ^ this.getInstanceProfileName() == null) return false; if (other.getInstanceProfileName() != null && other.getInstanceProfileName().equals(this.getInstanceProfileName()) == false) return false; if (other.getTransformationRules() == null ^ this.getTransformationRules() == null) return false; if (other.getTransformationRules() != null && other.getTransformationRules().equals(this.getTransformationRules()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getSchemaConversionApplicationAttributes() == null ^ this.getSchemaConversionApplicationAttributes() == null) return false; if (other.getSchemaConversionApplicationAttributes() != null && other.getSchemaConversionApplicationAttributes().equals(this.getSchemaConversionApplicationAttributes()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getMigrationProjectName() == null) ? 0 : getMigrationProjectName().hashCode()); hashCode = prime * hashCode + ((getMigrationProjectArn() == null) ? 0 : getMigrationProjectArn().hashCode()); hashCode = prime * hashCode + ((getMigrationProjectCreationTime() == null) ? 0 : getMigrationProjectCreationTime().hashCode()); hashCode = prime * hashCode + ((getSourceDataProviderDescriptors() == null) ? 0 : getSourceDataProviderDescriptors().hashCode()); hashCode = prime * hashCode + ((getTargetDataProviderDescriptors() == null) ? 0 : getTargetDataProviderDescriptors().hashCode()); hashCode = prime * hashCode + ((getInstanceProfileArn() == null) ? 0 : getInstanceProfileArn().hashCode()); hashCode = prime * hashCode + ((getInstanceProfileName() == null) ? 0 : getInstanceProfileName().hashCode()); hashCode = prime * hashCode + ((getTransformationRules() == null) ? 0 : getTransformationRules().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getSchemaConversionApplicationAttributes() == null) ? 0 : getSchemaConversionApplicationAttributes().hashCode()); return hashCode; } @Override public MigrationProject clone() { try { return (MigrationProject) 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.databasemigrationservice.model.transform.MigrationProjectMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy