Implements: ConfigParams
Description
Contains connection parameters to authenticate against Google Functions and connect to specific Google Function.
The class is able to compose and parse Google Function connection parameters.
In addition to standard parameters CredentialParams may contain any number of custom parameters
Configuration parameters
- connections:
- uri: full connection uri with specific app and function name
- protocol: connection protocol
- project_id: is your Google Cloud Platform project ID
- region: is the region where your function is deployed
- function_name: is the name of the HTTP function you deployed
- credentials:
- auth_token: Google-generated ID token or null if using custom auth
Constructors
Creates an new instance of the connection parameters.
GcpConnectionParams(values: Any = None)
- values: Any - (optional) an object to be converted into key-value pairs to initialize this connection.
Instance methods
get_auth_token
Gets an ID token with the request to authenticate themselves
get_auth_token(): Optional[str]
- returns: Optional[str] - the ID token.
get_function
Gets the Google function name.
get_function(): string
- returns: string - the Google function name.
get_uri
Gets the Google Platform service uri.
get_uri(): string
- returns: string - the Google service uri.
get_protocol
Gets the Google function connection protocol.
get_protocol(): Optional[str]
- returns: string - the Google function connection protocol.
get_project_id
Gets the Google Cloud Platform project ID.
get_project_id(): Optional[str]
- returns: Optional[str] - the project ID.
get_region
Gets the region where your function is deployed.
get_region(): Optional[str]
- returns: Optional[str] - the region of deployed function.
set_auth_token
Sets an ID token with the request to authenticate themselves
set_auth_token(value: str)
- value: str - a new ID token.
setFunction
Sets the Google function name.
setFunction(value: str)
- value: string - a new Google function name.
set_uri
Sets the Google Platform service uri.
set_uri(value: str)
- value: string - a new Google function uri.
set_protocol
Sets the Google function connection protocol.
set_protocol(value: str)
- value: str - a new Google function connection protocol.
set_project_id
Sets the Google Cloud Platform project ID.
set_project_id(value: str)
- value: str - a new project ID.
set_region
Sets the region where your function is deployed.
set_region(value: str)
- returns: string - the region of deployed function
validate
Validates this connection parameters
validate(context: Optional[IContext])
- context: IContext - (optional) a context to trace execution through a call chain.
Static methods
from_string
Creates a new GcpConnectionParams object filled with key-value pairs serialized as a string.
staticmethod
from_string(line: str): GcpConnectionParams
- line: str - a string with serialized key-value pairs as “key1=value1;key2=value2;…”
Example: “Key1=123;Key2=ABC;Key3=2016-09-16T00:00:00.00Z” - returns: GcpConnectionParams - a new GcpConnectionParams object.
from_config
Validates this connection parameters
staticmethod
from_config(config: ConfigParams): GcpConnectionParams
- config: ConfigParams - configuration parameters
- returns: GcpConnectionParams - the generated GcpConnectionParams object.
merge_configs
Retrieves GcpConnectionParams from multiple configuration parameters. The values are retrieves from “connection” and “credential” sections.
staticmethod
merge_configs(…configs: ConfigParams[]): GcpConnectionParams
- config: str - a list with configuration parameters
- returns: GcpConnectionParams - the generated GcpConnectionParams object.
Examples
connection = GcpConnectionParams.from_tuples(
'connection.uri', 'http://east-my_test_project.cloudfunctions.net/myfunction',
'connection.protocol', 'http',
'connection.region', 'east',
'connection.function', 'myfunction',
'connection.project_id', 'my_test_project',
'credential.auth_token', '1234',
)
uri = connection.get_function_uri() # Result: 'http://east-my_test_project.cloudfunctions.net/myfunction'
region = connection.get_region() # Result: 'east'
protocol = connection.get_protocol() # Result: 'http'
functionName = connection.get_function_name() # Result: 'myfunction'
projectId = connection.get_project_id() # Result: 'my_test_project'
authToken = connection.get_auth_token() # Result: '123'