1. Packages
  2. Databricks
  3. API Docs
  4. CustomAppIntegration
Databricks v1.56.0 published on Tuesday, Nov 12, 2024 by Pulumi

databricks.CustomAppIntegration

Explore with Pulumi AI

databricks logo
Databricks v1.56.0 published on Tuesday, Nov 12, 2024 by Pulumi

    Initialize provider with alias = "account", and host pointing to the account URL, like, host = "https://accounts.cloud.databricks.com". Use provider = databricks.account for all account-level resources.

    This resource allows you to enable custom OAuth applications.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as databricks from "@pulumi/databricks";
    
    const _this = new databricks.CustomAppIntegration("this", {
        name: "custom_integration_name",
        redirectUrls: ["https://example.com"],
        scopes: ["all-apis"],
        tokenAccessPolicy: {
            accessTokenTtlInMinutes: 15,
            refreshTokenTtlInMinutes: 30,
        },
    });
    
    import pulumi
    import pulumi_databricks as databricks
    
    this = databricks.CustomAppIntegration("this",
        name="custom_integration_name",
        redirect_urls=["https://example.com"],
        scopes=["all-apis"],
        token_access_policy={
            "access_token_ttl_in_minutes": 15,
            "refresh_token_ttl_in_minutes": 30,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-databricks/sdk/go/databricks"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := databricks.NewCustomAppIntegration(ctx, "this", &databricks.CustomAppIntegrationArgs{
    			Name: pulumi.String("custom_integration_name"),
    			RedirectUrls: pulumi.StringArray{
    				pulumi.String("https://example.com"),
    			},
    			Scopes: pulumi.StringArray{
    				pulumi.String("all-apis"),
    			},
    			TokenAccessPolicy: &databricks.CustomAppIntegrationTokenAccessPolicyArgs{
    				AccessTokenTtlInMinutes:  pulumi.Int(15),
    				RefreshTokenTtlInMinutes: pulumi.Int(30),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Databricks = Pulumi.Databricks;
    
    return await Deployment.RunAsync(() => 
    {
        var @this = new Databricks.CustomAppIntegration("this", new()
        {
            Name = "custom_integration_name",
            RedirectUrls = new[]
            {
                "https://example.com",
            },
            Scopes = new[]
            {
                "all-apis",
            },
            TokenAccessPolicy = new Databricks.Inputs.CustomAppIntegrationTokenAccessPolicyArgs
            {
                AccessTokenTtlInMinutes = 15,
                RefreshTokenTtlInMinutes = 30,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.databricks.CustomAppIntegration;
    import com.pulumi.databricks.CustomAppIntegrationArgs;
    import com.pulumi.databricks.inputs.CustomAppIntegrationTokenAccessPolicyArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var this_ = new CustomAppIntegration("this", CustomAppIntegrationArgs.builder()
                .name("custom_integration_name")
                .redirectUrls("https://example.com")
                .scopes("all-apis")
                .tokenAccessPolicy(CustomAppIntegrationTokenAccessPolicyArgs.builder()
                    .accessTokenTtlInMinutes(15)
                    .refreshTokenTtlInMinutes(30)
                    .build())
                .build());
    
        }
    }
    
    resources:
      this:
        type: databricks:CustomAppIntegration
        properties:
          name: custom_integration_name
          redirectUrls:
            - https://example.com
          scopes:
            - all-apis
          tokenAccessPolicy:
            accessTokenTtlInMinutes: 15
            refreshTokenTtlInMinutes: 30
    

    The following resources are used in the context:

    • databricks.MwsWorkspaces to set up Databricks workspaces.

    Create CustomAppIntegration Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new CustomAppIntegration(name: string, args?: CustomAppIntegrationArgs, opts?: CustomResourceOptions);
    @overload
    def CustomAppIntegration(resource_name: str,
                             args: Optional[CustomAppIntegrationArgs] = None,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def CustomAppIntegration(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             client_id: Optional[str] = None,
                             client_secret: Optional[str] = None,
                             confidential: Optional[bool] = None,
                             create_time: Optional[str] = None,
                             created_by: Optional[int] = None,
                             creator_username: Optional[str] = None,
                             integration_id: Optional[str] = None,
                             name: Optional[str] = None,
                             redirect_urls: Optional[Sequence[str]] = None,
                             scopes: Optional[Sequence[str]] = None,
                             token_access_policy: Optional[CustomAppIntegrationTokenAccessPolicyArgs] = None)
    func NewCustomAppIntegration(ctx *Context, name string, args *CustomAppIntegrationArgs, opts ...ResourceOption) (*CustomAppIntegration, error)
    public CustomAppIntegration(string name, CustomAppIntegrationArgs? args = null, CustomResourceOptions? opts = null)
    public CustomAppIntegration(String name, CustomAppIntegrationArgs args)
    public CustomAppIntegration(String name, CustomAppIntegrationArgs args, CustomResourceOptions options)
    
    type: databricks:CustomAppIntegration
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args CustomAppIntegrationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args CustomAppIntegrationArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args CustomAppIntegrationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CustomAppIntegrationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CustomAppIntegrationArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var customAppIntegrationResource = new Databricks.CustomAppIntegration("customAppIntegrationResource", new()
    {
        ClientId = "string",
        ClientSecret = "string",
        Confidential = false,
        CreateTime = "string",
        CreatedBy = 0,
        CreatorUsername = "string",
        IntegrationId = "string",
        Name = "string",
        RedirectUrls = new[]
        {
            "string",
        },
        Scopes = new[]
        {
            "string",
        },
        TokenAccessPolicy = new Databricks.Inputs.CustomAppIntegrationTokenAccessPolicyArgs
        {
            AccessTokenTtlInMinutes = 0,
            RefreshTokenTtlInMinutes = 0,
        },
    });
    
    example, err := databricks.NewCustomAppIntegration(ctx, "customAppIntegrationResource", &databricks.CustomAppIntegrationArgs{
    	ClientId:        pulumi.String("string"),
    	ClientSecret:    pulumi.String("string"),
    	Confidential:    pulumi.Bool(false),
    	CreateTime:      pulumi.String("string"),
    	CreatedBy:       pulumi.Int(0),
    	CreatorUsername: pulumi.String("string"),
    	IntegrationId:   pulumi.String("string"),
    	Name:            pulumi.String("string"),
    	RedirectUrls: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Scopes: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	TokenAccessPolicy: &databricks.CustomAppIntegrationTokenAccessPolicyArgs{
    		AccessTokenTtlInMinutes:  pulumi.Int(0),
    		RefreshTokenTtlInMinutes: pulumi.Int(0),
    	},
    })
    
    var customAppIntegrationResource = new CustomAppIntegration("customAppIntegrationResource", CustomAppIntegrationArgs.builder()
        .clientId("string")
        .clientSecret("string")
        .confidential(false)
        .createTime("string")
        .createdBy(0)
        .creatorUsername("string")
        .integrationId("string")
        .name("string")
        .redirectUrls("string")
        .scopes("string")
        .tokenAccessPolicy(CustomAppIntegrationTokenAccessPolicyArgs.builder()
            .accessTokenTtlInMinutes(0)
            .refreshTokenTtlInMinutes(0)
            .build())
        .build());
    
    custom_app_integration_resource = databricks.CustomAppIntegration("customAppIntegrationResource",
        client_id="string",
        client_secret="string",
        confidential=False,
        create_time="string",
        created_by=0,
        creator_username="string",
        integration_id="string",
        name="string",
        redirect_urls=["string"],
        scopes=["string"],
        token_access_policy={
            "access_token_ttl_in_minutes": 0,
            "refresh_token_ttl_in_minutes": 0,
        })
    
    const customAppIntegrationResource = new databricks.CustomAppIntegration("customAppIntegrationResource", {
        clientId: "string",
        clientSecret: "string",
        confidential: false,
        createTime: "string",
        createdBy: 0,
        creatorUsername: "string",
        integrationId: "string",
        name: "string",
        redirectUrls: ["string"],
        scopes: ["string"],
        tokenAccessPolicy: {
            accessTokenTtlInMinutes: 0,
            refreshTokenTtlInMinutes: 0,
        },
    });
    
    type: databricks:CustomAppIntegration
    properties:
        clientId: string
        clientSecret: string
        confidential: false
        createTime: string
        createdBy: 0
        creatorUsername: string
        integrationId: string
        name: string
        redirectUrls:
            - string
        scopes:
            - string
        tokenAccessPolicy:
            accessTokenTtlInMinutes: 0
            refreshTokenTtlInMinutes: 0
    

    CustomAppIntegration Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The CustomAppIntegration resource accepts the following input properties:

    ClientId string
    OAuth client-id generated by Databricks
    ClientSecret string
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    Confidential bool
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    CreateTime string
    CreatedBy int
    CreatorUsername string
    IntegrationId string
    Unique integration id for the custom OAuth app.
    Name string
    Name of the custom OAuth app. Change requires a new resource.
    RedirectUrls List<string>
    List of OAuth redirect urls.
    Scopes List<string>
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    TokenAccessPolicy CustomAppIntegrationTokenAccessPolicy
    ClientId string
    OAuth client-id generated by Databricks
    ClientSecret string
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    Confidential bool
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    CreateTime string
    CreatedBy int
    CreatorUsername string
    IntegrationId string
    Unique integration id for the custom OAuth app.
    Name string
    Name of the custom OAuth app. Change requires a new resource.
    RedirectUrls []string
    List of OAuth redirect urls.
    Scopes []string
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    TokenAccessPolicy CustomAppIntegrationTokenAccessPolicyArgs
    clientId String
    OAuth client-id generated by Databricks
    clientSecret String
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    confidential Boolean
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    createTime String
    createdBy Integer
    creatorUsername String
    integrationId String
    Unique integration id for the custom OAuth app.
    name String
    Name of the custom OAuth app. Change requires a new resource.
    redirectUrls List<String>
    List of OAuth redirect urls.
    scopes List<String>
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    tokenAccessPolicy CustomAppIntegrationTokenAccessPolicy
    clientId string
    OAuth client-id generated by Databricks
    clientSecret string
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    confidential boolean
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    createTime string
    createdBy number
    creatorUsername string
    integrationId string
    Unique integration id for the custom OAuth app.
    name string
    Name of the custom OAuth app. Change requires a new resource.
    redirectUrls string[]
    List of OAuth redirect urls.
    scopes string[]
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    tokenAccessPolicy CustomAppIntegrationTokenAccessPolicy
    client_id str
    OAuth client-id generated by Databricks
    client_secret str
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    confidential bool
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    create_time str
    created_by int
    creator_username str
    integration_id str
    Unique integration id for the custom OAuth app.
    name str
    Name of the custom OAuth app. Change requires a new resource.
    redirect_urls Sequence[str]
    List of OAuth redirect urls.
    scopes Sequence[str]
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    token_access_policy CustomAppIntegrationTokenAccessPolicyArgs
    clientId String
    OAuth client-id generated by Databricks
    clientSecret String
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    confidential Boolean
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    createTime String
    createdBy Number
    creatorUsername String
    integrationId String
    Unique integration id for the custom OAuth app.
    name String
    Name of the custom OAuth app. Change requires a new resource.
    redirectUrls List<String>
    List of OAuth redirect urls.
    scopes List<String>
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    tokenAccessPolicy Property Map

    Outputs

    All input properties are implicitly available as output properties. Additionally, the CustomAppIntegration resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing CustomAppIntegration Resource

    Get an existing CustomAppIntegration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: CustomAppIntegrationState, opts?: CustomResourceOptions): CustomAppIntegration
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            client_id: Optional[str] = None,
            client_secret: Optional[str] = None,
            confidential: Optional[bool] = None,
            create_time: Optional[str] = None,
            created_by: Optional[int] = None,
            creator_username: Optional[str] = None,
            integration_id: Optional[str] = None,
            name: Optional[str] = None,
            redirect_urls: Optional[Sequence[str]] = None,
            scopes: Optional[Sequence[str]] = None,
            token_access_policy: Optional[CustomAppIntegrationTokenAccessPolicyArgs] = None) -> CustomAppIntegration
    func GetCustomAppIntegration(ctx *Context, name string, id IDInput, state *CustomAppIntegrationState, opts ...ResourceOption) (*CustomAppIntegration, error)
    public static CustomAppIntegration Get(string name, Input<string> id, CustomAppIntegrationState? state, CustomResourceOptions? opts = null)
    public static CustomAppIntegration get(String name, Output<String> id, CustomAppIntegrationState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ClientId string
    OAuth client-id generated by Databricks
    ClientSecret string
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    Confidential bool
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    CreateTime string
    CreatedBy int
    CreatorUsername string
    IntegrationId string
    Unique integration id for the custom OAuth app.
    Name string
    Name of the custom OAuth app. Change requires a new resource.
    RedirectUrls List<string>
    List of OAuth redirect urls.
    Scopes List<string>
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    TokenAccessPolicy CustomAppIntegrationTokenAccessPolicy
    ClientId string
    OAuth client-id generated by Databricks
    ClientSecret string
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    Confidential bool
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    CreateTime string
    CreatedBy int
    CreatorUsername string
    IntegrationId string
    Unique integration id for the custom OAuth app.
    Name string
    Name of the custom OAuth app. Change requires a new resource.
    RedirectUrls []string
    List of OAuth redirect urls.
    Scopes []string
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    TokenAccessPolicy CustomAppIntegrationTokenAccessPolicyArgs
    clientId String
    OAuth client-id generated by Databricks
    clientSecret String
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    confidential Boolean
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    createTime String
    createdBy Integer
    creatorUsername String
    integrationId String
    Unique integration id for the custom OAuth app.
    name String
    Name of the custom OAuth app. Change requires a new resource.
    redirectUrls List<String>
    List of OAuth redirect urls.
    scopes List<String>
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    tokenAccessPolicy CustomAppIntegrationTokenAccessPolicy
    clientId string
    OAuth client-id generated by Databricks
    clientSecret string
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    confidential boolean
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    createTime string
    createdBy number
    creatorUsername string
    integrationId string
    Unique integration id for the custom OAuth app.
    name string
    Name of the custom OAuth app. Change requires a new resource.
    redirectUrls string[]
    List of OAuth redirect urls.
    scopes string[]
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    tokenAccessPolicy CustomAppIntegrationTokenAccessPolicy
    client_id str
    OAuth client-id generated by Databricks
    client_secret str
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    confidential bool
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    create_time str
    created_by int
    creator_username str
    integration_id str
    Unique integration id for the custom OAuth app.
    name str
    Name of the custom OAuth app. Change requires a new resource.
    redirect_urls Sequence[str]
    List of OAuth redirect urls.
    scopes Sequence[str]
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    token_access_policy CustomAppIntegrationTokenAccessPolicyArgs
    clientId String
    OAuth client-id generated by Databricks
    clientSecret String
    OAuth client-secret generated by the Databricks if this is a confidential OAuth app.
    confidential Boolean
    Indicates whether an OAuth client secret is required to authenticate this client. Default to false. Change requires a new resource.
    createTime String
    createdBy Number
    creatorUsername String
    integrationId String
    Unique integration id for the custom OAuth app.
    name String
    Name of the custom OAuth app. Change requires a new resource.
    redirectUrls List<String>
    List of OAuth redirect urls.
    scopes List<String>
    OAuth scopes granted to the application. Supported scopes: all-apis, sql, offline_access, openid, profile, email.
    tokenAccessPolicy Property Map

    Supporting Types

    CustomAppIntegrationTokenAccessPolicy, CustomAppIntegrationTokenAccessPolicyArgs

    AccessTokenTtlInMinutes int
    access token time to live (TTL) in minutes.
    RefreshTokenTtlInMinutes int
    refresh token TTL in minutes. The TTL of refresh token cannot be lower than TTL of access token.
    AccessTokenTtlInMinutes int
    access token time to live (TTL) in minutes.
    RefreshTokenTtlInMinutes int
    refresh token TTL in minutes. The TTL of refresh token cannot be lower than TTL of access token.
    accessTokenTtlInMinutes Integer
    access token time to live (TTL) in minutes.
    refreshTokenTtlInMinutes Integer
    refresh token TTL in minutes. The TTL of refresh token cannot be lower than TTL of access token.
    accessTokenTtlInMinutes number
    access token time to live (TTL) in minutes.
    refreshTokenTtlInMinutes number
    refresh token TTL in minutes. The TTL of refresh token cannot be lower than TTL of access token.
    access_token_ttl_in_minutes int
    access token time to live (TTL) in minutes.
    refresh_token_ttl_in_minutes int
    refresh token TTL in minutes. The TTL of refresh token cannot be lower than TTL of access token.
    accessTokenTtlInMinutes Number
    access token time to live (TTL) in minutes.
    refreshTokenTtlInMinutes Number
    refresh token TTL in minutes. The TTL of refresh token cannot be lower than TTL of access token.

    Import

    This resource can be imported by its integration ID.

    $ pulumi import databricks:index/customAppIntegration:CustomAppIntegration this '<integration_id>'
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    databricks pulumi/pulumi-databricks
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the databricks Terraform Provider.
    databricks logo
    Databricks v1.56.0 published on Tuesday, Nov 12, 2024 by Pulumi