UNPKG

@cdklabs/cdk-appflow

Version:

*Note:* this library is currently in technical preview.

78 lines (77 loc) 2.95 kB
import { SecretValue } from "aws-cdk-lib"; import { CfnConnectorProfile } from "aws-cdk-lib/aws-appflow"; import { Construct } from "constructs"; import { ConnectorProfileBase, ConnectorProfileProps } from "../core/connectors/connector-profile"; export interface GoogleAdsConnectorProfileProps extends ConnectorProfileProps { readonly oAuth: GoogleAdsOAuthSettings; readonly apiVersion: string; readonly managerID?: SecretValue; readonly developerToken: SecretValue; } /** * Google's OAuth token and authorization endpoints */ export interface GoogleAdsOAuthEndpoints { /** * The OAuth token endpoint URI */ readonly token?: string; /** * The OAuth authorization endpoint URI */ readonly authorization?: string; } /** * The OAuth elements required for the execution of the refresh token grant flow. */ export interface GoogleAdsRefreshTokenGrantFlow { /** * A non-expired refresh token. */ readonly refreshToken?: SecretValue; /** * The secret of the client app. */ readonly clientSecret?: SecretValue; /** * The id of the client app. */ readonly clientId?: SecretValue; } /** * Represents the OAuth flow enabled for the GoogleAds */ export interface GoogleAdsOAuthFlow { /** * The details required for executing the refresh token grant flow */ readonly refreshTokenGrant: GoogleAdsRefreshTokenGrantFlow; } export interface GoogleAdsOAuthSettings { /** * The access token to be used when interacting with Google Ads * * Note that if only the access token is provided AppFlow is not able to retrieve a fresh access token when the current one is expired * * @default Retrieves a fresh accessToken with the information in the [flow property]{@link GoogleAdsOAuthSettings#flow} */ readonly accessToken?: SecretValue; /** * The OAuth flow used for obtaining a new accessToken when the old is not present or expired. * * @default undefined. AppFlow will not request any new accessToken after expiry. */ readonly flow?: GoogleAdsOAuthFlow; /** * The OAuth token and authorization endpoints. */ readonly endpoints?: GoogleAdsOAuthEndpoints; } export declare class GoogleAdsConnectorProfile extends ConnectorProfileBase { static fromConnectionProfileArn(scope: Construct, id: string, arn: string): GoogleAdsConnectorProfile; static fromConnectionProfileName(scope: Construct, id: string, name: string): GoogleAdsConnectorProfile; private static readonly defaultTokenEndpoint; constructor(scope: Construct, id: string, props: GoogleAdsConnectorProfileProps); protected buildConnectorProfileProperties(props: ConnectorProfileProps): CfnConnectorProfile.ConnectorProfilePropertiesProperty; protected buildConnectorProfileCredentials(props: ConnectorProfileProps): CfnConnectorProfile.ConnectorProfileCredentialsProperty; }