googleapis
Version:
Google APIs Client Library for Node.js
1,383 lines (1,382 loc) • 172 kB
TypeScript
/// <reference types="node" />
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosPromise, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace connectors_v1 {
export interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: string;
/**
* JSONP
*/
callback?: string;
/**
* Selector specifying which fields to include in a partial response.
*/
fields?: string;
/**
* API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
*/
key?: string;
/**
* OAuth 2.0 token for the current user.
*/
oauth_token?: string;
/**
* Returns response with indentations and line breaks.
*/
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
*/
quotaUser?: string;
/**
* Legacy upload protocol for media (e.g. "media", "multipart").
*/
uploadType?: string;
/**
* Upload protocol for media (e.g. "raw", "multipart").
*/
upload_protocol?: string;
}
/**
* Connectors API
*
* Enables users to create and manage connections to Google Cloud services and third-party business applications using the Connectors interface.
*
* @example
* ```js
* const {google} = require('googleapis');
* const connectors = google.connectors('v1');
* ```
*/
export class Connectors {
context: APIRequestContext;
projects: Resource$Projects;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
*/
export interface Schema$AuditConfig {
/**
* The configuration for logging of each type of permission.
*/
auditLogConfigs?: Schema$AuditLogConfig[];
/**
* Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
*/
service?: string | null;
}
/**
* Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \} ] \} This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
*/
export interface Schema$AuditLogConfig {
/**
* Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
*/
exemptedMembers?: string[] | null;
/**
* The log type that this config enables.
*/
logType?: string | null;
}
/**
* AuthConfig defines details of a authentication type.
*/
export interface Schema$AuthConfig {
/**
* List containing additional auth configs.
*/
additionalVariables?: Schema$ConfigVariable[];
/**
* Identifier key for auth config
*/
authKey?: string | null;
/**
* The type of authentication configured.
*/
authType?: string | null;
/**
* Oauth2AuthCodeFlow.
*/
oauth2AuthCodeFlow?: Schema$Oauth2AuthCodeFlow;
/**
* Oauth2ClientCredentials.
*/
oauth2ClientCredentials?: Schema$Oauth2ClientCredentials;
/**
* Oauth2JwtBearer.
*/
oauth2JwtBearer?: Schema$Oauth2JwtBearer;
/**
* SSH Public Key.
*/
sshPublicKey?: Schema$SshPublicKey;
/**
* UserPassword.
*/
userPassword?: Schema$UserPassword;
}
/**
* AuthConfigTemplate defines required field over an authentication type.
*/
export interface Schema$AuthConfigTemplate {
/**
* Identifier key for auth config
*/
authKey?: string | null;
/**
* The type of authentication configured.
*/
authType?: string | null;
/**
* Config variables to describe an `AuthConfig` for a `Connection`.
*/
configVariableTemplates?: Schema$ConfigVariableTemplate[];
/**
* Connector specific description for an authentication template.
*/
description?: string | null;
/**
* Display name for authentication template.
*/
displayName?: string | null;
}
/**
* This configuration captures the details required to render an authorization link for the OAuth Authorization Code Flow.
*/
export interface Schema$AuthorizationCodeLink {
/**
* The client ID assigned to the Google Cloud Connectors OAuth app for the connector data source.
*/
clientId?: string | null;
/**
* Whether to enable PKCE for the auth code flow.
*/
enablePkce?: boolean | null;
/**
* The scopes for which the user will authorize Google Cloud Connectors on the connector data source.
*/
scopes?: string[] | null;
/**
* The base URI the user must click to trigger the authorization code login flow.
*/
uri?: string | null;
}
/**
* Associates `members`, or principals, with a `role`.
*/
export interface Schema$Binding {
/**
* The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
*/
condition?: Schema$Expr;
/**
* Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding.
*/
members?: string[] | null;
/**
* Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
*/
role?: string | null;
}
/**
* The request message for Operations.CancelOperation.
*/
export interface Schema$CancelOperationRequest {
}
/**
* ConfigVariable represents a configuration variable present in a Connection. or AuthConfig.
*/
export interface Schema$ConfigVariable {
/**
* Value is a bool.
*/
boolValue?: boolean | null;
/**
* Value is a Encryption Key.
*/
encryptionKeyValue?: Schema$EncryptionKey;
/**
* Value is an integer
*/
intValue?: string | null;
/**
* Key of the config variable.
*/
key?: string | null;
/**
* Value is a secret.
*/
secretValue?: Schema$Secret;
/**
* Value is a string.
*/
stringValue?: string | null;
}
/**
* ConfigVariableTemplate provides metadata about a `ConfigVariable` that is used in a Connection.
*/
export interface Schema$ConfigVariableTemplate {
/**
* Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE`
*/
authorizationCodeLink?: Schema$AuthorizationCodeLink;
/**
* Description.
*/
description?: string | null;
/**
* Display name of the parameter.
*/
displayName?: string | null;
/**
* Enum options. To be populated if `ValueType` is `ENUM`
*/
enumOptions?: Schema$EnumOption[];
/**
* Indicates if current template is part of advanced settings
*/
isAdvanced?: boolean | null;
/**
* Key of the config variable.
*/
key?: string | null;
/**
* Flag represents that this `ConfigVariable` must be provided for a connection.
*/
required?: boolean | null;
/**
* Condition under which a field would be required. The condition can be represented in the form of a logical expression.
*/
requiredCondition?: Schema$LogicalExpression;
/**
* Role grant configuration for the config variable.
*/
roleGrant?: Schema$RoleGrant;
/**
* State of the config variable.
*/
state?: string | null;
/**
* Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`.
*/
validationRegex?: string | null;
/**
* Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation.
*/
valueType?: string | null;
}
/**
* Connection represents an instance of connector.
*/
export interface Schema$Connection {
/**
* Optional. Configuration for establishing the connection's authentication with an external system.
*/
authConfig?: Schema$AuthConfig;
/**
* Optional. Configuration for configuring the connection with an external system.
*/
configVariables?: Schema$ConfigVariable[];
/**
* Output only. Connection revision. This field is only updated when the connection is created or updated by User.
*/
connectionRevision?: string | null;
/**
* Required. Connector version on which the connection is created. The format is: projects/x/locations/x/providers/x/connectors/x/versions/x Only global location is supported for ConnectorVersion resource.
*/
connectorVersion?: string | null;
/**
* Output only. Infra configs supported by Connector Version.
*/
connectorVersionInfraConfig?: Schema$ConnectorVersionInfraConfig;
/**
* Output only. Flag to mark the version indicating the launch stage.
*/
connectorVersionLaunchStage?: string | null;
/**
* Output only. Created time.
*/
createTime?: string | null;
/**
* Optional. Description of the resource.
*/
description?: string | null;
/**
* Optional. Configuration of the Connector's destination. Only accepted for Connectors that accepts user defined destination(s).
*/
destinationConfigs?: Schema$DestinationConfig[];
/**
* Output only. GCR location where the envoy image is stored. formatted like: gcr.io/{bucketName\}/{imageName\}
*/
envoyImageLocation?: string | null;
/**
* Optional. Eventing config of a connection
*/
eventingConfig?: Schema$EventingConfig;
/**
* Optional. Eventing enablement type. Will be nil if eventing is not enabled.
*/
eventingEnablementType?: string | null;
/**
* Output only. Eventing Runtime Data.
*/
eventingRuntimeData?: Schema$EventingRuntimeData;
/**
* Output only. GCR location where the runtime image is stored. formatted like: gcr.io/{bucketName\}/{imageName\}
*/
imageLocation?: string | null;
/**
* Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources
*/
labels?: {
[key: string]: string;
} | null;
/**
* Optional. Configuration that indicates whether or not the Connection can be edited.
*/
lockConfig?: Schema$LockConfig;
/**
* Optional. Log configuration for the connection.
*/
logConfig?: Schema$ConnectorsLogConfig;
/**
* Output only. Resource name of the Connection. Format: projects/{project\}/locations/{location\}/connections/{connection\}
*/
name?: string | null;
/**
* Optional. Node configuration for the connection.
*/
nodeConfig?: Schema$NodeConfig;
/**
* Optional. Service account needed for runtime plane to access Google Cloud resources.
*/
serviceAccount?: string | null;
/**
* Output only. The name of the Service Directory service name. Used for Private Harpoon to resolve the ILB address. e.g. "projects/cloud-connectors-e2e-testing/locations/us-central1/namespaces/istio-system/services/istio-ingressgateway-connectors"
*/
serviceDirectory?: string | null;
/**
* Optional. Ssl config of a connection
*/
sslConfig?: Schema$SslConfig;
/**
* Output only. Current status of the connection.
*/
status?: Schema$ConnectionStatus;
/**
* Output only. This subscription type enum states the subscription type of the project.
*/
subscriptionType?: string | null;
/**
* Optional. Suspended indicates if a user has suspended a connection or not.
*/
suspended?: boolean | null;
/**
* Output only. Updated time.
*/
updateTime?: string | null;
}
/**
* ConnectionSchemaMetadata is the singleton resource of each connection. It includes the entity and action names of runtime resources exposed by a connection backend.
*/
export interface Schema$ConnectionSchemaMetadata {
/**
* Output only. List of actions.
*/
actions?: string[] | null;
/**
* Output only. List of entity names.
*/
entities?: string[] | null;
/**
* Output only. Resource name. Format: projects/{project\}/locations/{location\}/connections/{connection\}/connectionSchemaMetadata
*/
name?: string | null;
/**
* Output only. Timestamp when the connection runtime schema refresh was triggered.
*/
refreshTime?: string | null;
/**
* Output only. The current state of runtime schema.
*/
state?: string | null;
/**
* Output only. Timestamp when the connection runtime schema was updated.
*/
updateTime?: string | null;
}
/**
* ConnectionStatus indicates the state of the connection.
*/
export interface Schema$ConnectionStatus {
/**
* Description.
*/
description?: string | null;
/**
* State.
*/
state?: string | null;
/**
* Status provides detailed information for the state.
*/
status?: string | null;
}
/**
* Connectors indicates a specific connector type, e.x. Salesforce, SAP etc.
*/
export interface Schema$Connector {
/**
* Output only. Created time.
*/
createTime?: string | null;
/**
* Output only. Description of the resource.
*/
description?: string | null;
/**
* Output only. Display name.
*/
displayName?: string | null;
/**
* Output only. Link to documentation page.
*/
documentationUri?: string | null;
/**
* Output only. Eventing details. Will be null if eventing is not supported.
*/
eventingDetails?: Schema$EventingDetails;
/**
* Output only. Link to external page.
*/
externalUri?: string | null;
/**
* Output only. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources
*/
labels?: {
[key: string]: string;
} | null;
/**
* Output only. Flag to mark the version indicating the launch stage.
*/
launchStage?: string | null;
/**
* Output only. Resource name of the Connector. Format: projects/{project\}/locations/{location\}/providers/{provider\}/connectors/{connector\} Only global location is supported for Connector resource.
*/
name?: string | null;
/**
* Output only. Updated time.
*/
updateTime?: string | null;
/**
* Output only. Cloud storage location of icons etc consumed by UI.
*/
webAssetsLocation?: string | null;
}
/**
* This cofiguration provides infra configs like rate limit threshold which need to be configurable for every connector version
*/
export interface Schema$ConnectorInfraConfig {
/**
* Max QPS supported for internal requests originating from Connd.
*/
internalclientRatelimitThreshold?: string | null;
/**
* Max QPS supported by the connector version before throttling of requests.
*/
ratelimitThreshold?: string | null;
}
/**
* Log configuration for the connection.
*/
export interface Schema$ConnectorsLogConfig {
/**
* Enabled represents whether logging is enabled or not for a connection.
*/
enabled?: boolean | null;
}
/**
* ConnectorVersion indicates a specific version of a connector.
*/
export interface Schema$ConnectorVersion {
/**
* Output only. List of auth configs supported by the Connector Version.
*/
authConfigTemplates?: Schema$AuthConfigTemplate[];
/**
* Output only. List of config variables needed to create a connection.
*/
configVariableTemplates?: Schema$ConfigVariableTemplate[];
/**
* Output only. Infra configs supported by Connector.
*/
connectorInfraConfig?: Schema$ConnectorInfraConfig;
/**
* Output only. Created time.
*/
createTime?: string | null;
/**
* Output only. List of destination configs needed to create a connection.
*/
destinationConfigTemplates?: Schema$DestinationConfigTemplate[];
/**
* Output only. Display name.
*/
displayName?: string | null;
/**
* Output only. Configuration for Egress Control.
*/
egressControlConfig?: Schema$EgressControlConfig;
/**
* Output only. Eventing configuration supported by the Connector.
*/
eventingConfigTemplate?: Schema$EventingConfigTemplate;
/**
* Output only. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources
*/
labels?: {
[key: string]: string;
} | null;
/**
* Output only. Flag to mark the version indicating the launch stage.
*/
launchStage?: string | null;
/**
* Output only. Resource name of the Version. Format: projects/{project\}/locations/{location\}/providers/{provider\}/connectors/{connector\}/versions/{version\} Only global location is supported for Connector resource.
*/
name?: string | null;
/**
* Output only. ReleaseVersion of the connector, for example: "1.0.1-alpha".
*/
releaseVersion?: string | null;
/**
* Output only. Role grant configuration for this config variable. It will be DEPRECATED soon.
*/
roleGrant?: Schema$RoleGrant;
/**
* Output only. Role grant configurations for this connector version.
*/
roleGrants?: Schema$RoleGrant[];
/**
* Output only. Ssl configuration supported by the Connector.
*/
sslConfigTemplate?: Schema$SslConfigTemplate;
/**
* Output only. Information about the runtime features supported by the Connector.
*/
supportedRuntimeFeatures?: Schema$SupportedRuntimeFeatures;
/**
* Output only. Updated time.
*/
updateTime?: string | null;
}
/**
* This cofiguration provides infra configs like rate limit threshold which need to be configurable for every connector version
*/
export interface Schema$ConnectorVersionInfraConfig {
/**
* Output only. Max QPS supported for internal requests originating from Connd.
*/
internalclientRatelimitThreshold?: string | null;
/**
* Output only. Max QPS supported by the connector version before throttling of requests.
*/
ratelimitThreshold?: string | null;
}
export interface Schema$Destination {
/**
* For publicly routable host.
*/
host?: string | null;
/**
* The port is the target port number that is accepted by the destination.
*/
port?: number | null;
/**
* PSC service attachments. Format: projects/x/regions/x/serviceAttachments/x
*/
serviceAttachment?: string | null;
}
/**
* Define the Connectors target endpoint.
*/
export interface Schema$DestinationConfig {
/**
* The destinations for the key.
*/
destinations?: Schema$Destination[];
/**
* The key is the destination identifier that is supported by the Connector.
*/
key?: string | null;
}
/**
* DestinationConfigTemplate defines required destinations supported by the Connector.
*/
export interface Schema$DestinationConfigTemplate {
/**
* The default port.
*/
defaultPort?: number | null;
/**
* Description.
*/
description?: string | null;
/**
* Display name of the parameter.
*/
displayName?: string | null;
/**
* Whether the current destination tempalate is part of Advanced settings
*/
isAdvanced?: boolean | null;
/**
* Key of the destination.
*/
key?: string | null;
/**
* The maximum number of destinations supported for this key.
*/
max?: number | null;
/**
* The minimum number of destinations supported for this key.
*/
min?: number | null;
/**
* Whether port number should be provided by customers.
*/
portFieldType?: string | null;
/**
* Regex pattern for host.
*/
regexPattern?: string | null;
}
/**
* Egress control config for connector runtime. These configurations define the rules to identify which outbound domains/hosts needs to be whitelisted. It may be a static information for a particular connector version or it is derived from the configurations provided by the customer in Connection resource.
*/
export interface Schema$EgressControlConfig {
/**
* Static Comma separated backends which are common for all Connection resources. Supported formats for each backend are host:port or just host (host can be ip address or domain name).
*/
backends?: string | null;
/**
* Extractions Rules to extract the backends from customer provided configuration.
*/
extractionRules?: Schema$ExtractionRules;
}
/**
* A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \}
*/
export interface Schema$Empty {
}
/**
* Encryption Key value.
*/
export interface Schema$EncryptionKey {
/**
* The [KMS key name] with which the content of the Operation is encrypted. The expected format: `projects/x/locations/x/keyRings/x/cryptoKeys/x`. Will be empty string if google managed.
*/
kmsKeyName?: string | null;
/**
* Type.
*/
type?: string | null;
}
/**
* Endpoint message includes details of the Destination endpoint.
*/
export interface Schema$EndPoint {
/**
* The URI of the Endpoint.
*/
endpointUri?: string | null;
/**
* List of Header to be added to the Endpoint.
*/
headers?: Schema$Header[];
}
/**
* represents the Connector's Endpoint Attachment resource
*/
export interface Schema$EndpointAttachment {
/**
* Output only. Created time.
*/
createTime?: string | null;
/**
* Optional. Description of the resource.
*/
description?: string | null;
/**
* Output only. The Private Service Connect connection endpoint ip
*/
endpointIp?: string | null;
/**
* Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources
*/
labels?: {
[key: string]: string;
} | null;
/**
* Output only. Resource name of the Endpoint Attachment. Format: projects/{project\}/locations/{location\}/endpointAttachments/{endpoint_attachment\}
*/
name?: string | null;
/**
* Required. The path of the service attachment
*/
serviceAttachment?: string | null;
/**
* Output only. Updated time.
*/
updateTime?: string | null;
}
/**
* EnumOption definition
*/
export interface Schema$EnumOption {
/**
* Display name of the option.
*/
displayName?: string | null;
/**
* Id of the option.
*/
id?: string | null;
}
/**
* Eventing Configuration of a connection
*/
export interface Schema$EventingConfig {
/**
* Additional eventing related field values
*/
additionalVariables?: Schema$ConfigVariable[];
/**
* Auth details for the webhook adapter.
*/
authConfig?: Schema$AuthConfig;
/**
* Encryption key (can be either Google managed or CMEK).
*/
encryptionKey?: Schema$ConfigVariable;
/**
* Enrichment Enabled.
*/
enrichmentEnabled?: boolean | null;
/**
* Registration endpoint for auto regsitration.
*/
registrationDestinationConfig?: Schema$DestinationConfig;
}
/**
* Eventing Config details of a connector version.
*/
export interface Schema$EventingConfigTemplate {
/**
* Additional fields that need to be rendered.
*/
additionalVariables?: Schema$ConfigVariableTemplate[];
/**
* AuthConfigTemplates represents the auth values for the webhook adapter.
*/
authConfigTemplates?: Schema$AuthConfigTemplate[];
/**
* Auto refresh to extend webhook life.
*/
autoRefresh?: boolean | null;
/**
* Auto Registration supported.
*/
autoRegistrationSupported?: boolean | null;
/**
* Encryption key (can be either Google managed or CMEK).
*/
encryptionKeyTemplate?: Schema$ConfigVariableTemplate;
/**
* Enrichment Supported.
*/
enrichmentSupported?: boolean | null;
/**
* Is Eventing Supported.
*/
isEventingSupported?: boolean | null;
/**
* Registration host destination config template.
*/
registrationDestinationConfig?: Schema$DestinationConfigTemplate;
}
/**
* Eventing Details message.
*/
export interface Schema$EventingDetails {
/**
* Output only. Custom Event Types.
*/
customEventTypes?: boolean | null;
/**
* Output only. Description.
*/
description?: string | null;
/**
* Output only. Link to public documentation.
*/
documentationLink?: string | null;
/**
* Output only. Cloud storage location of the icon.
*/
iconLocation?: string | null;
/**
* Output only. Eventing Launch Stage.
*/
launchStage?: string | null;
/**
* Output only. Name of the Eventing trigger.
*/
name?: string | null;
/**
* Output only. Array of search keywords.
*/
searchTags?: string[] | null;
}
/**
* Eventing runtime data has the details related to eventing managed by the system.
*/
export interface Schema$EventingRuntimeData {
/**
* Output only. Events listener endpoint. The value will populated after provisioning the events listener.
*/
eventsListenerEndpoint?: string | null;
/**
* Output only. Current status of eventing.
*/
status?: Schema$EventingStatus;
}
/**
* EventingStatus indicates the state of eventing.
*/
export interface Schema$EventingStatus {
/**
* Output only. Description of error if State is set to "ERROR".
*/
description?: string | null;
/**
* Output only. State.
*/
state?: string | null;
}
/**
* represents the Connector's EventSubscription resource
*/
export interface Schema$EventSubscription {
/**
* Output only. Created time.
*/
createTime?: string | null;
/**
* Optional. The destination to hit when we receive an event
*/
destinations?: Schema$EventSubscriptionDestination;
/**
* Optional. Event type id of the event of current EventSubscription.
*/
eventTypeId?: string | null;
/**
* Required. Resource name of the EventSubscription. Format: projects/{project\}/locations/{location\}/connections/{connection\}/eventSubscriptions/{event_subscription\}
*/
name?: string | null;
/**
* Optional. Status indicates the status of the event subscription resource
*/
status?: Schema$EventSubscriptionStatus;
/**
* Optional. name of the Subscriber for the current EventSubscription.
*/
subscriber?: string | null;
/**
* Optional. Link for Subscriber of the current EventSubscription.
*/
subscriberLink?: string | null;
/**
* Output only. Updated time.
*/
updateTime?: string | null;
}
/**
* Message for EventSubscription Destination to act on receiving an event
*/
export interface Schema$EventSubscriptionDestination {
/**
* OPTION 1: Hit an endpoint when we receive an event.
*/
endpoint?: Schema$EndPoint;
/**
* Service account needed for runtime plane to trigger IP workflow.
*/
serviceAccount?: string | null;
/**
* type of the destination
*/
type?: string | null;
}
/**
* EventSubscription Status denotes the status of the EventSubscription resource.
*/
export interface Schema$EventSubscriptionStatus {
/**
* Output only. Description of the state.
*/
description?: string | null;
/**
* Output only. State of Event Subscription resource.
*/
state?: string | null;
}
/**
* EventType includes fields.
*/
export interface Schema$EventType {
/**
* Output only. Created time.
*/
createTime?: string | null;
/**
* Output only. Schema of the event payload after enriched. Will be null if read before send is not supported.
*/
enrichedEventPayloadSchema?: string | null;
/**
* Output only. Runtime entity type name. Will be null if entity type map is not available. Used for read before send feature.
*/
entityType?: string | null;
/**
* Output only. Schema of webhook event payload.
*/
eventPayloadSchema?: string | null;
/**
* Output only. Event type id. Example: `ticket.created`.
*/
eventTypeId?: string | null;
/**
* Output only. Id path denotes the path of id in webhook payload.
*/
idPath?: string | null;
/**
* Output only. Resource name of the eventtype. Format: projects/{project\}/locations/{location\}/providers/{provider\}/connectors/{connector\}/versions/{version\}/eventtypes/{eventtype\} Only global location is supported for Connector resource.
*/
name?: string | null;
/**
* Output only. Updated time.
*/
updateTime?: string | null;
}
/**
* Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.
*/
export interface Schema$Expr {
/**
* Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
*/
description?: string | null;
/**
* Textual representation of an expression in Common Expression Language syntax.
*/
expression?: string | null;
/**
* Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
*/
location?: string | null;
/**
* Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
*/
title?: string | null;
}
/**
* Extraction Rule.
*/
export interface Schema$ExtractionRule {
/**
* Regex used to extract backend details from source. If empty, whole source value will be used.
*/
extractionRegex?: string | null;
/**
* Source on which the rule is applied.
*/
source?: Schema$Source;
}
/**
* Extraction Rules to identity the backends from customer provided configuration in Connection resource.
*/
export interface Schema$ExtractionRules {
/**
* Collection of Extraction Rule.
*/
extractionRule?: Schema$ExtractionRule[];
}
/**
* Metadata of an entity field.
*/
export interface Schema$Field {
/**
* The following map contains fields that are not explicitly mentioned above,this give connectors the flexibility to add new metadata fields.
*/
additionalDetails?: {
[key: string]: any;
} | null;
/**
* The data type of the Field.
*/
dataType?: string | null;
/**
* The following field specifies the default value of the Field provided by the external system if a value is not provided.
*/
defaultValue?: any | null;
/**
* A brief description of the Field.
*/
description?: string | null;
/**
* Name of the Field.
*/
field?: string | null;
/**
* The following boolean field specifies if the current Field acts as a primary key or id if the parent is of type entity.
*/
key?: boolean | null;
/**
* Specifies whether a null value is allowed.
*/
nullable?: boolean | null;
/**
* Specifies if the Field is readonly.
*/
readonly?: boolean | null;
}
/**
* Field that needs to be compared.
*/
export interface Schema$FieldComparison {
/**
* Boolean value
*/
boolValue?: boolean | null;
/**
* Comparator to use for comparing the field value.
*/
comparator?: string | null;
/**
* Integer value
*/
intValue?: string | null;
/**
* Key of the field.
*/
key?: string | null;
/**
* String value
*/
stringValue?: string | null;
}
/**
* Header details for a given header to be added to Endpoint.
*/
export interface Schema$Header {
/**
* Key of Header.
*/
key?: string | null;
/**
* Value of Header.
*/
value?: string | null;
}
/**
* Metadata of an input parameter.
*/
export interface Schema$InputParameter {
/**
* The data type of the Parameter.
*/
dataType?: string | null;
/**
* The following field specifies the default value of the Parameter provided by the external system if a value is not provided.
*/
defaultValue?: any | null;
/**
* A brief description of the Parameter.
*/
description?: string | null;
/**
* Specifies whether a null value is allowed.
*/
nullable?: boolean | null;
/**
* Name of the Parameter.
*/
parameter?: string | null;
}
/**
* JWT claims used for the jwt-bearer authorization grant.
*/
export interface Schema$JwtClaims {
/**
* Value for the "aud" claim.
*/
audience?: string | null;
/**
* Value for the "iss" claim.
*/
issuer?: string | null;
/**
* Value for the "sub" claim.
*/
subject?: string | null;
}
/**
* Response message for ConnectorsService.ListConnections
*/
export interface Schema$ListConnectionsResponse {
/**
* Connections.
*/
connections?: Schema$Connection[];
/**
* Next page token.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for Connectors.ListConnectors.
*/
export interface Schema$ListConnectorsResponse {
/**
* A list of connectors.
*/
connectors?: Schema$Connector[];
/**
* Next page token.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for Connectors.ListConnectorVersions.
*/
export interface Schema$ListConnectorVersionsResponse {
/**
* A list of connector versions.
*/
connectorVersions?: Schema$ConnectorVersion[];
/**
* Next page token.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for ConnectorsService.ListEndpointAttachments
*/
export interface Schema$ListEndpointAttachmentsResponse {
/**
* EndpointAttachments.
*/
endpointAttachments?: Schema$EndpointAttachment[];
/**
* Next page token.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for ConnectorsService.ListEventSubscriptions
*/
export interface Schema$ListEventSubscriptionsResponse {
/**
* Subscriptions.
*/
eventSubscriptions?: Schema$EventSubscription[];
/**
* Next page token.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for Connectors.ListEventTypes.
*/
export interface Schema$ListEventTypesResponse {
/**
* A list of connector versions.
*/
eventTypes?: Schema$EventType[];
/**
* Next page token.
*/
nextPageToken?: string | null;
}
/**
* The response message for Locations.ListLocations.
*/
export interface Schema$ListLocationsResponse {
/**
* A list of locations that matches the specified filter in the request.
*/
locations?: Schema$Location[];
/**
* The standard List next-page token.
*/
nextPageToken?: string | null;
}
/**
* Response message for ConnectorsService.ListManagedZones
*/
export interface Schema$ListManagedZonesResponse {
/**
* ManagedZones.
*/
managedZones?: Schema$ManagedZone[];
/**
* Next page token.
*/
nextPageToken?: string | null;
}
/**
* The response message for Operations.ListOperations.
*/
export interface Schema$ListOperationsResponse {
/**
* The standard List next-page token.
*/
nextPageToken?: string | null;
/**
* A list of operations that matches the specified filter in the request.
*/
operations?: Schema$Operation[];
}
/**
* Response message for Connectors.ListProviders.
*/
export interface Schema$ListProvidersResponse {
/**
* Next page token.
*/
nextPageToken?: string | null;
/**
* A list of providers.
*/
providers?: Schema$Provider[];
/**
* Locations that could not be reached.
*/
unreachable?: string[] | null;
}
/**
* Response message for ConnectorsService.ListRuntimeActionSchemas.
*/
export interface Schema$ListRuntimeActionSchemasResponse {
/**
* Next page token.
*/
nextPageToken?: string | null;
/**
* Runtime action schemas.
*/
runtimeActionSchemas?: Schema$RuntimeActionSchema[];
}
/**
* Response message for ConnectorsService.ListRuntimeEntitySchemas.
*/
export interface Schema$ListRuntimeEntitySchemasResponse {
/**
* Next page token.
*/
nextPageToken?: string | null;
/**
* Runtime entity schemas.
*/
runtimeEntitySchemas?: Schema$RuntimeEntitySchema[];
}
/**
* A resource that represents a Google Cloud location.
*/
export interface Schema$Location {
/**
* The friendly name for this location, typically a nearby city name. For example, "Tokyo".
*/
displayName?: string | null;
/**
* Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\}
*/
labels?: {
[key: string]: string;
} | null;
/**
* The canonical id for this location. For example: `"us-east1"`.
*/
locationId?: string | null;
/**
* Service-specific metadata. For example the available capacity at the given location.
*/
metadata?: {
[key: string]: any;
} | null;
/**
* Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"`
*/
name?: string | null;
}
/**
* Determines whether or no a connection is locked. If locked, a reason must be specified.
*/
export interface Schema$LockConfig {
/**
* Indicates whether or not the connection is locked.
*/
locked?: boolean | null;
/**
* Describes why a connection is locked.
*/
reason?: string | null;
}
/**
* Struct for representing boolean expressions.
*/
export interface Schema$LogicalExpression {
/**
* A list of fields to be compared.
*/
fieldComparisons?: Schema$FieldComparison[];
/**