/* * 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.appflow.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** * <p> * The connector-specific profile properties required when using SAPOData. * </p> * * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/appflow-2020-08-23/SAPODataConnectorProfileProperties" * target="_top">AWS API Documentation</a> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class SAPODataConnectorProfileProperties implements Serializable, Cloneable, StructuredPojo { /** * <p> * The location of the SAPOData resource. * </p> */ private String applicationHostUrl; /** * <p> * The application path to catalog service. * </p> */ private String applicationServicePath; /** * <p> * The port number of the SAPOData instance. * </p> */ private Integer portNumber; /** * <p> * The client number for the client creating the connection. * </p> */ private String clientNumber; /** * <p> * The logon language of SAPOData instance. * </p> */ private String logonLanguage; /** * <p> * The SAPOData Private Link service name to be used for private data transfers. * </p> */ private String privateLinkServiceName; /** * <p> * The SAPOData OAuth properties required for OAuth type authentication. * </p> */ private OAuthProperties oAuthProperties; /** * <p> * If you set this parameter to <code>true</code>, Amazon AppFlow bypasses the single sign-on (SSO) settings in your * SAP account when it accesses your SAP OData instance. * </p> * <p> * Whether you need this option depends on the types of credentials that you applied to your SAP OData connection * profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon AppFlow from * connecting to your account with your username and password. In this case, bypassing SSO makes it possible for * Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, this parameter has no * affect. * </p> */ private Boolean disableSSO; /** * <p> * The location of the SAPOData resource. * </p> * * @param applicationHostUrl * The location of the SAPOData resource. */ public void setApplicationHostUrl(String applicationHostUrl) { this.applicationHostUrl = applicationHostUrl; } /** * <p> * The location of the SAPOData resource. * </p> * * @return The location of the SAPOData resource. */ public String getApplicationHostUrl() { return this.applicationHostUrl; } /** * <p> * The location of the SAPOData resource. * </p> * * @param applicationHostUrl * The location of the SAPOData resource. * @return Returns a reference to this object so that method calls can be chained together. */ public SAPODataConnectorProfileProperties withApplicationHostUrl(String applicationHostUrl) { setApplicationHostUrl(applicationHostUrl); return this; } /** * <p> * The application path to catalog service. * </p> * * @param applicationServicePath * The application path to catalog service. */ public void setApplicationServicePath(String applicationServicePath) { this.applicationServicePath = applicationServicePath; } /** * <p> * The application path to catalog service. * </p> * * @return The application path to catalog service. */ public String getApplicationServicePath() { return this.applicationServicePath; } /** * <p> * The application path to catalog service. * </p> * * @param applicationServicePath * The application path to catalog service. * @return Returns a reference to this object so that method calls can be chained together. */ public SAPODataConnectorProfileProperties withApplicationServicePath(String applicationServicePath) { setApplicationServicePath(applicationServicePath); return this; } /** * <p> * The port number of the SAPOData instance. * </p> * * @param portNumber * The port number of the SAPOData instance. */ public void setPortNumber(Integer portNumber) { this.portNumber = portNumber; } /** * <p> * The port number of the SAPOData instance. * </p> * * @return The port number of the SAPOData instance. */ public Integer getPortNumber() { return this.portNumber; } /** * <p> * The port number of the SAPOData instance. * </p> * * @param portNumber * The port number of the SAPOData instance. * @return Returns a reference to this object so that method calls can be chained together. */ public SAPODataConnectorProfileProperties withPortNumber(Integer portNumber) { setPortNumber(portNumber); return this; } /** * <p> * The client number for the client creating the connection. * </p> * * @param clientNumber * The client number for the client creating the connection. */ public void setClientNumber(String clientNumber) { this.clientNumber = clientNumber; } /** * <p> * The client number for the client creating the connection. * </p> * * @return The client number for the client creating the connection. */ public String getClientNumber() { return this.clientNumber; } /** * <p> * The client number for the client creating the connection. * </p> * * @param clientNumber * The client number for the client creating the connection. * @return Returns a reference to this object so that method calls can be chained together. */ public SAPODataConnectorProfileProperties withClientNumber(String clientNumber) { setClientNumber(clientNumber); return this; } /** * <p> * The logon language of SAPOData instance. * </p> * * @param logonLanguage * The logon language of SAPOData instance. */ public void setLogonLanguage(String logonLanguage) { this.logonLanguage = logonLanguage; } /** * <p> * The logon language of SAPOData instance. * </p> * * @return The logon language of SAPOData instance. */ public String getLogonLanguage() { return this.logonLanguage; } /** * <p> * The logon language of SAPOData instance. * </p> * * @param logonLanguage * The logon language of SAPOData instance. * @return Returns a reference to this object so that method calls can be chained together. */ public SAPODataConnectorProfileProperties withLogonLanguage(String logonLanguage) { setLogonLanguage(logonLanguage); return this; } /** * <p> * The SAPOData Private Link service name to be used for private data transfers. * </p> * * @param privateLinkServiceName * The SAPOData Private Link service name to be used for private data transfers. */ public void setPrivateLinkServiceName(String privateLinkServiceName) { this.privateLinkServiceName = privateLinkServiceName; } /** * <p> * The SAPOData Private Link service name to be used for private data transfers. * </p> * * @return The SAPOData Private Link service name to be used for private data transfers. */ public String getPrivateLinkServiceName() { return this.privateLinkServiceName; } /** * <p> * The SAPOData Private Link service name to be used for private data transfers. * </p> * * @param privateLinkServiceName * The SAPOData Private Link service name to be used for private data transfers. * @return Returns a reference to this object so that method calls can be chained together. */ public SAPODataConnectorProfileProperties withPrivateLinkServiceName(String privateLinkServiceName) { setPrivateLinkServiceName(privateLinkServiceName); return this; } /** * <p> * The SAPOData OAuth properties required for OAuth type authentication. * </p> * * @param oAuthProperties * The SAPOData OAuth properties required for OAuth type authentication. */ public void setOAuthProperties(OAuthProperties oAuthProperties) { this.oAuthProperties = oAuthProperties; } /** * <p> * The SAPOData OAuth properties required for OAuth type authentication. * </p> * * @return The SAPOData OAuth properties required for OAuth type authentication. */ public OAuthProperties getOAuthProperties() { return this.oAuthProperties; } /** * <p> * The SAPOData OAuth properties required for OAuth type authentication. * </p> * * @param oAuthProperties * The SAPOData OAuth properties required for OAuth type authentication. * @return Returns a reference to this object so that method calls can be chained together. */ public SAPODataConnectorProfileProperties withOAuthProperties(OAuthProperties oAuthProperties) { setOAuthProperties(oAuthProperties); return this; } /** * <p> * If you set this parameter to <code>true</code>, Amazon AppFlow bypasses the single sign-on (SSO) settings in your * SAP account when it accesses your SAP OData instance. * </p> * <p> * Whether you need this option depends on the types of credentials that you applied to your SAP OData connection * profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon AppFlow from * connecting to your account with your username and password. In this case, bypassing SSO makes it possible for * Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, this parameter has no * affect. * </p> * * @param disableSSO * If you set this parameter to <code>true</code>, Amazon AppFlow bypasses the single sign-on (SSO) settings * in your SAP account when it accesses your SAP OData instance.</p> * <p> * Whether you need this option depends on the types of credentials that you applied to your SAP OData * connection profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon * AppFlow from connecting to your account with your username and password. In this case, bypassing SSO makes * it possible for Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, * this parameter has no affect. */ public void setDisableSSO(Boolean disableSSO) { this.disableSSO = disableSSO; } /** * <p> * If you set this parameter to <code>true</code>, Amazon AppFlow bypasses the single sign-on (SSO) settings in your * SAP account when it accesses your SAP OData instance. * </p> * <p> * Whether you need this option depends on the types of credentials that you applied to your SAP OData connection * profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon AppFlow from * connecting to your account with your username and password. In this case, bypassing SSO makes it possible for * Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, this parameter has no * affect. * </p> * * @return If you set this parameter to <code>true</code>, Amazon AppFlow bypasses the single sign-on (SSO) settings * in your SAP account when it accesses your SAP OData instance.</p> * <p> * Whether you need this option depends on the types of credentials that you applied to your SAP OData * connection profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon * AppFlow from connecting to your account with your username and password. In this case, bypassing SSO * makes it possible for Amazon AppFlow to connect successfully. However, if your profile uses OAuth * credentials, this parameter has no affect. */ public Boolean getDisableSSO() { return this.disableSSO; } /** * <p> * If you set this parameter to <code>true</code>, Amazon AppFlow bypasses the single sign-on (SSO) settings in your * SAP account when it accesses your SAP OData instance. * </p> * <p> * Whether you need this option depends on the types of credentials that you applied to your SAP OData connection * profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon AppFlow from * connecting to your account with your username and password. In this case, bypassing SSO makes it possible for * Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, this parameter has no * affect. * </p> * * @param disableSSO * If you set this parameter to <code>true</code>, Amazon AppFlow bypasses the single sign-on (SSO) settings * in your SAP account when it accesses your SAP OData instance.</p> * <p> * Whether you need this option depends on the types of credentials that you applied to your SAP OData * connection profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon * AppFlow from connecting to your account with your username and password. In this case, bypassing SSO makes * it possible for Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, * this parameter has no affect. * @return Returns a reference to this object so that method calls can be chained together. */ public SAPODataConnectorProfileProperties withDisableSSO(Boolean disableSSO) { setDisableSSO(disableSSO); return this; } /** * <p> * If you set this parameter to <code>true</code>, Amazon AppFlow bypasses the single sign-on (SSO) settings in your * SAP account when it accesses your SAP OData instance. * </p> * <p> * Whether you need this option depends on the types of credentials that you applied to your SAP OData connection * profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon AppFlow from * connecting to your account with your username and password. In this case, bypassing SSO makes it possible for * Amazon AppFlow to connect successfully. However, if your profile uses OAuth credentials, this parameter has no * affect. * </p> * * @return If you set this parameter to <code>true</code>, Amazon AppFlow bypasses the single sign-on (SSO) settings * in your SAP account when it accesses your SAP OData instance.</p> * <p> * Whether you need this option depends on the types of credentials that you applied to your SAP OData * connection profile. If your profile uses basic authentication credentials, SAP SSO can prevent Amazon * AppFlow from connecting to your account with your username and password. In this case, bypassing SSO * makes it possible for Amazon AppFlow to connect successfully. However, if your profile uses OAuth * credentials, this parameter has no affect. */ public Boolean isDisableSSO() { return this.disableSSO; } /** * 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 (getApplicationHostUrl() != null) sb.append("ApplicationHostUrl: ").append(getApplicationHostUrl()).append(","); if (getApplicationServicePath() != null) sb.append("ApplicationServicePath: ").append(getApplicationServicePath()).append(","); if (getPortNumber() != null) sb.append("PortNumber: ").append(getPortNumber()).append(","); if (getClientNumber() != null) sb.append("ClientNumber: ").append(getClientNumber()).append(","); if (getLogonLanguage() != null) sb.append("LogonLanguage: ").append(getLogonLanguage()).append(","); if (getPrivateLinkServiceName() != null) sb.append("PrivateLinkServiceName: ").append(getPrivateLinkServiceName()).append(","); if (getOAuthProperties() != null) sb.append("OAuthProperties: ").append(getOAuthProperties()).append(","); if (getDisableSSO() != null) sb.append("DisableSSO: ").append(getDisableSSO()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof SAPODataConnectorProfileProperties == false) return false; SAPODataConnectorProfileProperties other = (SAPODataConnectorProfileProperties) obj; if (other.getApplicationHostUrl() == null ^ this.getApplicationHostUrl() == null) return false; if (other.getApplicationHostUrl() != null && other.getApplicationHostUrl().equals(this.getApplicationHostUrl()) == false) return false; if (other.getApplicationServicePath() == null ^ this.getApplicationServicePath() == null) return false; if (other.getApplicationServicePath() != null && other.getApplicationServicePath().equals(this.getApplicationServicePath()) == false) return false; if (other.getPortNumber() == null ^ this.getPortNumber() == null) return false; if (other.getPortNumber() != null && other.getPortNumber().equals(this.getPortNumber()) == false) return false; if (other.getClientNumber() == null ^ this.getClientNumber() == null) return false; if (other.getClientNumber() != null && other.getClientNumber().equals(this.getClientNumber()) == false) return false; if (other.getLogonLanguage() == null ^ this.getLogonLanguage() == null) return false; if (other.getLogonLanguage() != null && other.getLogonLanguage().equals(this.getLogonLanguage()) == false) return false; if (other.getPrivateLinkServiceName() == null ^ this.getPrivateLinkServiceName() == null) return false; if (other.getPrivateLinkServiceName() != null && other.getPrivateLinkServiceName().equals(this.getPrivateLinkServiceName()) == false) return false; if (other.getOAuthProperties() == null ^ this.getOAuthProperties() == null) return false; if (other.getOAuthProperties() != null && other.getOAuthProperties().equals(this.getOAuthProperties()) == false) return false; if (other.getDisableSSO() == null ^ this.getDisableSSO() == null) return false; if (other.getDisableSSO() != null && other.getDisableSSO().equals(this.getDisableSSO()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getApplicationHostUrl() == null) ? 0 : getApplicationHostUrl().hashCode()); hashCode = prime * hashCode + ((getApplicationServicePath() == null) ? 0 : getApplicationServicePath().hashCode()); hashCode = prime * hashCode + ((getPortNumber() == null) ? 0 : getPortNumber().hashCode()); hashCode = prime * hashCode + ((getClientNumber() == null) ? 0 : getClientNumber().hashCode()); hashCode = prime * hashCode + ((getLogonLanguage() == null) ? 0 : getLogonLanguage().hashCode()); hashCode = prime * hashCode + ((getPrivateLinkServiceName() == null) ? 0 : getPrivateLinkServiceName().hashCode()); hashCode = prime * hashCode + ((getOAuthProperties() == null) ? 0 : getOAuthProperties().hashCode()); hashCode = prime * hashCode + ((getDisableSSO() == null) ? 0 : getDisableSSO().hashCode()); return hashCode; } @Override public SAPODataConnectorProfileProperties clone() { try { return (SAPODataConnectorProfileProperties) 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.appflow.model.transform.SAPODataConnectorProfilePropertiesMarshaller.getInstance().marshall(this, protocolMarshaller); } }