@pulumi/databricks 0.0.1-alpha.1648473134
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +303 -0
- package/awsS3Mount.d.ts +50 -0
- package/awsS3Mount.js +63 -0
- package/awsS3Mount.js.map +1 -0
- package/azureAdlsGen1Mount.d.ts +65 -0
- package/azureAdlsGen1Mount.js +85 -0
- package/azureAdlsGen1Mount.js.map +1 -0
- package/azureAdlsGen2Mount.d.ts +68 -0
- package/azureAdlsGen2Mount.js +93 -0
- package/azureAdlsGen2Mount.js.map +1 -0
- package/azureBlobMount.d.ts +62 -0
- package/azureBlobMount.js +83 -0
- package/azureBlobMount.js.map +1 -0
- package/catalog.d.ts +124 -0
- package/catalog.js +88 -0
- package/catalog.js.map +1 -0
- package/cluster.d.ts +332 -0
- package/cluster.js +121 -0
- package/cluster.js.map +1 -0
- package/clusterPolicy.d.ts +112 -0
- package/clusterPolicy.js +97 -0
- package/clusterPolicy.js.map +1 -0
- package/config/index.d.ts +1 -0
- package/config/index.js +21 -0
- package/config/index.js.map +1 -0
- package/config/vars.d.ts +20 -0
- package/config/vars.js +127 -0
- package/config/vars.js.map +1 -0
- package/dbfsFile.d.ts +91 -0
- package/dbfsFile.js +71 -0
- package/dbfsFile.js.map +1 -0
- package/directory.d.ts +72 -0
- package/directory.js +65 -0
- package/directory.js.map +1 -0
- package/externalLocation.d.ts +114 -0
- package/externalLocation.js +80 -0
- package/externalLocation.js.map +1 -0
- package/getAwsAssumeRolePolicy.d.ts +47 -0
- package/getAwsAssumeRolePolicy.js +24 -0
- package/getAwsAssumeRolePolicy.js.map +1 -0
- package/getAwsBucketPolicy.d.ts +59 -0
- package/getAwsBucketPolicy.js +36 -0
- package/getAwsBucketPolicy.js.map +1 -0
- package/getAwsCrossAccountPolicy.d.ts +59 -0
- package/getAwsCrossAccountPolicy.js +47 -0
- package/getAwsCrossAccountPolicy.js.map +1 -0
- package/getCatalogs.d.ts +54 -0
- package/getCatalogs.js +43 -0
- package/getCatalogs.js.map +1 -0
- package/getClusters.d.ts +69 -0
- package/getClusters.js +57 -0
- package/getClusters.js.map +1 -0
- package/getCurrentUser.d.ts +39 -0
- package/getCurrentUser.js +38 -0
- package/getCurrentUser.js.map +1 -0
- package/getDbfsFile.d.ts +69 -0
- package/getDbfsFile.js +44 -0
- package/getDbfsFile.js.map +1 -0
- package/getDbfsFilePaths.d.ts +68 -0
- package/getDbfsFilePaths.js +46 -0
- package/getDbfsFilePaths.js.map +1 -0
- package/getGroup.d.ts +166 -0
- package/getGroup.js +46 -0
- package/getGroup.js.map +1 -0
- package/getJobs.d.ts +47 -0
- package/getJobs.js +30 -0
- package/getJobs.js.map +1 -0
- package/getNodeType.d.ts +173 -0
- package/getNodeType.js +71 -0
- package/getNodeType.js.map +1 -0
- package/getNotebook.d.ts +93 -0
- package/getNotebook.js +39 -0
- package/getNotebook.js.map +1 -0
- package/getNotebookPaths.d.ts +58 -0
- package/getNotebookPaths.js +36 -0
- package/getNotebookPaths.js.map +1 -0
- package/getSchemas.d.ts +65 -0
- package/getSchemas.js +45 -0
- package/getSchemas.js.map +1 -0
- package/getSparkVersion.d.ts +150 -0
- package/getSparkVersion.js +70 -0
- package/getSparkVersion.js.map +1 -0
- package/getTables.d.ts +75 -0
- package/getTables.js +47 -0
- package/getTables.js.map +1 -0
- package/getUser.d.ts +78 -0
- package/getUser.js +39 -0
- package/getUser.js.map +1 -0
- package/getZones.d.ts +29 -0
- package/getZones.js +26 -0
- package/getZones.js.map +1 -0
- package/gitCredential.d.ts +48 -0
- package/gitCredential.js +64 -0
- package/gitCredential.js.map +1 -0
- package/globalInitScript.d.ts +99 -0
- package/globalInitScript.js +68 -0
- package/globalInitScript.js.map +1 -0
- package/grants.d.ts +58 -0
- package/grants.js +64 -0
- package/grants.js.map +1 -0
- package/group.d.ts +131 -0
- package/group.js +83 -0
- package/group.js.map +1 -0
- package/groupInstanceProfile.d.ts +96 -0
- package/groupInstanceProfile.js +93 -0
- package/groupInstanceProfile.js.map +1 -0
- package/index.d.ts +81 -0
- package/index.js +362 -0
- package/index.js.map +1 -0
- package/instancePool.d.ts +166 -0
- package/instancePool.js +93 -0
- package/instancePool.js.map +1 -0
- package/instanceProfile.d.ts +180 -0
- package/instanceProfile.js +161 -0
- package/instanceProfile.js.map +1 -0
- package/ipAccessList.d.ts +128 -0
- package/ipAccessList.js +108 -0
- package/ipAccessList.js.map +1 -0
- package/job.d.ts +228 -0
- package/job.js +102 -0
- package/job.js.map +1 -0
- package/library.d.ts +183 -0
- package/library.js +189 -0
- package/library.js.map +1 -0
- package/metastore.d.ts +102 -0
- package/metastore.js +75 -0
- package/metastore.js.map +1 -0
- package/metastoreAssignment.d.ts +94 -0
- package/metastoreAssignment.js +81 -0
- package/metastoreAssignment.js.map +1 -0
- package/metastoreDataAccess.d.ts +85 -0
- package/metastoreDataAccess.js +73 -0
- package/metastoreDataAccess.js.map +1 -0
- package/mlflowExperiment.d.ts +122 -0
- package/mlflowExperiment.js +99 -0
- package/mlflowExperiment.js.map +1 -0
- package/mlflowModel.d.ts +131 -0
- package/mlflowModel.js +107 -0
- package/mlflowModel.js.map +1 -0
- package/mlflowWebhook.d.ts +129 -0
- package/mlflowWebhook.js +100 -0
- package/mlflowWebhook.js.map +1 -0
- package/mount.d.ts +89 -0
- package/mount.js +76 -0
- package/mount.js.map +1 -0
- package/mwsCredentials.d.ts +137 -0
- package/mwsCredentials.js +115 -0
- package/mwsCredentials.js.map +1 -0
- package/mwsCustomerManagedKeys.d.ts +257 -0
- package/mwsCustomerManagedKeys.js +226 -0
- package/mwsCustomerManagedKeys.js.map +1 -0
- package/mwsLogDelivery.d.ts +219 -0
- package/mwsLogDelivery.js +144 -0
- package/mwsLogDelivery.js.map +1 -0
- package/mwsNetworks.d.ts +129 -0
- package/mwsNetworks.js +89 -0
- package/mwsNetworks.js.map +1 -0
- package/mwsPrivateAccessSettings.d.ts +137 -0
- package/mwsPrivateAccessSettings.js +74 -0
- package/mwsPrivateAccessSettings.js.map +1 -0
- package/mwsStorageConfigurations.d.ts +122 -0
- package/mwsStorageConfigurations.js +106 -0
- package/mwsStorageConfigurations.js.map +1 -0
- package/mwsVpcEndpoint.d.ts +122 -0
- package/mwsVpcEndpoint.js +79 -0
- package/mwsVpcEndpoint.js.map +1 -0
- package/mwsWorkspaces.d.ts +222 -0
- package/mwsWorkspaces.js +106 -0
- package/mwsWorkspaces.js.map +1 -0
- package/notebook.d.ts +128 -0
- package/notebook.js +77 -0
- package/notebook.js.map +1 -0
- package/oboToken.d.ts +98 -0
- package/oboToken.js +82 -0
- package/oboToken.js.map +1 -0
- package/package.json +28 -0
- package/package.json.bak +28 -0
- package/package.json.dev +28 -0
- package/permissions.d.ts +211 -0
- package/permissions.js +97 -0
- package/permissions.js.map +1 -0
- package/pipeline.d.ts +200 -0
- package/pipeline.js +134 -0
- package/pipeline.js.map +1 -0
- package/provider.d.ts +61 -0
- package/provider.js +64 -0
- package/provider.js.map +1 -0
- package/repo.d.ts +117 -0
- package/repo.js +71 -0
- package/repo.js.map +1 -0
- package/schema.d.ts +149 -0
- package/schema.js +106 -0
- package/schema.js.map +1 -0
- package/scripts/install-pulumi-plugin.js +21 -0
- package/secret.d.ts +115 -0
- package/secret.js +99 -0
- package/secret.js.map +1 -0
- package/secretAcl.d.ts +115 -0
- package/secretAcl.js +105 -0
- package/secretAcl.js.map +1 -0
- package/secretScope.d.ts +85 -0
- package/secretScope.js +64 -0
- package/secretScope.js.map +1 -0
- package/servicePrincipal.d.ts +142 -0
- package/servicePrincipal.js +83 -0
- package/servicePrincipal.js.map +1 -0
- package/sqlDashboard.d.ts +90 -0
- package/sqlDashboard.js +99 -0
- package/sqlDashboard.js.map +1 -0
- package/sqlEndpoint.d.ts +249 -0
- package/sqlEndpoint.js +128 -0
- package/sqlEndpoint.js.map +1 -0
- package/sqlGlobalConfig.d.ts +157 -0
- package/sqlGlobalConfig.js +115 -0
- package/sqlGlobalConfig.js.map +1 -0
- package/sqlPermissions.d.ts +191 -0
- package/sqlPermissions.js +139 -0
- package/sqlPermissions.js.map +1 -0
- package/sqlQuery.d.ts +131 -0
- package/sqlQuery.js +139 -0
- package/sqlQuery.js.map +1 -0
- package/sqlVisualization.d.ts +105 -0
- package/sqlVisualization.js +119 -0
- package/sqlVisualization.js.map +1 -0
- package/sqlWidget.d.ts +109 -0
- package/sqlWidget.js +114 -0
- package/sqlWidget.js.map +1 -0
- package/storageCredential.d.ts +122 -0
- package/storageCredential.js +118 -0
- package/storageCredential.js.map +1 -0
- package/table.d.ts +249 -0
- package/table.js +157 -0
- package/table.js.map +1 -0
- package/token.d.ts +102 -0
- package/token.js +84 -0
- package/token.js.map +1 -0
- package/types/index.d.ts +3 -0
- package/types/index.js +11 -0
- package/types/index.js.map +1 -0
- package/types/input.d.ts +1209 -0
- package/types/input.js +5 -0
- package/types/input.js.map +1 -0
- package/types/output.d.ts +1222 -0
- package/types/output.js +5 -0
- package/types/output.js.map +1 -0
- package/user.d.ts +149 -0
- package/user.js +91 -0
- package/user.js.map +1 -0
- package/userInstanceProfile.d.ts +93 -0
- package/userInstanceProfile.js +90 -0
- package/userInstanceProfile.js.map +1 -0
- package/userRole.d.ts +106 -0
- package/userRole.js +103 -0
- package/userRole.js.map +1 -0
- package/utilities.d.ts +4 -0
- package/utilities.js +57 -0
- package/utilities.js.map +1 -0
- package/workspaceConf.d.ts +76 -0
- package/workspaceConf.js +71 -0
- package/workspaceConf.js.map +1 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* > **Note** This resource has an evolving API, which will change in the upcoming versions of the provider in order to simplify user experience.
|
|
4
|
+
*
|
|
5
|
+
* Make sure you have authenticated with username and password for Accounts Console. This resource configures the delivery of the two supported log types from Databricks workspaces: [billable usage logs](https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html) and [audit logs](https://docs.databricks.com/administration-guide/account-settings/audit-logs.html). You cannot delete a log delivery configuration, but you can disable it when you no longer need it. This fact is important because there is a limit to the number of enabled log delivery configurations that you can create for an account. You can create a maximum of two enabled using the account level *(without workspace filter)* and two that use the workspace filter. There is an additional uniqueness constraint that two enabled configurations cannot share all their fields (not including the `configName`). Re-enabling may fail when there's a violation of limit or uniqueness constraints.
|
|
6
|
+
*
|
|
7
|
+
* ## Billable Usage
|
|
8
|
+
*
|
|
9
|
+
* CSV files are delivered to `<delivery_path_prefix>/billable-usage/csv/` and are named `workspaceId=<workspace-id>-usageMonth=<month>.csv`, which are delivered daily by overwriting the month's CSV file for each workspace. Format of CSV file, as well as some usage examples, can be found [here](https://docs.databricks.com/administration-guide/account-settings/usage.html#download-usage-as-a-csv-file).
|
|
10
|
+
*
|
|
11
|
+
* Common processing scenario is to apply [cost allocation tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html), that could be enforced by setting customTags on a cluster or through cluster policy. Report contains `clusterId` field, that could be joined with data from AWS [cost and usage reports](https://docs.aws.amazon.com/cur/latest/userguide/cur-create.html), that can be joined with `user:ClusterId` tag from AWS usage report.
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as databricks from "@pulumi/databricks";
|
|
16
|
+
*
|
|
17
|
+
* const usageLogs = new databricks.MwsLogDelivery("usageLogs", {
|
|
18
|
+
* accountId: _var.databricks_account_id,
|
|
19
|
+
* credentialsId: databricks_mws_credentials.log_writer.credentials_id,
|
|
20
|
+
* storageConfigurationId: databricks_mws_storage_configurations.log_bucket.storage_configuration_id,
|
|
21
|
+
* deliveryPathPrefix: "billable-usage",
|
|
22
|
+
* configName: "Usage Logs",
|
|
23
|
+
* logType: "BILLABLE_USAGE",
|
|
24
|
+
* outputFormat: "CSV",
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* ## Audit Logs
|
|
29
|
+
*
|
|
30
|
+
* JSON files with [static schema](https://docs.databricks.com/administration-guide/account-settings/audit-logs.html#audit-log-schema) are delivered to `<delivery_path_prefix>/workspaceId=<workspaceId>/date=<yyyy-mm-dd>/auditlogs_<internal-id>.json`. Logs are available within 15 minutes of activation for audit logs. New JSON files are delivered every few minutes, potentially overwriting existing files for each workspace. Sometimes data may arrive later than 15 minutes. Databricks can overwrite the delivered log files in your bucket at any time. If a file is overwritten, the existing content remains, but there may be additional lines for more auditable events. Overwriting ensures exactly-once semantics without requiring read or delete access to your account.
|
|
31
|
+
*
|
|
32
|
+
* ```typescript
|
|
33
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
34
|
+
* import * as databricks from "@pulumi/databricks";
|
|
35
|
+
*
|
|
36
|
+
* const auditLogs = new databricks.MwsLogDelivery("auditLogs", {
|
|
37
|
+
* accountId: _var.databricks_account_id,
|
|
38
|
+
* credentialsId: databricks_mws_credentials.log_writer.credentials_id,
|
|
39
|
+
* storageConfigurationId: databricks_mws_storage_configurations.log_bucket.storage_configuration_id,
|
|
40
|
+
* deliveryPathPrefix: "audit-logs",
|
|
41
|
+
* configName: "Audit Logs",
|
|
42
|
+
* logType: "AUDIT_LOGS",
|
|
43
|
+
* outputFormat: "JSON",
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* ## Related Resources
|
|
48
|
+
*
|
|
49
|
+
* The following resources are used in the same context:
|
|
50
|
+
*
|
|
51
|
+
* * Provisioning Databricks on AWS guide.
|
|
52
|
+
* * databricks.MwsCredentials to configure the cross-account role for creation of new workspaces within AWS.
|
|
53
|
+
* * databricks.MwsCustomerManagedKeys to configure KMS keys for new workspaces within AWS.
|
|
54
|
+
* * databricks.MwsNetworks to [configure VPC](https://docs.databricks.com/administration-guide/cloud-configurations/aws/customer-managed-vpc.html) & subnets for new workspaces within AWS.
|
|
55
|
+
* * databricks.MwsStorageConfigurations to configure root bucket new workspaces within AWS.
|
|
56
|
+
* * databricks.MwsWorkspaces to set up [workspaces in E2 architecture on AWS](https://docs.databricks.com/getting-started/overview.html#e2-architecture-1).
|
|
57
|
+
*
|
|
58
|
+
* ## Import
|
|
59
|
+
*
|
|
60
|
+
* -> **Note** Importing this resource is not currently supported.
|
|
61
|
+
*/
|
|
62
|
+
export declare class MwsLogDelivery extends pulumi.CustomResource {
|
|
63
|
+
/**
|
|
64
|
+
* Get an existing MwsLogDelivery resource's state with the given name, ID, and optional extra
|
|
65
|
+
* properties used to qualify the lookup.
|
|
66
|
+
*
|
|
67
|
+
* @param name The _unique_ name of the resulting resource.
|
|
68
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
69
|
+
* @param state Any extra arguments used during the lookup.
|
|
70
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
71
|
+
*/
|
|
72
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MwsLogDeliveryState, opts?: pulumi.CustomResourceOptions): MwsLogDelivery;
|
|
73
|
+
/**
|
|
74
|
+
* Returns true if the given object is an instance of MwsLogDelivery. This is designed to work even
|
|
75
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
76
|
+
*/
|
|
77
|
+
static isInstance(obj: any): obj is MwsLogDelivery;
|
|
78
|
+
/**
|
|
79
|
+
* Account Id that could be found in the bottom left corner of [Accounts Console](https://accounts.cloud.databricks.com/).
|
|
80
|
+
*/
|
|
81
|
+
readonly accountId: pulumi.Output<string>;
|
|
82
|
+
/**
|
|
83
|
+
* Databricks log delivery configuration ID.
|
|
84
|
+
*/
|
|
85
|
+
readonly configId: pulumi.Output<string>;
|
|
86
|
+
/**
|
|
87
|
+
* The optional human-readable name of the log delivery configuration. Defaults to empty.
|
|
88
|
+
*/
|
|
89
|
+
readonly configName: pulumi.Output<string | undefined>;
|
|
90
|
+
/**
|
|
91
|
+
* The ID for a Databricks credential configuration that represents the AWS IAM role with policy and trust relationship as described in the main billable usage documentation page.
|
|
92
|
+
*/
|
|
93
|
+
readonly credentialsId: pulumi.Output<string>;
|
|
94
|
+
/**
|
|
95
|
+
* Defaults to empty, which means that logs are delivered to the root of the bucket. The value must be a valid S3 object key. It must not start or end with a slash character.
|
|
96
|
+
*/
|
|
97
|
+
readonly deliveryPathPrefix: pulumi.Output<string | undefined>;
|
|
98
|
+
/**
|
|
99
|
+
* The optional start month and year for delivery, specified in YYYY-MM format. Defaults to current year and month. Usage is not available before 2019-03.
|
|
100
|
+
*/
|
|
101
|
+
readonly deliveryStartTime: pulumi.Output<string>;
|
|
102
|
+
/**
|
|
103
|
+
* The type of log delivery. `BILLABLE_USAGE` and `AUDIT_LOGS` are supported.
|
|
104
|
+
*/
|
|
105
|
+
readonly logType: pulumi.Output<string>;
|
|
106
|
+
/**
|
|
107
|
+
* The file type of log delivery. Currently `CSV` (for `BILLABLE_USAGE`) and `JSON` (for `AUDIT_LOGS`) are supported.
|
|
108
|
+
*/
|
|
109
|
+
readonly outputFormat: pulumi.Output<string>;
|
|
110
|
+
readonly status: pulumi.Output<string>;
|
|
111
|
+
/**
|
|
112
|
+
* The ID for a Databricks storage configuration that represents the S3 bucket with bucket policy as described in the main billable usage documentation page.
|
|
113
|
+
*/
|
|
114
|
+
readonly storageConfigurationId: pulumi.Output<string>;
|
|
115
|
+
/**
|
|
116
|
+
* By default, this log configuration applies to all workspaces associated with your account ID. If your account is on the E2 version of the platform or on a select custom plan that allows multiple workspaces per account, you may have multiple workspaces associated with your account ID. You can optionally set the field as mentioned earlier to an array of workspace IDs. If you plan to use different log delivery configurations for several workspaces, set this explicitly rather than leaving it blank. If you leave this blank and your account ID gets additional workspaces in the future, this configuration will also apply to the new workspaces.
|
|
117
|
+
*/
|
|
118
|
+
readonly workspaceIdsFilters: pulumi.Output<number[] | undefined>;
|
|
119
|
+
/**
|
|
120
|
+
* Create a MwsLogDelivery resource with the given unique name, arguments, and options.
|
|
121
|
+
*
|
|
122
|
+
* @param name The _unique_ name of the resource.
|
|
123
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
124
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
125
|
+
*/
|
|
126
|
+
constructor(name: string, args: MwsLogDeliveryArgs, opts?: pulumi.CustomResourceOptions);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Input properties used for looking up and filtering MwsLogDelivery resources.
|
|
130
|
+
*/
|
|
131
|
+
export interface MwsLogDeliveryState {
|
|
132
|
+
/**
|
|
133
|
+
* Account Id that could be found in the bottom left corner of [Accounts Console](https://accounts.cloud.databricks.com/).
|
|
134
|
+
*/
|
|
135
|
+
accountId?: pulumi.Input<string>;
|
|
136
|
+
/**
|
|
137
|
+
* Databricks log delivery configuration ID.
|
|
138
|
+
*/
|
|
139
|
+
configId?: pulumi.Input<string>;
|
|
140
|
+
/**
|
|
141
|
+
* The optional human-readable name of the log delivery configuration. Defaults to empty.
|
|
142
|
+
*/
|
|
143
|
+
configName?: pulumi.Input<string>;
|
|
144
|
+
/**
|
|
145
|
+
* The ID for a Databricks credential configuration that represents the AWS IAM role with policy and trust relationship as described in the main billable usage documentation page.
|
|
146
|
+
*/
|
|
147
|
+
credentialsId?: pulumi.Input<string>;
|
|
148
|
+
/**
|
|
149
|
+
* Defaults to empty, which means that logs are delivered to the root of the bucket. The value must be a valid S3 object key. It must not start or end with a slash character.
|
|
150
|
+
*/
|
|
151
|
+
deliveryPathPrefix?: pulumi.Input<string>;
|
|
152
|
+
/**
|
|
153
|
+
* The optional start month and year for delivery, specified in YYYY-MM format. Defaults to current year and month. Usage is not available before 2019-03.
|
|
154
|
+
*/
|
|
155
|
+
deliveryStartTime?: pulumi.Input<string>;
|
|
156
|
+
/**
|
|
157
|
+
* The type of log delivery. `BILLABLE_USAGE` and `AUDIT_LOGS` are supported.
|
|
158
|
+
*/
|
|
159
|
+
logType?: pulumi.Input<string>;
|
|
160
|
+
/**
|
|
161
|
+
* The file type of log delivery. Currently `CSV` (for `BILLABLE_USAGE`) and `JSON` (for `AUDIT_LOGS`) are supported.
|
|
162
|
+
*/
|
|
163
|
+
outputFormat?: pulumi.Input<string>;
|
|
164
|
+
status?: pulumi.Input<string>;
|
|
165
|
+
/**
|
|
166
|
+
* The ID for a Databricks storage configuration that represents the S3 bucket with bucket policy as described in the main billable usage documentation page.
|
|
167
|
+
*/
|
|
168
|
+
storageConfigurationId?: pulumi.Input<string>;
|
|
169
|
+
/**
|
|
170
|
+
* By default, this log configuration applies to all workspaces associated with your account ID. If your account is on the E2 version of the platform or on a select custom plan that allows multiple workspaces per account, you may have multiple workspaces associated with your account ID. You can optionally set the field as mentioned earlier to an array of workspace IDs. If you plan to use different log delivery configurations for several workspaces, set this explicitly rather than leaving it blank. If you leave this blank and your account ID gets additional workspaces in the future, this configuration will also apply to the new workspaces.
|
|
171
|
+
*/
|
|
172
|
+
workspaceIdsFilters?: pulumi.Input<pulumi.Input<number>[]>;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* The set of arguments for constructing a MwsLogDelivery resource.
|
|
176
|
+
*/
|
|
177
|
+
export interface MwsLogDeliveryArgs {
|
|
178
|
+
/**
|
|
179
|
+
* Account Id that could be found in the bottom left corner of [Accounts Console](https://accounts.cloud.databricks.com/).
|
|
180
|
+
*/
|
|
181
|
+
accountId: pulumi.Input<string>;
|
|
182
|
+
/**
|
|
183
|
+
* Databricks log delivery configuration ID.
|
|
184
|
+
*/
|
|
185
|
+
configId?: pulumi.Input<string>;
|
|
186
|
+
/**
|
|
187
|
+
* The optional human-readable name of the log delivery configuration. Defaults to empty.
|
|
188
|
+
*/
|
|
189
|
+
configName?: pulumi.Input<string>;
|
|
190
|
+
/**
|
|
191
|
+
* The ID for a Databricks credential configuration that represents the AWS IAM role with policy and trust relationship as described in the main billable usage documentation page.
|
|
192
|
+
*/
|
|
193
|
+
credentialsId: pulumi.Input<string>;
|
|
194
|
+
/**
|
|
195
|
+
* Defaults to empty, which means that logs are delivered to the root of the bucket. The value must be a valid S3 object key. It must not start or end with a slash character.
|
|
196
|
+
*/
|
|
197
|
+
deliveryPathPrefix?: pulumi.Input<string>;
|
|
198
|
+
/**
|
|
199
|
+
* The optional start month and year for delivery, specified in YYYY-MM format. Defaults to current year and month. Usage is not available before 2019-03.
|
|
200
|
+
*/
|
|
201
|
+
deliveryStartTime?: pulumi.Input<string>;
|
|
202
|
+
/**
|
|
203
|
+
* The type of log delivery. `BILLABLE_USAGE` and `AUDIT_LOGS` are supported.
|
|
204
|
+
*/
|
|
205
|
+
logType: pulumi.Input<string>;
|
|
206
|
+
/**
|
|
207
|
+
* The file type of log delivery. Currently `CSV` (for `BILLABLE_USAGE`) and `JSON` (for `AUDIT_LOGS`) are supported.
|
|
208
|
+
*/
|
|
209
|
+
outputFormat: pulumi.Input<string>;
|
|
210
|
+
status?: pulumi.Input<string>;
|
|
211
|
+
/**
|
|
212
|
+
* The ID for a Databricks storage configuration that represents the S3 bucket with bucket policy as described in the main billable usage documentation page.
|
|
213
|
+
*/
|
|
214
|
+
storageConfigurationId: pulumi.Input<string>;
|
|
215
|
+
/**
|
|
216
|
+
* By default, this log configuration applies to all workspaces associated with your account ID. If your account is on the E2 version of the platform or on a select custom plan that allows multiple workspaces per account, you may have multiple workspaces associated with your account ID. You can optionally set the field as mentioned earlier to an array of workspace IDs. If you plan to use different log delivery configurations for several workspaces, set this explicitly rather than leaving it blank. If you leave this blank and your account ID gets additional workspaces in the future, this configuration will also apply to the new workspaces.
|
|
217
|
+
*/
|
|
218
|
+
workspaceIdsFilters?: pulumi.Input<pulumi.Input<number>[]>;
|
|
219
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.MwsLogDelivery = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* > **Note** This resource has an evolving API, which will change in the upcoming versions of the provider in order to simplify user experience.
|
|
10
|
+
*
|
|
11
|
+
* Make sure you have authenticated with username and password for Accounts Console. This resource configures the delivery of the two supported log types from Databricks workspaces: [billable usage logs](https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html) and [audit logs](https://docs.databricks.com/administration-guide/account-settings/audit-logs.html). You cannot delete a log delivery configuration, but you can disable it when you no longer need it. This fact is important because there is a limit to the number of enabled log delivery configurations that you can create for an account. You can create a maximum of two enabled using the account level *(without workspace filter)* and two that use the workspace filter. There is an additional uniqueness constraint that two enabled configurations cannot share all their fields (not including the `configName`). Re-enabling may fail when there's a violation of limit or uniqueness constraints.
|
|
12
|
+
*
|
|
13
|
+
* ## Billable Usage
|
|
14
|
+
*
|
|
15
|
+
* CSV files are delivered to `<delivery_path_prefix>/billable-usage/csv/` and are named `workspaceId=<workspace-id>-usageMonth=<month>.csv`, which are delivered daily by overwriting the month's CSV file for each workspace. Format of CSV file, as well as some usage examples, can be found [here](https://docs.databricks.com/administration-guide/account-settings/usage.html#download-usage-as-a-csv-file).
|
|
16
|
+
*
|
|
17
|
+
* Common processing scenario is to apply [cost allocation tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html), that could be enforced by setting customTags on a cluster or through cluster policy. Report contains `clusterId` field, that could be joined with data from AWS [cost and usage reports](https://docs.aws.amazon.com/cur/latest/userguide/cur-create.html), that can be joined with `user:ClusterId` tag from AWS usage report.
|
|
18
|
+
*
|
|
19
|
+
* ```typescript
|
|
20
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
21
|
+
* import * as databricks from "@pulumi/databricks";
|
|
22
|
+
*
|
|
23
|
+
* const usageLogs = new databricks.MwsLogDelivery("usageLogs", {
|
|
24
|
+
* accountId: _var.databricks_account_id,
|
|
25
|
+
* credentialsId: databricks_mws_credentials.log_writer.credentials_id,
|
|
26
|
+
* storageConfigurationId: databricks_mws_storage_configurations.log_bucket.storage_configuration_id,
|
|
27
|
+
* deliveryPathPrefix: "billable-usage",
|
|
28
|
+
* configName: "Usage Logs",
|
|
29
|
+
* logType: "BILLABLE_USAGE",
|
|
30
|
+
* outputFormat: "CSV",
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* ## Audit Logs
|
|
35
|
+
*
|
|
36
|
+
* JSON files with [static schema](https://docs.databricks.com/administration-guide/account-settings/audit-logs.html#audit-log-schema) are delivered to `<delivery_path_prefix>/workspaceId=<workspaceId>/date=<yyyy-mm-dd>/auditlogs_<internal-id>.json`. Logs are available within 15 minutes of activation for audit logs. New JSON files are delivered every few minutes, potentially overwriting existing files for each workspace. Sometimes data may arrive later than 15 minutes. Databricks can overwrite the delivered log files in your bucket at any time. If a file is overwritten, the existing content remains, but there may be additional lines for more auditable events. Overwriting ensures exactly-once semantics without requiring read or delete access to your account.
|
|
37
|
+
*
|
|
38
|
+
* ```typescript
|
|
39
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
40
|
+
* import * as databricks from "@pulumi/databricks";
|
|
41
|
+
*
|
|
42
|
+
* const auditLogs = new databricks.MwsLogDelivery("auditLogs", {
|
|
43
|
+
* accountId: _var.databricks_account_id,
|
|
44
|
+
* credentialsId: databricks_mws_credentials.log_writer.credentials_id,
|
|
45
|
+
* storageConfigurationId: databricks_mws_storage_configurations.log_bucket.storage_configuration_id,
|
|
46
|
+
* deliveryPathPrefix: "audit-logs",
|
|
47
|
+
* configName: "Audit Logs",
|
|
48
|
+
* logType: "AUDIT_LOGS",
|
|
49
|
+
* outputFormat: "JSON",
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* ## Related Resources
|
|
54
|
+
*
|
|
55
|
+
* The following resources are used in the same context:
|
|
56
|
+
*
|
|
57
|
+
* * Provisioning Databricks on AWS guide.
|
|
58
|
+
* * databricks.MwsCredentials to configure the cross-account role for creation of new workspaces within AWS.
|
|
59
|
+
* * databricks.MwsCustomerManagedKeys to configure KMS keys for new workspaces within AWS.
|
|
60
|
+
* * databricks.MwsNetworks to [configure VPC](https://docs.databricks.com/administration-guide/cloud-configurations/aws/customer-managed-vpc.html) & subnets for new workspaces within AWS.
|
|
61
|
+
* * databricks.MwsStorageConfigurations to configure root bucket new workspaces within AWS.
|
|
62
|
+
* * databricks.MwsWorkspaces to set up [workspaces in E2 architecture on AWS](https://docs.databricks.com/getting-started/overview.html#e2-architecture-1).
|
|
63
|
+
*
|
|
64
|
+
* ## Import
|
|
65
|
+
*
|
|
66
|
+
* -> **Note** Importing this resource is not currently supported.
|
|
67
|
+
*/
|
|
68
|
+
class MwsLogDelivery extends pulumi.CustomResource {
|
|
69
|
+
constructor(name, argsOrState, opts) {
|
|
70
|
+
let resourceInputs = {};
|
|
71
|
+
opts = opts || {};
|
|
72
|
+
if (opts.id) {
|
|
73
|
+
const state = argsOrState;
|
|
74
|
+
resourceInputs["accountId"] = state ? state.accountId : undefined;
|
|
75
|
+
resourceInputs["configId"] = state ? state.configId : undefined;
|
|
76
|
+
resourceInputs["configName"] = state ? state.configName : undefined;
|
|
77
|
+
resourceInputs["credentialsId"] = state ? state.credentialsId : undefined;
|
|
78
|
+
resourceInputs["deliveryPathPrefix"] = state ? state.deliveryPathPrefix : undefined;
|
|
79
|
+
resourceInputs["deliveryStartTime"] = state ? state.deliveryStartTime : undefined;
|
|
80
|
+
resourceInputs["logType"] = state ? state.logType : undefined;
|
|
81
|
+
resourceInputs["outputFormat"] = state ? state.outputFormat : undefined;
|
|
82
|
+
resourceInputs["status"] = state ? state.status : undefined;
|
|
83
|
+
resourceInputs["storageConfigurationId"] = state ? state.storageConfigurationId : undefined;
|
|
84
|
+
resourceInputs["workspaceIdsFilters"] = state ? state.workspaceIdsFilters : undefined;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const args = argsOrState;
|
|
88
|
+
if ((!args || args.accountId === undefined) && !opts.urn) {
|
|
89
|
+
throw new Error("Missing required property 'accountId'");
|
|
90
|
+
}
|
|
91
|
+
if ((!args || args.credentialsId === undefined) && !opts.urn) {
|
|
92
|
+
throw new Error("Missing required property 'credentialsId'");
|
|
93
|
+
}
|
|
94
|
+
if ((!args || args.logType === undefined) && !opts.urn) {
|
|
95
|
+
throw new Error("Missing required property 'logType'");
|
|
96
|
+
}
|
|
97
|
+
if ((!args || args.outputFormat === undefined) && !opts.urn) {
|
|
98
|
+
throw new Error("Missing required property 'outputFormat'");
|
|
99
|
+
}
|
|
100
|
+
if ((!args || args.storageConfigurationId === undefined) && !opts.urn) {
|
|
101
|
+
throw new Error("Missing required property 'storageConfigurationId'");
|
|
102
|
+
}
|
|
103
|
+
resourceInputs["accountId"] = args ? args.accountId : undefined;
|
|
104
|
+
resourceInputs["configId"] = args ? args.configId : undefined;
|
|
105
|
+
resourceInputs["configName"] = args ? args.configName : undefined;
|
|
106
|
+
resourceInputs["credentialsId"] = args ? args.credentialsId : undefined;
|
|
107
|
+
resourceInputs["deliveryPathPrefix"] = args ? args.deliveryPathPrefix : undefined;
|
|
108
|
+
resourceInputs["deliveryStartTime"] = args ? args.deliveryStartTime : undefined;
|
|
109
|
+
resourceInputs["logType"] = args ? args.logType : undefined;
|
|
110
|
+
resourceInputs["outputFormat"] = args ? args.outputFormat : undefined;
|
|
111
|
+
resourceInputs["status"] = args ? args.status : undefined;
|
|
112
|
+
resourceInputs["storageConfigurationId"] = args ? args.storageConfigurationId : undefined;
|
|
113
|
+
resourceInputs["workspaceIdsFilters"] = args ? args.workspaceIdsFilters : undefined;
|
|
114
|
+
}
|
|
115
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
116
|
+
super(MwsLogDelivery.__pulumiType, name, resourceInputs, opts);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get an existing MwsLogDelivery resource's state with the given name, ID, and optional extra
|
|
120
|
+
* properties used to qualify the lookup.
|
|
121
|
+
*
|
|
122
|
+
* @param name The _unique_ name of the resulting resource.
|
|
123
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
124
|
+
* @param state Any extra arguments used during the lookup.
|
|
125
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
126
|
+
*/
|
|
127
|
+
static get(name, id, state, opts) {
|
|
128
|
+
return new MwsLogDelivery(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Returns true if the given object is an instance of MwsLogDelivery. This is designed to work even
|
|
132
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
133
|
+
*/
|
|
134
|
+
static isInstance(obj) {
|
|
135
|
+
if (obj === undefined || obj === null) {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
return obj['__pulumiType'] === MwsLogDelivery.__pulumiType;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.MwsLogDelivery = MwsLogDelivery;
|
|
142
|
+
/** @internal */
|
|
143
|
+
MwsLogDelivery.__pulumiType = 'databricks:index/mwsLogDelivery:MwsLogDelivery';
|
|
144
|
+
//# sourceMappingURL=mwsLogDelivery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mwsLogDelivery.js","sourceRoot":"","sources":["../mwsLogDelivery.ts"],"names":[],"mappings":"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"}
|
package/mwsNetworks.d.ts
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import { input as inputs, output as outputs } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* ## Import
|
|
5
|
+
*
|
|
6
|
+
* -> **Note** Importing this resource is not currently supported.
|
|
7
|
+
*/
|
|
8
|
+
export declare class MwsNetworks extends pulumi.CustomResource {
|
|
9
|
+
/**
|
|
10
|
+
* Get an existing MwsNetworks resource's state with the given name, ID, and optional extra
|
|
11
|
+
* properties used to qualify the lookup.
|
|
12
|
+
*
|
|
13
|
+
* @param name The _unique_ name of the resulting resource.
|
|
14
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
15
|
+
* @param state Any extra arguments used during the lookup.
|
|
16
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
17
|
+
*/
|
|
18
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MwsNetworksState, opts?: pulumi.CustomResourceOptions): MwsNetworks;
|
|
19
|
+
/**
|
|
20
|
+
* Returns true if the given object is an instance of MwsNetworks. This is designed to work even
|
|
21
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
22
|
+
*/
|
|
23
|
+
static isInstance(obj: any): obj is MwsNetworks;
|
|
24
|
+
/**
|
|
25
|
+
* Account Id that could be found in the bottom left corner of [Accounts Console](https://accounts.cloud.databricks.com/)
|
|
26
|
+
*/
|
|
27
|
+
readonly accountId: pulumi.Output<string>;
|
|
28
|
+
readonly creationTime: pulumi.Output<number>;
|
|
29
|
+
readonly errorMessages: pulumi.Output<outputs.MwsNetworksErrorMessage[]>;
|
|
30
|
+
/**
|
|
31
|
+
* (String) id of network to be used for databricksMwsWorkspace resource.
|
|
32
|
+
*/
|
|
33
|
+
readonly networkId: pulumi.Output<string>;
|
|
34
|
+
/**
|
|
35
|
+
* name under which this network is regisstered
|
|
36
|
+
*/
|
|
37
|
+
readonly networkName: pulumi.Output<string>;
|
|
38
|
+
readonly securityGroupIds: pulumi.Output<string[]>;
|
|
39
|
+
readonly subnetIds: pulumi.Output<string[]>;
|
|
40
|
+
/**
|
|
41
|
+
* mapping of databricks.MwsVpcEndpoint for PrivateLink connections
|
|
42
|
+
*/
|
|
43
|
+
readonly vpcEndpoints: pulumi.Output<outputs.MwsNetworksVpcEndpoints>;
|
|
44
|
+
readonly vpcId: pulumi.Output<string>;
|
|
45
|
+
/**
|
|
46
|
+
* (String) VPC attachment status
|
|
47
|
+
*/
|
|
48
|
+
readonly vpcStatus: pulumi.Output<string>;
|
|
49
|
+
/**
|
|
50
|
+
* (Integer) id of associated workspace
|
|
51
|
+
*/
|
|
52
|
+
readonly workspaceId: pulumi.Output<number>;
|
|
53
|
+
/**
|
|
54
|
+
* Create a MwsNetworks resource with the given unique name, arguments, and options.
|
|
55
|
+
*
|
|
56
|
+
* @param name The _unique_ name of the resource.
|
|
57
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
58
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
59
|
+
*/
|
|
60
|
+
constructor(name: string, args: MwsNetworksArgs, opts?: pulumi.CustomResourceOptions);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Input properties used for looking up and filtering MwsNetworks resources.
|
|
64
|
+
*/
|
|
65
|
+
export interface MwsNetworksState {
|
|
66
|
+
/**
|
|
67
|
+
* Account Id that could be found in the bottom left corner of [Accounts Console](https://accounts.cloud.databricks.com/)
|
|
68
|
+
*/
|
|
69
|
+
accountId?: pulumi.Input<string>;
|
|
70
|
+
creationTime?: pulumi.Input<number>;
|
|
71
|
+
errorMessages?: pulumi.Input<pulumi.Input<inputs.MwsNetworksErrorMessage>[]>;
|
|
72
|
+
/**
|
|
73
|
+
* (String) id of network to be used for databricksMwsWorkspace resource.
|
|
74
|
+
*/
|
|
75
|
+
networkId?: pulumi.Input<string>;
|
|
76
|
+
/**
|
|
77
|
+
* name under which this network is regisstered
|
|
78
|
+
*/
|
|
79
|
+
networkName?: pulumi.Input<string>;
|
|
80
|
+
securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
|
|
81
|
+
subnetIds?: pulumi.Input<pulumi.Input<string>[]>;
|
|
82
|
+
/**
|
|
83
|
+
* mapping of databricks.MwsVpcEndpoint for PrivateLink connections
|
|
84
|
+
*/
|
|
85
|
+
vpcEndpoints?: pulumi.Input<inputs.MwsNetworksVpcEndpoints>;
|
|
86
|
+
vpcId?: pulumi.Input<string>;
|
|
87
|
+
/**
|
|
88
|
+
* (String) VPC attachment status
|
|
89
|
+
*/
|
|
90
|
+
vpcStatus?: pulumi.Input<string>;
|
|
91
|
+
/**
|
|
92
|
+
* (Integer) id of associated workspace
|
|
93
|
+
*/
|
|
94
|
+
workspaceId?: pulumi.Input<number>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The set of arguments for constructing a MwsNetworks resource.
|
|
98
|
+
*/
|
|
99
|
+
export interface MwsNetworksArgs {
|
|
100
|
+
/**
|
|
101
|
+
* Account Id that could be found in the bottom left corner of [Accounts Console](https://accounts.cloud.databricks.com/)
|
|
102
|
+
*/
|
|
103
|
+
accountId: pulumi.Input<string>;
|
|
104
|
+
creationTime?: pulumi.Input<number>;
|
|
105
|
+
errorMessages?: pulumi.Input<pulumi.Input<inputs.MwsNetworksErrorMessage>[]>;
|
|
106
|
+
/**
|
|
107
|
+
* (String) id of network to be used for databricksMwsWorkspace resource.
|
|
108
|
+
*/
|
|
109
|
+
networkId?: pulumi.Input<string>;
|
|
110
|
+
/**
|
|
111
|
+
* name under which this network is regisstered
|
|
112
|
+
*/
|
|
113
|
+
networkName: pulumi.Input<string>;
|
|
114
|
+
securityGroupIds: pulumi.Input<pulumi.Input<string>[]>;
|
|
115
|
+
subnetIds: pulumi.Input<pulumi.Input<string>[]>;
|
|
116
|
+
/**
|
|
117
|
+
* mapping of databricks.MwsVpcEndpoint for PrivateLink connections
|
|
118
|
+
*/
|
|
119
|
+
vpcEndpoints?: pulumi.Input<inputs.MwsNetworksVpcEndpoints>;
|
|
120
|
+
vpcId: pulumi.Input<string>;
|
|
121
|
+
/**
|
|
122
|
+
* (String) VPC attachment status
|
|
123
|
+
*/
|
|
124
|
+
vpcStatus?: pulumi.Input<string>;
|
|
125
|
+
/**
|
|
126
|
+
* (Integer) id of associated workspace
|
|
127
|
+
*/
|
|
128
|
+
workspaceId?: pulumi.Input<number>;
|
|
129
|
+
}
|
package/mwsNetworks.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.MwsNetworks = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* ## Import
|
|
10
|
+
*
|
|
11
|
+
* -> **Note** Importing this resource is not currently supported.
|
|
12
|
+
*/
|
|
13
|
+
class MwsNetworks extends pulumi.CustomResource {
|
|
14
|
+
constructor(name, argsOrState, opts) {
|
|
15
|
+
let resourceInputs = {};
|
|
16
|
+
opts = opts || {};
|
|
17
|
+
if (opts.id) {
|
|
18
|
+
const state = argsOrState;
|
|
19
|
+
resourceInputs["accountId"] = state ? state.accountId : undefined;
|
|
20
|
+
resourceInputs["creationTime"] = state ? state.creationTime : undefined;
|
|
21
|
+
resourceInputs["errorMessages"] = state ? state.errorMessages : undefined;
|
|
22
|
+
resourceInputs["networkId"] = state ? state.networkId : undefined;
|
|
23
|
+
resourceInputs["networkName"] = state ? state.networkName : undefined;
|
|
24
|
+
resourceInputs["securityGroupIds"] = state ? state.securityGroupIds : undefined;
|
|
25
|
+
resourceInputs["subnetIds"] = state ? state.subnetIds : undefined;
|
|
26
|
+
resourceInputs["vpcEndpoints"] = state ? state.vpcEndpoints : undefined;
|
|
27
|
+
resourceInputs["vpcId"] = state ? state.vpcId : undefined;
|
|
28
|
+
resourceInputs["vpcStatus"] = state ? state.vpcStatus : undefined;
|
|
29
|
+
resourceInputs["workspaceId"] = state ? state.workspaceId : undefined;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
const args = argsOrState;
|
|
33
|
+
if ((!args || args.accountId === undefined) && !opts.urn) {
|
|
34
|
+
throw new Error("Missing required property 'accountId'");
|
|
35
|
+
}
|
|
36
|
+
if ((!args || args.networkName === undefined) && !opts.urn) {
|
|
37
|
+
throw new Error("Missing required property 'networkName'");
|
|
38
|
+
}
|
|
39
|
+
if ((!args || args.securityGroupIds === undefined) && !opts.urn) {
|
|
40
|
+
throw new Error("Missing required property 'securityGroupIds'");
|
|
41
|
+
}
|
|
42
|
+
if ((!args || args.subnetIds === undefined) && !opts.urn) {
|
|
43
|
+
throw new Error("Missing required property 'subnetIds'");
|
|
44
|
+
}
|
|
45
|
+
if ((!args || args.vpcId === undefined) && !opts.urn) {
|
|
46
|
+
throw new Error("Missing required property 'vpcId'");
|
|
47
|
+
}
|
|
48
|
+
resourceInputs["accountId"] = args ? args.accountId : undefined;
|
|
49
|
+
resourceInputs["creationTime"] = args ? args.creationTime : undefined;
|
|
50
|
+
resourceInputs["errorMessages"] = args ? args.errorMessages : undefined;
|
|
51
|
+
resourceInputs["networkId"] = args ? args.networkId : undefined;
|
|
52
|
+
resourceInputs["networkName"] = args ? args.networkName : undefined;
|
|
53
|
+
resourceInputs["securityGroupIds"] = args ? args.securityGroupIds : undefined;
|
|
54
|
+
resourceInputs["subnetIds"] = args ? args.subnetIds : undefined;
|
|
55
|
+
resourceInputs["vpcEndpoints"] = args ? args.vpcEndpoints : undefined;
|
|
56
|
+
resourceInputs["vpcId"] = args ? args.vpcId : undefined;
|
|
57
|
+
resourceInputs["vpcStatus"] = args ? args.vpcStatus : undefined;
|
|
58
|
+
resourceInputs["workspaceId"] = args ? args.workspaceId : undefined;
|
|
59
|
+
}
|
|
60
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
61
|
+
super(MwsNetworks.__pulumiType, name, resourceInputs, opts);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get an existing MwsNetworks resource's state with the given name, ID, and optional extra
|
|
65
|
+
* properties used to qualify the lookup.
|
|
66
|
+
*
|
|
67
|
+
* @param name The _unique_ name of the resulting resource.
|
|
68
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
69
|
+
* @param state Any extra arguments used during the lookup.
|
|
70
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
71
|
+
*/
|
|
72
|
+
static get(name, id, state, opts) {
|
|
73
|
+
return new MwsNetworks(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Returns true if the given object is an instance of MwsNetworks. This is designed to work even
|
|
77
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
78
|
+
*/
|
|
79
|
+
static isInstance(obj) {
|
|
80
|
+
if (obj === undefined || obj === null) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return obj['__pulumiType'] === MwsNetworks.__pulumiType;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.MwsNetworks = MwsNetworks;
|
|
87
|
+
/** @internal */
|
|
88
|
+
MwsNetworks.__pulumiType = 'databricks:index/mwsNetworks:MwsNetworks';
|
|
89
|
+
//# sourceMappingURL=mwsNetworks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mwsNetworks.js","sourceRoot":"","sources":["../mwsNetworks.ts"],"names":[],"mappings":"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"}
|