import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * With this resource, you can configure the method to use when making requests to any endpoint that requires this client to authenticate. * * > Refer to the client secret rotation guide * for instructions on how to rotate client secrets with zero downtime. * * ## Import * * This resource can be imported by specifying the client ID. * * Example: * * ```sh * $ pulumi import auth0:index/clientCredentials:ClientCredentials my_creds "AaiyAPdpYdesoKnqjj8HJqRn4T5titww" * ``` * * ~> Importing this resource when the `authentication_method` is set to `private_key_jwt` will force the resource to be recreated. * * This is to be expected, because the pem file can't be checked for differences. */ export declare class ClientCredentials extends pulumi.CustomResource { /** * Get an existing ClientCredentials 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?: ClientCredentialsState, opts?: pulumi.CustomResourceOptions): ClientCredentials; /** * Returns true if the given object is an instance of ClientCredentials. 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 ClientCredentials; /** * Configure the method to use when making requests to any endpoint that requires this client to authenticate. Options include `none` (public client without a client secret), `clientSecretPost` (confidential client using HTTP POST parameters), `clientSecretBasic` (confidential client using HTTP Basic), `privateKeyJwt` (confidential client using a Private Key JWT), `tlsClientAuth` (confidential client using CA-based mTLS authentication), `selfSignedTlsClientAuth` (confidential client using mTLS authentication utilizing a self-signed certificate). */ readonly authenticationMethod: pulumi.Output; /** * The ID of the client for which to configure the authentication method. */ readonly clientId: pulumi.Output; readonly clientSecret: pulumi.Output; /** * Defines `privateKeyJwt` client authentication method. */ readonly privateKeyJwt: pulumi.Output; /** * Defines `tlsClientAuth` client authentication method. */ readonly selfSignedTlsClientAuth: pulumi.Output; /** * Configuration for JWT-secured Authorization Requests(JAR). */ readonly signedRequestObject: pulumi.Output; /** * Defines `tlsClientAuth` client authentication method. */ readonly tlsClientAuth: pulumi.Output; /** * Create a ClientCredentials 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: ClientCredentialsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ClientCredentials resources. */ export interface ClientCredentialsState { /** * Configure the method to use when making requests to any endpoint that requires this client to authenticate. Options include `none` (public client without a client secret), `clientSecretPost` (confidential client using HTTP POST parameters), `clientSecretBasic` (confidential client using HTTP Basic), `privateKeyJwt` (confidential client using a Private Key JWT), `tlsClientAuth` (confidential client using CA-based mTLS authentication), `selfSignedTlsClientAuth` (confidential client using mTLS authentication utilizing a self-signed certificate). */ authenticationMethod?: pulumi.Input; /** * The ID of the client for which to configure the authentication method. */ clientId?: pulumi.Input; clientSecret?: pulumi.Input; /** * Defines `privateKeyJwt` client authentication method. */ privateKeyJwt?: pulumi.Input; /** * Defines `tlsClientAuth` client authentication method. */ selfSignedTlsClientAuth?: pulumi.Input; /** * Configuration for JWT-secured Authorization Requests(JAR). */ signedRequestObject?: pulumi.Input; /** * Defines `tlsClientAuth` client authentication method. */ tlsClientAuth?: pulumi.Input; } /** * The set of arguments for constructing a ClientCredentials resource. */ export interface ClientCredentialsArgs { /** * Configure the method to use when making requests to any endpoint that requires this client to authenticate. Options include `none` (public client without a client secret), `clientSecretPost` (confidential client using HTTP POST parameters), `clientSecretBasic` (confidential client using HTTP Basic), `privateKeyJwt` (confidential client using a Private Key JWT), `tlsClientAuth` (confidential client using CA-based mTLS authentication), `selfSignedTlsClientAuth` (confidential client using mTLS authentication utilizing a self-signed certificate). */ authenticationMethod?: pulumi.Input; /** * The ID of the client for which to configure the authentication method. */ clientId: pulumi.Input; clientSecret?: pulumi.Input; /** * Defines `privateKeyJwt` client authentication method. */ privateKeyJwt?: pulumi.Input; /** * Defines `tlsClientAuth` client authentication method. */ selfSignedTlsClientAuth?: pulumi.Input; /** * Configuration for JWT-secured Authorization Requests(JAR). */ signedRequestObject?: pulumi.Input; /** * Defines `tlsClientAuth` client authentication method. */ tlsClientAuth?: pulumi.Input; }