import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Provides a Cloudflare Access Identity Provider resource. Identity Providers are * used as an authentication or authorisation source within Access. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * // one time pin * const pinLogin = new cloudflare.AccessIdentityProvider("pin_login", { * accountId: "1d5fdc9e88c8a8c4518b068cd94331fe", * name: "PIN login", * type: "onetimepin", * }); * // oauth * const githubOauth = new cloudflare.AccessIdentityProvider("github_oauth", { * accountId: "1d5fdc9e88c8a8c4518b068cd94331fe", * configs: [{ * clientId: "example", * clientSecret: "secret_key", * }], * name: "GitHub OAuth", * type: "github", * }); * // saml * const jumpcloudSaml = new cloudflare.AccessIdentityProvider("jumpcloud_saml", { * accountId: "1d5fdc9e88c8a8c4518b068cd94331fe", * configs: [{ * attributes: [ * "email", * "username", * ], * idpPublicCert: `MIIDpDCCAoygAwIBAgIGAV2ka+55MA0GCSqGSIb3DQEBCwUAMIGSMQswCQ...GF/Q2/MHadws97cZg * uTnQyuOqPuHbnN83d/2l1NSYKCbHt24o`, * issuerUrl: "jumpcloud", * signRequest: false, * ssoTargetUrl: "https://sso.myexample.jumpcloud.com/saml2/cloudflareaccess", * }], * name: "JumpCloud SAML", * type: "saml", * }); * // okta * const okta = new cloudflare.AccessIdentityProvider("okta", { * accountId: "1d5fdc9e88c8a8c4518b068cd94331fe", * configs: [{ * apiToken: "okta_api_token", * clientId: "example", * clientSecret: "secret_key", * }], * name: "Okta", * type: "okta", * }); * ``` * * Please refer to the [developers.cloudflare.com Access documentation][accessIdentityProviderGuide] * for full reference on what is available and how to configure your provider. * * ## Import * * Access Identity Providers can be imported using a composite ID formed of account ID and Access Identity Provider ID. * * ```sh * $ pulumi import cloudflare:index/accessIdentityProvider:AccessIdentityProvider my_idp cb029e245cfdd66dc8d2e570d5dd3322/e00e1c13-e350-44fe-96c5-fb75c954871c * ``` * * [access_identity_provider_guide]https://developers.cloudflare.com/access/configuring-identity-providers/ */ export declare class AccessIdentityProvider extends pulumi.CustomResource { /** * Get an existing AccessIdentityProvider 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, state?: AccessIdentityProviderState, opts?: pulumi.CustomResourceOptions): AccessIdentityProvider; /** * Returns true if the given object is an instance of AccessIdentityProvider. 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 AccessIdentityProvider; /** * The account ID the provider should be associated with. Conflicts with `zoneId`. */ readonly accountId: pulumi.Output; /** * Provider configuration from the [developer documentation][accessIdentityProviderGuide]. */ readonly configs: pulumi.Output; /** * Friendly name of the Access Identity Provider configuration. */ readonly name: pulumi.Output; /** * The provider type to use. Must be one of: `"centrify"`, * `"facebook"`, `"google-apps"`, `"oidc"`, `"github"`, `"google"`, `"saml"`, * `"linkedin"`, `"azureAD"`, `"okta"`, `"onetimepin"`, `"onelogin"`, `"yandex"`. */ readonly type: pulumi.Output; /** * The zone ID the provider should be associated with. Conflicts with `accountId`. */ readonly zoneId: pulumi.Output; /** * Create a AccessIdentityProvider 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: AccessIdentityProviderArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AccessIdentityProvider resources. */ export interface AccessIdentityProviderState { /** * The account ID the provider should be associated with. Conflicts with `zoneId`. */ accountId?: pulumi.Input; /** * Provider configuration from the [developer documentation][accessIdentityProviderGuide]. */ configs?: pulumi.Input[]>; /** * Friendly name of the Access Identity Provider configuration. */ name?: pulumi.Input; /** * The provider type to use. Must be one of: `"centrify"`, * `"facebook"`, `"google-apps"`, `"oidc"`, `"github"`, `"google"`, `"saml"`, * `"linkedin"`, `"azureAD"`, `"okta"`, `"onetimepin"`, `"onelogin"`, `"yandex"`. */ type?: pulumi.Input; /** * The zone ID the provider should be associated with. Conflicts with `accountId`. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a AccessIdentityProvider resource. */ export interface AccessIdentityProviderArgs { /** * The account ID the provider should be associated with. Conflicts with `zoneId`. */ accountId?: pulumi.Input; /** * Provider configuration from the [developer documentation][accessIdentityProviderGuide]. */ configs?: pulumi.Input[]>; /** * Friendly name of the Access Identity Provider configuration. */ name: pulumi.Input; /** * The provider type to use. Must be one of: `"centrify"`, * `"facebook"`, `"google-apps"`, `"oidc"`, `"github"`, `"google"`, `"saml"`, * `"linkedin"`, `"azureAD"`, `"okta"`, `"onetimepin"`, `"onelogin"`, `"yandex"`. */ type: pulumi.Input; /** * The zone ID the provider should be associated with. Conflicts with `accountId`. */ zoneId?: pulumi.Input; }