UNPKG

@port-labs/port

Version:

A Pulumi package for creating and managing Port resources.

136 lines (135 loc) 5.57 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * **NOTE:** This resource manages existing integration and integration mappings, not for creating new integrations. * * Docs about integrations can be found [here](https://docs.getport.io/integrations-index/). * * Docs about how to import existing integrations and manage their mappings can be found [here](https://docs.getport.io/guides/all/import-and-manage-integration). * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as port from "@pulumi/port"; * * const myCustomIntegration = new port.index.Port_integration("myCustomIntegration", { * installationId: "my-custom-integration-id", * title: "My Custom Integration", * config: JSON.stringify({ * createMissingRelatedEntitiesboolean: true, * deleteDependentEntities: true, * resources: [{ * kind: "my-custom-kind", * selector: { * query: ".title", * }, * port: { * entity: { * mappings: [{ * identifier: "'my-identifier'", * title: ".title", * blueprint: "'my-blueprint'", * properties: { * my_property: 123, * }, * relations: {}, * }], * }, * }, * }], * }), * }); * ``` */ export declare class Integration extends pulumi.CustomResource { /** * Get an existing Integration resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: IntegrationState, opts?: pulumi.CustomResourceOptions): Integration; /** * Returns true if the given object is an instance of Integration. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Integration; /** * Integration Config Raw JSON string (use `jsonencode`) */ readonly config: pulumi.Output<string | undefined>; readonly installationAppType: pulumi.Output<string | undefined>; /** * The installation ID of the integration. Must contain only lowercase letters, numbers, and dashes (pattern: `^[a-z0-9-]+$`). */ readonly installationId: pulumi.Output<string>; /** * The changelog destination of the blueprint (just an empty `{}`) */ readonly kafkaChangelogDestination: pulumi.Output<outputs.IntegrationKafkaChangelogDestination | undefined>; readonly title: pulumi.Output<string | undefined>; readonly version: pulumi.Output<string>; /** * The webhook changelog destination of the integration */ readonly webhookChangelogDestination: pulumi.Output<outputs.IntegrationWebhookChangelogDestination | undefined>; /** * Create a Integration resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: IntegrationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Integration resources. */ export interface IntegrationState { /** * Integration Config Raw JSON string (use `jsonencode`) */ config?: pulumi.Input<string>; installationAppType?: pulumi.Input<string>; /** * The installation ID of the integration. Must contain only lowercase letters, numbers, and dashes (pattern: `^[a-z0-9-]+$`). */ installationId?: pulumi.Input<string>; /** * The changelog destination of the blueprint (just an empty `{}`) */ kafkaChangelogDestination?: pulumi.Input<inputs.IntegrationKafkaChangelogDestination>; title?: pulumi.Input<string>; version?: pulumi.Input<string>; /** * The webhook changelog destination of the integration */ webhookChangelogDestination?: pulumi.Input<inputs.IntegrationWebhookChangelogDestination>; } /** * The set of arguments for constructing a Integration resource. */ export interface IntegrationArgs { /** * Integration Config Raw JSON string (use `jsonencode`) */ config?: pulumi.Input<string>; installationAppType?: pulumi.Input<string>; /** * The installation ID of the integration. Must contain only lowercase letters, numbers, and dashes (pattern: `^[a-z0-9-]+$`). */ installationId: pulumi.Input<string>; /** * The changelog destination of the blueprint (just an empty `{}`) */ kafkaChangelogDestination?: pulumi.Input<inputs.IntegrationKafkaChangelogDestination>; title?: pulumi.Input<string>; version?: pulumi.Input<string>; /** * The webhook changelog destination of the integration */ webhookChangelogDestination?: pulumi.Input<inputs.IntegrationWebhookChangelogDestination>; }