Designer 10.15 | Cloudstreams Development Help | CloudStreams Provider Project | Editing the Connection Properties
 
Editing the Connection Properties
 
Adding Properties
Editing Properties
Removing Properties
Start and Stop Sequences for REST-based providers
Start and Stop Sequences for SOAP-based providers
In this screen, you can define the required configurations to initiate communication with the SaaS provider. In case you want to change the default values for the properties, you can edit them using the respective screens. In the Connection screen you can override the system defined properties default value and can also add, edit and remove user defined properties
On the Authentication screen, you can select different authentication types, override the system defined property default value and can also add, edit, and remove the user-defined properties.
Note:
If you change the Authentication Type, all modifications and related references done to the previous authentication type will be lost.
For Protocol, Request Headers, and Custom screens, you can override the system defined property default value and can also add, edit, and remove the user-defined properties.
You can also add a Start Sequence and Stop Sequence if a provider requires a Start/Stop Sequence. See Start and Stop Sequences for REST-based providers and Start and Stop Sequences for SOAP-based providers for more information on how to configure start and stop sequences.
The connection properties are described below:
Name
The available fields are...
Connection
*Server URL: The native provider endpoint target for the connection configuration. The default configuration field provided with the connection factory is cn.providerURL.
*Min Pool Connections: The minimum number of socket connections to reserve for a connection configuration alias.
*Max Pool Connections: The maximum number of socket connections to reserve for a connection configuration alias.
*Connection TimeOut: The number of milliseconds a connection attempt will wait before giving up. (0 will wait indefinitely).
*Socket Read Timeout: The number of milliseconds in which the the client must read a response message from the server. (0 will wait indefinitely).
*Use Stale Checking: If true, the connection factory performs additional processing to test the socket to see if it is still functional each time it is used.
*Validate After Inactivity: This field is used in conjunction with the Use Stale Checking field to control the period of inactivity after which persistent connections must be revalidated prior to being leased. This field is considered only if the Use Stale Checking field is set to true, else this field is ignored.
*Connection Retry Count: How many times should the connection factory attempt to execute a failed invocation.
*Retry On Response Failure: If true, the retry mechanism will be used for failed responses even if the request was sent successfully.
*Use TCP NoDelay: If true, do not use Nagles algorithm as a socket optimization technique.
*Socket Linger: Determines how quickly a socket should close.
*Socket Buffer Size: The size of the read and write socket buffers, in bytes.
*Socket Reuse Address: If true, the socket will be reused even if it is in TIME_WAIT due to a previous socket closure.
*Hostname Verifier: Fully qualified class name that implements the Apache HC org.apache.http.conn.ssl.X509HostnameVerifier interface. Guards against man-in-the-middle attacks.
*Enable Compression: If true, the request will be compressed using the gzip compression technique.
*Proxy Server Alias: The alias to a web proxy server configuration in Integration Server.
*Trust Store Alias: Alias for the Integration Server trust store configuration.
*Session Token: Session token for a stateful session.
Protocol
*HTTP Content Character Set: The encoding to use for the request message.
*HTTP Protocol Version: The HTTP version (HTTP/0.9, HTTP/1.0 or HTTP/1.1. The default value for the connection factory is HTTP/1.1.
*User Agent: The value to the connection configuration will send for the User-Agent request header.
*Use Expect Continue: If true, use the Expect/Continue HTTP/1.1 handshake and send the Expect request header.
*Use Chunking: If true, use HTTP/1.1 chunking, using a chunk size that matches the socket buffer size.
*Follow Server Redirects: If true, follow server redirects.
*Allow Circular Redirects: If true, allow circular redirects.
*Server Redirect Maximum Tries: Maximum number of times to follow a server redirect.
Request Headers
*Request Header Names: An array of request header names to include for this connection configuration. The value should be a comma-delimited list of header names; for example Content-Type,SOAPAction.
*Request Header Values: An array of request header values to include for this connection configuration. The value should be comma-delimited list of values in the same order as the header names; for example, text/xml,login.
custom
Click the icon to add a custom configuration group. The Configuration Group dialog box appears. You can select the Protocol and Request Headers configuration groups if you have not selected them while creating a connector.
To configure the connection authentication, select the Authentication tab:
1. Select the Authentication Type from the drop-down list. If you change an Authentication type, all modifications and related references done to the previous Authentication type will be lost. By default, it shows the authentication you had selected while creating the connector.
2. Select Show Advanced properties to view more properties for the selected authentication type.
If the Authentication Type is...
The available properties are...
Credentials
*Username: The username credentials for the current connection configuration.
*Password: The password credentials for the current connection configuration
*Authorization Type: The string identifying the authentication protocol scheme to use for the connection configuration.
*Preemptive Auth: If true, basic auth credentials will be included when a request is sent. (It will not wait for a 401 response challenge.)
*Domain Name: The domain/security realm for the current connection configuration.
*Keystore Alias: Alias for the Integration Server key store configuration.
*Client Key Alias: Alias to reference a key inside a key store file.
OAuth V1.0a
*Consumer ID: The 'Consumer Key' issued by the Service Provider and used by the consumer to identify itself to the Service Provider.
*Consumer Secret: A secret used by the Consumer to establish ownership of the 'Consumer Key'.
*Access Token: A value used by the Consumer to gain access to the Protected Resources on behalf of the User, instead of using the User's Service Provider credentials.
*Access Token Secret: A secret used by the Consumer to establish ownership of a given 'Access Token'.
OAuth v2.0
*Consumer ID: A 'client identifier' issued to the client to identify itself to the authorization server.
*Consumer Secret: A secret matching to the 'client identifier'.
*Access Token: A token used by the client to make authenticated requests on behalf of the resource owner.
*Instance URL: Optional field, used to specify a run-time host, if applicable. This may be required in some backends like Salesforce.
*Refresh Access Token: Option to refresh the 'Access Token'. OAuth 2.0 access tokens typically have a very short lifetime. When an access token expires, the OAuth profile does not automatically refresh the expired access token. Select this option if you want an expired access token to be refreshed automatically. If you select this option, you must also specify the relevant refresh parameters. The access token is refreshed whenever the session expires. Session expiration is handled according to the setting of the Session Management property in your connection. Note that if Session Management is set to "none", then you must manually modify the access token in the OAuth alias. (The Refresh Access Token option will not be applicable in this case). Default is 'false'.
*Refresh Token: A token used by the client to obtain a new access token without having to involve the resource owner.
*Refresh URL: The provider specific URL to refresh an 'Access Token'. This is required when 'Refresh Access Token' is enabled (configured to 'true') and ‘Refresh URL Request’ is configured to 'URL Query String' or 'Body Query String'.
*Refresh URL Request: Options for sending the parameters in the 'Access Token' refresh request. The options are 'URL Query String', 'Body Query String', and 'Custom ESB Service'. Default is 'Body Query String'.
*URL Query String: The refresh request parameters, for example, refresh_token, grant_type, and so on, and their values are sent as query strings in the URL of the POST request.
Example:
www.examplebackend.com/o/
oauth2/token?grant_type=refresh_token&client_id=
842428530070-pubfebfgfqkgj6t54m4ns6&client_secret=
4adQT95cAtUxWINbDxGP9SJ4&refresh_token=
1%2Fn072P4BXpuNObjCLUtiZTc4fMH6YersmxBIv8QN3bhw
*Body Query String: The refresh request parameters, for example, refresh_token, grant_type, and so on, and their values are sent as query strings in the body of the POST request.
Example:
POST /o/oauth2/token HTTP/1.1
Host: accounts.backend.com
Content-length: 163
content-type: application/x-www-form-urlencoded

client_secret4adQT95cAtUxWINbDxGP9SJ4&grant_type=
refresh_token&refresh_token=1%2Fn072P4BXpuNObj
CLUtiZTc4fMH6YersmxBIv8QN3bhw&
client_id=407408718192
*Custom ESB Service: If the backend requires the refresh request in a custom format, for example, requests which need more parameters than the ones specified by OAuth v2.0, or the backend uses some custom way of organizing parameters, or expects some other HTTP method request (other than POST), use the ‘Custom ESB Service’ option.
Refresh Custom ESB Service: User implemented service for refreshing the 'Access Token'. This is required when the 'Custom ESB Service' option is selected as the 'Refresh URL Request'. This service must strictly conform to the specification:
- wm.cloudstreams.service.common.lookup.
specs:oauthTokenRefreshServiceSpec
Authorization Header Prefix: The prefix to be used with the 'Access Token' in the Authorization header. Options are 'Bearer' and ‘OAuth’. Default is 'Bearer'.
OAuth V2.0 (Authorization Code Flow)
*Consumer ID: A client identifier issued to the client to identify itself to the authorization server.
*Consumer Secret: A secret matching to the client identifier.
*Access Token: A token used by the client to make authenticated requests on behalf of the resource owner.
Note:
See the OAuth v2.0 section for information on the other fields.
OAuth V2.0 (JWT Flow)
*Authentication Server URL: Used to specify a authentication service that manages user authentication, and optionally provide additional meta data to be embedded in the token.
*Issuer: Client ID, or Identifier, or name of the server or system issuing the JWT token.
*Subject: Identifier or the name of the user this token represents.
*Access Token: A token used by the client to make authenticated requests on behalf of the resource owner.
*Instance URL: Used to specify a run-time host, if applicable. This may be required in some back ends, like Salesforce.
*Authorization Header Prefix: The prefix to be used with the Access Token in the Authorization header. Options are Bearer and OAuth. Default is Bearer.
AWS S3 Signature
*Access Key: This is a username. It is an alphanumeric text string that uniquely identifies the user who owns the account. No two accounts can have the same AWS Access Key.
*Secret Key: This key plays the role of a password. It is called secret because it is assumed to be known only by the owner. When you type the secret key, it is displayed as asterisk or dots.
*Region: An area-specific value.
AWS V2 Signature
*Access Key: This is a username. It is an alphanumeric text string that uniquely identifies the user who owns the account. No two accounts can have the same AWS Access Key.
*Secret Key: This key plays the role of a password. It is called secret because it is assumed to be known only by the owner. When you type the secret key, it is displayed as asterisk or dots.
*Region: An area-specific value.
*Signing Algorithm: Explicitly specify the signing algorithm, for example, HMAC-SHA1 Signatures) used to sign the message.
AWS V4 Signature
*Access Key: This is a username. It is an alphanumeric text string that uniquely identifies the user who owns the account. No two accounts can have the same AWS Access Key.
*Secret Key: This key plays the role of a password. It is called secret because it is assumed to be known only by the owner. When you type the secret key, it is displayed as asterisk or dots.
*Region: An area-specific value.
Azure Account SAS
*Account Name : The storage account name in Azure. This is a required field.
*Account Key: The account key associated with your storage account. This is a required field.
*Signed Services: The signed services that are accessible with the account SAS. Allowed values include: Blob, Queue, Table, File. Alternatively, you could provide access to more than one service by choosing combined values. This is a required field.
*Signed Resource Types: The signed resource types that are accessible with the account SAS. Allowed values include:
*Service: Access to service-level APIs, for example, Get/Set Service Properties, Get Service Stats, List Containers/Queues/Tables/Shares.
*Container: Access to container-level APIs, for example, Create/Delete Container, Create/Delete Queue, Create/Delete Table, Create/Delete Share, List Blobs/Files and Directories.
*Object: Access to object-level APIs for blobs, queue messages, table entities, and files, for example, Put Blob, Query Entity, Get Messages, Create File.
Alternatively, you could provide access to more than one resource type by choosing combined values. This is a required field.
*Signed Permission: The signed permissions associated with the account SAS. This is a required field.
Note:
Ensure that the permissions match the specified signed resource type. If the permissions do not match, they will be ignored.
For more information, see the Permissions section.
*Read: Read a resource. Valid for all signed resources types (Service, Container, and Object).
*Write: Grant write access for users to the specified resource type. Valid for all signed resources types (Service, Container, and Object).
*Delete: Delete a resource. Valid for Container and Object resource types, except for queue messages.
*Permanent Delete: Permanently delete a resource. Valid for Object resource type of Blob only.
*List: List objects within a resource. Valid for Service and Container resource types only.
*Add: Add or append to an existing resource. Valid for the Object resource types - queue messages, table entities, and append blobs.
*Create: Create a new resource. Valid for the Object resource types - blobs and files. You can create new blobs or files, but may not overwrite existing blobs or files.
*Update: Updates an existing resource. Valid for the Object resource types - queue messages and table entities.
*Process: Valid for the Object resource type - queue messages.
*Tag: Allow users to perform blob tag operations. Valid for the Object resource type - blobs.
*Filter: Allow users to perform filtering by blob tag. Valid for the following Object resource type only: blob.
*Set Immutability Policy: Allow users to set/delete immutability policy and legal hold on a blob. Valid for the Object resource type: blob.
*Signed Start: The start time at which the SAS becomes valid. If this field is left empty, the start time will be effective when the request is received by the service. This is an optional field.
Note:
The value for this field should be expressed in one of the accepted ISO 8601 UTC formats.
*Signed Expiry: The expiry time after which the SAS becomes invalid. This is a required field.
Note:
The value for this field should be expressed in one of the accepted ISO 8601 UTC formats.
*Signed IP: The public IP address or a range of IP addresses from which to accept requests. This is an optional field.
Note:
Ensure that the range of IP addresses is inclusive.
For example, sip=170.1.5.65 or sip=166.1.5.70-169.1.5.80.
*Signed Protocol: The HTTP protocol that is allowed for a request made with the account SAS. This is an optional field.
Possible values: Both HTTPS and HTTP (https, http) or HTTPS only (https).
Default value: https, http Note: HTTP only is not permitted and cannot be specified.
*Signed Encryption Scope: The encryption scope you want to use to encrypt the contents of a request. This is an optional field.
Supported versions: 2020-12-06 and later.
Azure Service SAS
*Account Name: The storage service name in Azure. This is a required field.
*Account Key: The account key associated with your storage account. This is a required field.
*Use Storage Access Policy: Indicates if you want to secure the SAS using the storage access policy. If this field is set to true , the following field appears on the screen:
*Signed Identifier: Provide a unique value that associates with an access policy specified for a container, queue, or table. This is an optional field.
Note:
The value for this field should be up to 64 characters.
*Signed Encryption Scope: The encryption scope you want to use to encrypt the contents of a request. This is an optional field.
*Signed Start : The start time at which the SAS becomes valid. If this field is left empty, the start time will be effective when the request is received by the service. This is an optional field.
*Signed Expiry : The expiry time after which the SAS becomes invalid. This is a required field.
Note:
The value for this field should be expressed in one of the accepted ISO 8601 UTC formats.
*Signed Permission: The signed permissions that are associated with the service SAS. This is a required field.
Note:
Ensure that this field is omitted if it has been specified in an associated stored access policy.
For more information, see the Permissions section.
*Signed Protocol: The HTTP protocol that is allowed for a request made with the account SAS. This is an optional field.
Possible values: Both HTTPS and HTTP (https, http) or HTTPS only (https).
Default value: https, http
Note:
HTTP only is not permitted and cannot be specified.
*Signed IP: The public IP address or a range of IP addresses from which to accept requests. This is an optional field.
Note:
Ensure that the range of IP addresses is inclusive.
*Signed Resource: The signed resource you want to access with the SAS. Allowed values include:
*Blob: Access to contents and metadata of a blob in an account.
*Container: Access to contents and metadata of blobs inside a container in an account.
*Directory: Access to contents and metadata of blobs inside a directory in an account.
*File: Access to contents and metadata of a file.
*Queue: Access to contents and metadata of a queue.
*Table: Access to contents and metadata of a table.
For more information, see the Signed Resource section.
The following fields appear when you select Blob as the signed resource:
*Blob Name: The name you want to specify for a blob.
*Container Name: The name you want to specify for a container.
*Response Content-Disposition: The response header you want to specify when the SAS is used in a request.
*Response Content-Type: The response header you want to specify when the SAS is used in a request.
*Response Content-Encoding: The response header you want to specify when the SAS is used in a request.
*Response Content-Language: The response header you want to specify when the SAS is used in a request.
*Response Cache-Control: The response header you want to specify when the SAS is used in a request.
The following fields appear when you select Container as the signed resource:
*Container Name: The name you want to specify for a container.
*Response Content-Disposition: The response header you want to specify when the SAS is used in a request.
*Response Content-Type: The response header you want to specify when the SAS is used in a request.
*Response Content-Encoding: The response header you want to specify when the SAS is used in a request.
*Response Content-Language: The response header you want to specify when the SAS is used in a request.
*Response Cache-Control: The response header you want to specify when the SAS is used in a request.
The following fields appear if you select File as the signed resource:
*File Name: The name you want to specify for a file.
*Response Content-Disposition: The response header you want to specify when the SAS is used in a request.
*Response Content-Type: The response header you want to specify when the SAS is used in a request.
*Response Content-Encoding: The response header you want to specify when the SAS is used in a request.
*Response Content-Language: The response header you want to specify when the SAS is used in a request.
*Response Cache-Control: The response header you want to specify when the SAS is used in a request.
The following fields appear if you select Queue as the signed resource:
*Queue Name: The name you want to specify for a queue.
The following fields appear if you select Share as the signed resource:
*Share Name: The name you want to specify for a file.
*Response Content-Disposition: The response header you want to specify when the SAS is used in a request.
*Response Content-Type: The response header you want to specify when the SAS is used in a request.
*Response Content-Encoding: The response header you want to specify when the SAS is used in a request.
*Response Content-Language: The response header you want to specify when the SAS is used in a request.
*Response Cache-Control: The response header you want to specify when the SAS is used in a request.
The following fields appear if you select Table as the signed resource:
*Table Name: The name you want to specify for a table.
*StartPk: The minimum partition key that is accessible with this SAS.
*StartRk: The minimum row key that is accessible with this SAS.
*EndPk: The maximum partition key that is accessible with this SAS.
*EndRk: The maximum row key that is accessible with this SAS.
Note:
Partition and Row key values are inclusive.