From 163ac92f72e43e3361e7a4a0cdadf5d104c362a5 Mon Sep 17 00:00:00 2001 From: Pulumi Bot <30351955+pulumi-bot@users.noreply.github.com> Date: Thu, 25 Apr 2024 10:34:12 -0700 Subject: [PATCH] Upgrade terraform-provider-databricks to v1.41.0 (#437) This PR was generated via `$ upgrade-provider pulumi/pulumi-databricks --kind=all --target-bridge-version=latest`. --- - Upgrading terraform-provider-databricks from 1.40.0 to 1.41.0. Fixes #436 --- .../bridge-metadata.json | 61 + .../pulumi-resource-databricks/schema.json | 411 ++- provider/go.mod | 4 +- provider/go.sum | 8 +- sdk/dotnet/GetCurrentMetastore.cs | 6 +- ...tworkConnectivityConfigEgressConfigArgs.cs | 26 + ...ivityConfigEgressConfigDefaultRulesArgs.cs | 29 + ...ssConfigDefaultRulesAwsStableIpRuleArgs.cs | 28 + ...onfigDefaultRulesAwsStableIpRuleGetArgs.cs | 28 + ...efaultRulesAzureServiceEndpointRuleArgs.cs | 39 + ...ultRulesAzureServiceEndpointRuleGetArgs.cs | 39 + ...tyConfigEgressConfigDefaultRulesGetArgs.cs | 29 + ...rkConnectivityConfigEgressConfigGetArgs.cs | 26 + ...tivityConfigEgressConfigTargetRulesArgs.cs | 28 + ...TargetRulesAzurePrivateEndpointRuleArgs.cs | 53 + ...getRulesAzurePrivateEndpointRuleGetArgs.cs | 53 + ...ityConfigEgressConfigTargetRulesGetArgs.cs | 28 + sdk/dotnet/MwsNccBinding.cs | 154 ++ sdk/dotnet/MwsNccPrivateEndpointRule.cs | 308 +++ sdk/dotnet/MwsNetworkConnectivityConfig.cs | 215 ++ ...wsNetworkConnectivityConfigEgressConfig.cs | 29 + ...nectivityConfigEgressConfigDefaultRules.cs | 32 + ...EgressConfigDefaultRulesAwsStableIpRule.cs | 24 + ...figDefaultRulesAzureServiceEndpointRule.cs | 33 + ...nnectivityConfigEgressConfigTargetRules.cs | 24 + ...nfigTargetRulesAzurePrivateEndpointRule.cs | 64 + sdk/go/databricks/getCurrentMetastore.go | 8 +- sdk/go/databricks/init.go | 21 + sdk/go/databricks/mwsNccBinding.go | 290 ++ .../databricks/mwsNccPrivateEndpointRule.go | 426 +++ .../mwsNetworkConnectivityConfig.go | 347 +++ sdk/go/databricks/pulumiTypes.go | 2369 +++++++---------- sdk/go/databricks/pulumiTypes1.go | 1427 ++++++++++ .../com/pulumi/databricks/MwsNccBinding.java | 157 ++ .../pulumi/databricks/MwsNccBindingArgs.java | 126 + .../databricks/MwsNccPrivateEndpointRule.java | 280 ++ .../MwsNccPrivateEndpointRuleArgs.java | 432 +++ .../MwsNetworkConnectivityConfig.java | 203 ++ .../MwsNetworkConnectivityConfigArgs.java | 231 ++ .../inputs/GetCurrentMetastoreArgs.java | 8 +- .../inputs/GetCurrentMetastorePlainArgs.java | 6 +- .../databricks/inputs/MwsNccBindingState.java | 121 + .../MwsNccPrivateEndpointRuleState.java | 422 +++ ...orkConnectivityConfigEgressConfigArgs.java | 81 + ...ityConfigEgressConfigDefaultRulesArgs.java | 101 + ...ConfigDefaultRulesAwsStableIpRuleArgs.java | 68 + ...aultRulesAzureServiceEndpointRuleArgs.java | 106 + ...vityConfigEgressConfigTargetRulesArgs.java | 68 + ...rgetRulesAzurePrivateEndpointRuleArgs.java | 238 ++ .../MwsNetworkConnectivityConfigState.java | 227 ++ .../outputs/GetCurrentMetastoreResult.java | 4 +- ...NetworkConnectivityConfigEgressConfig.java | 63 + ...ctivityConfigEgressConfigDefaultRules.java | 71 + ...ressConfigDefaultRulesAwsStableIpRule.java | 52 + ...gDefaultRulesAzureServiceEndpointRule.java | 82 + ...ectivityConfigEgressConfigTargetRules.java | 52 + ...igTargetRulesAzurePrivateEndpointRule.java | 176 ++ sdk/nodejs/getCurrentMetastore.ts | 6 +- sdk/nodejs/index.ts | 24 + sdk/nodejs/mwsNccBinding.ts | 136 + sdk/nodejs/mwsNccPrivateEndpointRule.ts | 261 ++ sdk/nodejs/mwsNetworkConnectivityConfig.ts | 176 ++ sdk/nodejs/tsconfig.json | 3 + sdk/nodejs/types/input.ts | 43 + sdk/nodejs/types/output.ts | 43 + sdk/python/pulumi_databricks/__init__.py | 27 + sdk/python/pulumi_databricks/_inputs.py | 276 ++ .../get_current_metastore.py | 6 +- .../pulumi_databricks/mws_ncc_binding.py | 254 ++ .../mws_ncc_private_endpoint_rule.py | 652 +++++ .../mws_network_connectivity_config.py | 452 ++++ sdk/python/pulumi_databricks/outputs.py | 324 +++ 72 files changed, 11268 insertions(+), 1457 deletions(-) create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleGetArgs.cs create mode 100644 sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesGetArgs.cs create mode 100644 sdk/dotnet/MwsNccBinding.cs create mode 100644 sdk/dotnet/MwsNccPrivateEndpointRule.cs create mode 100644 sdk/dotnet/MwsNetworkConnectivityConfig.cs create mode 100644 sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfig.cs create mode 100644 sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRules.cs create mode 100644 sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule.cs create mode 100644 sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule.cs create mode 100644 sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigTargetRules.cs create mode 100644 sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule.cs create mode 100644 sdk/go/databricks/mwsNccBinding.go create mode 100644 sdk/go/databricks/mwsNccPrivateEndpointRule.go create mode 100644 sdk/go/databricks/mwsNetworkConnectivityConfig.go create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/MwsNccBinding.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/MwsNccBindingArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/MwsNccPrivateEndpointRule.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/MwsNccPrivateEndpointRuleArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/MwsNetworkConnectivityConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/MwsNetworkConnectivityConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNccBindingState.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNccPrivateEndpointRuleState.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigState.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRules.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigTargetRules.java create mode 100644 sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule.java create mode 100644 sdk/nodejs/mwsNccBinding.ts create mode 100644 sdk/nodejs/mwsNccPrivateEndpointRule.ts create mode 100644 sdk/nodejs/mwsNetworkConnectivityConfig.ts create mode 100644 sdk/python/pulumi_databricks/mws_ncc_binding.py create mode 100644 sdk/python/pulumi_databricks/mws_ncc_private_endpoint_rule.py create mode 100644 sdk/python/pulumi_databricks/mws_network_connectivity_config.py diff --git a/provider/cmd/pulumi-resource-databricks/bridge-metadata.json b/provider/cmd/pulumi-resource-databricks/bridge-metadata.json index 0a2f8547..fdd8b025 100644 --- a/provider/cmd/pulumi-resource-databricks/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-databricks/bridge-metadata.json @@ -1570,6 +1570,67 @@ } } }, + "databricks_mws_ncc_binding": { + "current": "databricks:index/mwsNccBinding:MwsNccBinding", + "majorVersion": 1 + }, + "databricks_mws_ncc_private_endpoint_rule": { + "current": "databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule", + "majorVersion": 1 + }, + "databricks_mws_network_connectivity_config": { + "current": "databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig", + "majorVersion": 1, + "fields": { + "egress_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "default_rules": { + "maxItemsOne": true, + "elem": { + "fields": { + "aws_stable_ip_rule": { + "maxItemsOne": true, + "elem": { + "fields": { + "cidr_blocks": { + "maxItemsOne": false + } + } + } + }, + "azure_service_endpoint_rule": { + "maxItemsOne": true, + "elem": { + "fields": { + "subnets": { + "maxItemsOne": false + }, + "target_services": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "target_rules": { + "maxItemsOne": true, + "elem": { + "fields": { + "azure_private_endpoint_rules": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + }, "databricks_mws_networks": { "current": "databricks:index/mwsNetworks:MwsNetworks", "majorVersion": 1, diff --git a/provider/cmd/pulumi-resource-databricks/schema.json b/provider/cmd/pulumi-resource-databricks/schema.json index fea0a315..c803df96 100644 --- a/provider/cmd/pulumi-resource-databricks/schema.json +++ b/provider/cmd/pulumi-resource-databricks/schema.json @@ -5914,6 +5914,107 @@ "kmsKeyId" ] }, + "databricks:index/MwsNetworkConnectivityConfigEgressConfig:MwsNetworkConnectivityConfigEgressConfig": { + "properties": { + "defaultRules": { + "$ref": "#/types/databricks:index/MwsNetworkConnectivityConfigEgressConfigDefaultRules:MwsNetworkConnectivityConfigEgressConfigDefaultRules" + }, + "targetRules": { + "$ref": "#/types/databricks:index/MwsNetworkConnectivityConfigEgressConfigTargetRules:MwsNetworkConnectivityConfigEgressConfigTargetRules" + } + }, + "type": "object" + }, + "databricks:index/MwsNetworkConnectivityConfigEgressConfigDefaultRules:MwsNetworkConnectivityConfigEgressConfigDefaultRules": { + "properties": { + "awsStableIpRule": { + "$ref": "#/types/databricks:index/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule:MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule" + }, + "azureServiceEndpointRule": { + "$ref": "#/types/databricks:index/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule:MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule", + "description": "This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services.\n" + } + }, + "type": "object" + }, + "databricks:index/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule:MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule": { + "properties": { + "cidrBlocks": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "databricks:index/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule:MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule": { + "properties": { + "subnets": { + "type": "array", + "items": { + "type": "string" + } + }, + "targetRegion": { + "type": "string" + }, + "targetServices": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "databricks:index/MwsNetworkConnectivityConfigEgressConfigTargetRules:MwsNetworkConnectivityConfigEgressConfigTargetRules": { + "properties": { + "azurePrivateEndpointRules": { + "type": "array", + "items": { + "$ref": "#/types/databricks:index/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule:MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule" + } + } + }, + "type": "object" + }, + "databricks:index/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule:MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule": { + "properties": { + "connectionState": { + "type": "string" + }, + "creationTime": { + "type": "integer" + }, + "deactivated": { + "type": "boolean" + }, + "deactivatedAt": { + "type": "integer" + }, + "endpointName": { + "type": "string" + }, + "groupId": { + "type": "string" + }, + "networkConnectivityConfigId": { + "type": "string", + "description": "Canonical unique identifier of Network Connectivity Config in Databricks Account\n" + }, + "resourceId": { + "type": "string" + }, + "ruleId": { + "type": "string" + }, + "updatedTime": { + "type": "integer" + } + }, + "type": "object" + }, "databricks:index/MwsNetworksErrorMessage:MwsNetworksErrorMessage": { "properties": { "errorMessage": { @@ -18709,6 +18810,312 @@ "type": "object" } }, + "databricks:index/mwsNccBinding:MwsNccBinding": { + "description": "\u003e **Note** Initialize provider with `alias = \"account\"`, `host = \"https://accounts.azuredatabricks.net\"` and use `provider = databricks.account` for all `databricks_mws_*` resources.\n\n\u003e **Public Preview** This feature is available for AWS \u0026 Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS.\n\nAllows you to attach a Network Connectivity Config object to a databricks.MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/sql/admin/serverless-firewall).\n\nThe NCC and workspace must be in the same region.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst config = new pulumi.Config();\nconst region = config.requireObject(\"region\");\nconst prefix = config.requireObject(\"prefix\");\nconst ncc = new databricks.MwsNetworkConnectivityConfig(\"ncc\", {\n name: `Network Connectivity Config for ${prefix}`,\n region: region,\n});\nconst nccBinding = new databricks.MwsNccBinding(\"ncc_binding\", {\n networkConnectivityConfigId: ncc.networkConnectivityConfigId,\n workspaceId: databricksWorkspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_databricks as databricks\n\nconfig = pulumi.Config()\nregion = config.require_object(\"region\")\nprefix = config.require_object(\"prefix\")\nncc = databricks.MwsNetworkConnectivityConfig(\"ncc\",\n name=f\"Network Connectivity Config for {prefix}\",\n region=region)\nncc_binding = databricks.MwsNccBinding(\"ncc_binding\",\n network_connectivity_config_id=ncc.network_connectivity_config_id,\n workspace_id=databricks_workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Databricks = Pulumi.Databricks;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.RequireObject\u003cdynamic\u003e(\"region\");\n var prefix = config.RequireObject\u003cdynamic\u003e(\"prefix\");\n var ncc = new Databricks.MwsNetworkConnectivityConfig(\"ncc\", new()\n {\n Name = $\"Network Connectivity Config for {prefix}\",\n Region = region,\n });\n\n var nccBinding = new Databricks.MwsNccBinding(\"ncc_binding\", new()\n {\n NetworkConnectivityConfigId = ncc.NetworkConnectivityConfigId,\n WorkspaceId = databricksWorkspaceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := cfg.RequireObject(\"region\")\n\t\tprefix := cfg.RequireObject(\"prefix\")\n\t\tncc, err := databricks.NewMwsNetworkConnectivityConfig(ctx, \"ncc\", \u0026databricks.MwsNetworkConnectivityConfigArgs{\n\t\t\tName: pulumi.String(fmt.Sprintf(\"Network Connectivity Config for %v\", prefix)),\n\t\t\tRegion: pulumi.Any(region),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewMwsNccBinding(ctx, \"ncc_binding\", \u0026databricks.MwsNccBindingArgs{\n\t\t\tNetworkConnectivityConfigId: ncc.NetworkConnectivityConfigId,\n\t\t\tWorkspaceId: pulumi.Any(databricksWorkspaceId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.databricks.MwsNetworkConnectivityConfig;\nimport com.pulumi.databricks.MwsNetworkConnectivityConfigArgs;\nimport com.pulumi.databricks.MwsNccBinding;\nimport com.pulumi.databricks.MwsNccBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var region = config.get(\"region\");\n final var prefix = config.get(\"prefix\");\n var ncc = new MwsNetworkConnectivityConfig(\"ncc\", MwsNetworkConnectivityConfigArgs.builder() \n .name(String.format(\"Network Connectivity Config for %s\", prefix))\n .region(region)\n .build());\n\n var nccBinding = new MwsNccBinding(\"nccBinding\", MwsNccBindingArgs.builder() \n .networkConnectivityConfigId(ncc.networkConnectivityConfigId())\n .workspaceId(databricksWorkspaceId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: dynamic\n prefix:\n type: dynamic\nresources:\n ncc:\n type: databricks:MwsNetworkConnectivityConfig\n properties:\n name: Network Connectivity Config for ${prefix}\n region: ${region}\n nccBinding:\n type: databricks:MwsNccBinding\n name: ncc_binding\n properties:\n networkConnectivityConfigId: ${ncc.networkConnectivityConfigId}\n workspaceId: ${databricksWorkspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Related Resources\n\nThe following resources are used in the context:\n\n* databricks.MwsWorkspaces to set up Databricks workspaces.\n* databricks.MwsNetworkConnectivityConfig to create Network Connectivity Config objects.\n", + "properties": { + "networkConnectivityConfigId": { + "type": "string", + "description": "Canonical unique identifier of Network Connectivity Config in Databricks Account.\n" + }, + "workspaceId": { + "type": "integer", + "description": "Identifier of the workspace to attach the NCC to. Change forces creation of a new resource.\n" + } + }, + "required": [ + "networkConnectivityConfigId", + "workspaceId" + ], + "inputProperties": { + "networkConnectivityConfigId": { + "type": "string", + "description": "Canonical unique identifier of Network Connectivity Config in Databricks Account.\n" + }, + "workspaceId": { + "type": "integer", + "description": "Identifier of the workspace to attach the NCC to. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "networkConnectivityConfigId", + "workspaceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering MwsNccBinding resources.\n", + "properties": { + "networkConnectivityConfigId": { + "type": "string", + "description": "Canonical unique identifier of Network Connectivity Config in Databricks Account.\n" + }, + "workspaceId": { + "type": "integer", + "description": "Identifier of the workspace to attach the NCC to. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule": { + "description": "\u003e **Note** Initialize provider with `alias = \"account\"`, `host = \"https://accounts.azuredatabricks.net\"` and use `provider = databricks.account` for all `databricks_mws_*` resources.\n\n\u003e **Note** This feature is only available in Azure.\n\nAllows you to create a private endpoint in a Network Connectivity Config that can be used to [configure private connectivity from serverless compute](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-private-link).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst config = new pulumi.Config();\nconst region = config.requireObject(\"region\");\nconst prefix = config.requireObject(\"prefix\");\nconst ncc = new databricks.MwsNetworkConnectivityConfig(\"ncc\", {\n name: `Network Connectivity Config for ${prefix}`,\n region: region,\n});\nconst storage = new databricks.MwsNccPrivateEndpointRule(\"storage\", {\n networkConnectivityConfigId: ncc.networkConnectivityConfigId,\n resourceId: \"/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa\",\n groupId: \"blob\",\n});\n```\n```python\nimport pulumi\nimport pulumi_databricks as databricks\n\nconfig = pulumi.Config()\nregion = config.require_object(\"region\")\nprefix = config.require_object(\"prefix\")\nncc = databricks.MwsNetworkConnectivityConfig(\"ncc\",\n name=f\"Network Connectivity Config for {prefix}\",\n region=region)\nstorage = databricks.MwsNccPrivateEndpointRule(\"storage\",\n network_connectivity_config_id=ncc.network_connectivity_config_id,\n resource_id=\"/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa\",\n group_id=\"blob\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Databricks = Pulumi.Databricks;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.RequireObject\u003cdynamic\u003e(\"region\");\n var prefix = config.RequireObject\u003cdynamic\u003e(\"prefix\");\n var ncc = new Databricks.MwsNetworkConnectivityConfig(\"ncc\", new()\n {\n Name = $\"Network Connectivity Config for {prefix}\",\n Region = region,\n });\n\n var storage = new Databricks.MwsNccPrivateEndpointRule(\"storage\", new()\n {\n NetworkConnectivityConfigId = ncc.NetworkConnectivityConfigId,\n ResourceId = \"/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa\",\n GroupId = \"blob\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := cfg.RequireObject(\"region\")\n\t\tprefix := cfg.RequireObject(\"prefix\")\n\t\tncc, err := databricks.NewMwsNetworkConnectivityConfig(ctx, \"ncc\", \u0026databricks.MwsNetworkConnectivityConfigArgs{\n\t\t\tName: pulumi.String(fmt.Sprintf(\"Network Connectivity Config for %v\", prefix)),\n\t\t\tRegion: pulumi.Any(region),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewMwsNccPrivateEndpointRule(ctx, \"storage\", \u0026databricks.MwsNccPrivateEndpointRuleArgs{\n\t\t\tNetworkConnectivityConfigId: ncc.NetworkConnectivityConfigId,\n\t\t\tResourceId: pulumi.String(\"/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa\"),\n\t\t\tGroupId: pulumi.String(\"blob\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.databricks.MwsNetworkConnectivityConfig;\nimport com.pulumi.databricks.MwsNetworkConnectivityConfigArgs;\nimport com.pulumi.databricks.MwsNccPrivateEndpointRule;\nimport com.pulumi.databricks.MwsNccPrivateEndpointRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var region = config.get(\"region\");\n final var prefix = config.get(\"prefix\");\n var ncc = new MwsNetworkConnectivityConfig(\"ncc\", MwsNetworkConnectivityConfigArgs.builder() \n .name(String.format(\"Network Connectivity Config for %s\", prefix))\n .region(region)\n .build());\n\n var storage = new MwsNccPrivateEndpointRule(\"storage\", MwsNccPrivateEndpointRuleArgs.builder() \n .networkConnectivityConfigId(ncc.networkConnectivityConfigId())\n .resourceId(\"/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa\")\n .groupId(\"blob\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: dynamic\n prefix:\n type: dynamic\nresources:\n ncc:\n type: databricks:MwsNetworkConnectivityConfig\n properties:\n name: Network Connectivity Config for ${prefix}\n region: ${region}\n storage:\n type: databricks:MwsNccPrivateEndpointRule\n properties:\n networkConnectivityConfigId: ${ncc.networkConnectivityConfigId}\n resourceId: /subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa\n groupId: blob\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Related Resources\n\nThe following resources are used in the context:\n\n* databricks.MwsNetworkConnectivityConfig to create Network Connectivity Config objects.\n* databricks.MwsNccBinding to attach an NCC to a workspace.\n\n## Import\n\nThis resource can be imported by Databricks account ID and Network Connectivity Config ID.\n\n```sh\n$ pulumi import databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule rule \u003cnetwork_connectivity_config_id\u003e/\u003crule_id\u003e\n```\n\n", + "properties": { + "connectionState": { + "type": "string", + "description": "The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect.\nThe possible values are:\n" + }, + "creationTime": { + "type": "integer", + "description": "Time in epoch milliseconds when this object was created.\n" + }, + "deactivated": { + "type": "boolean", + "description": "Whether this private endpoint is deactivated.\n" + }, + "deactivatedAt": { + "type": "integer", + "description": "Time in epoch milliseconds when this object was deactivated.\n" + }, + "endpointName": { + "type": "string", + "description": "The name of the Azure private endpoint resource, e.g. \"databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234\"\n" + }, + "groupId": { + "type": "string", + "description": "The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource.\n" + }, + "networkConnectivityConfigId": { + "type": "string", + "description": "Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource.\n" + }, + "resourceId": { + "type": "string", + "description": "The Azure resource ID of the target resource. Change forces creation of a new resource.\n" + }, + "ruleId": { + "type": "string", + "description": "the ID of a private endpoint rule.\n" + }, + "updatedTime": { + "type": "integer", + "description": "Time in epoch milliseconds when this object was updated.\n" + } + }, + "required": [ + "connectionState", + "creationTime", + "endpointName", + "groupId", + "networkConnectivityConfigId", + "resourceId", + "ruleId", + "updatedTime" + ], + "inputProperties": { + "connectionState": { + "type": "string", + "description": "The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect.\nThe possible values are:\n" + }, + "creationTime": { + "type": "integer", + "description": "Time in epoch milliseconds when this object was created.\n" + }, + "deactivated": { + "type": "boolean", + "description": "Whether this private endpoint is deactivated.\n", + "willReplaceOnChanges": true + }, + "deactivatedAt": { + "type": "integer", + "description": "Time in epoch milliseconds when this object was deactivated.\n", + "willReplaceOnChanges": true + }, + "endpointName": { + "type": "string", + "description": "The name of the Azure private endpoint resource, e.g. \"databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234\"\n" + }, + "groupId": { + "type": "string", + "description": "The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + }, + "networkConnectivityConfigId": { + "type": "string", + "description": "Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + }, + "resourceId": { + "type": "string", + "description": "The Azure resource ID of the target resource. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + }, + "ruleId": { + "type": "string", + "description": "the ID of a private endpoint rule.\n" + }, + "updatedTime": { + "type": "integer", + "description": "Time in epoch milliseconds when this object was updated.\n" + } + }, + "requiredInputs": [ + "groupId", + "networkConnectivityConfigId", + "resourceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering MwsNccPrivateEndpointRule resources.\n", + "properties": { + "connectionState": { + "type": "string", + "description": "The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect.\nThe possible values are:\n" + }, + "creationTime": { + "type": "integer", + "description": "Time in epoch milliseconds when this object was created.\n" + }, + "deactivated": { + "type": "boolean", + "description": "Whether this private endpoint is deactivated.\n", + "willReplaceOnChanges": true + }, + "deactivatedAt": { + "type": "integer", + "description": "Time in epoch milliseconds when this object was deactivated.\n", + "willReplaceOnChanges": true + }, + "endpointName": { + "type": "string", + "description": "The name of the Azure private endpoint resource, e.g. \"databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234\"\n" + }, + "groupId": { + "type": "string", + "description": "The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + }, + "networkConnectivityConfigId": { + "type": "string", + "description": "Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + }, + "resourceId": { + "type": "string", + "description": "The Azure resource ID of the target resource. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + }, + "ruleId": { + "type": "string", + "description": "the ID of a private endpoint rule.\n" + }, + "updatedTime": { + "type": "integer", + "description": "Time in epoch milliseconds when this object was updated.\n" + } + }, + "type": "object" + } + }, + "databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig": { + "description": "\u003e **Note** Initialize provider with `alias = \"account\"`, `host = \"https://accounts.azuredatabricks.net\"` and use `provider = databricks.account` for all `databricks_mws_*` resources.\n\n\u003e **Public Preview** This feature is available for AWS \u0026 Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS.\n\nAllows you to create a [Network Connectivity Config] that can be used as part of a databricks.MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-firewall).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst config = new pulumi.Config();\nconst region = config.requireObject(\"region\");\nconst prefix = config.requireObject(\"prefix\");\nconst ncc = new databricks.MwsNetworkConnectivityConfig(\"ncc\", {\n name: `Network Connectivity Config for ${prefix}`,\n region: region,\n});\nconst nccBinding = new databricks.MwsNccBinding(\"ncc_binding\", {\n networkConnectivityConfigId: ncc.networkConnectivityConfigId,\n workspaceId: databricksWorkspaceId,\n});\n```\n```python\nimport pulumi\nimport pulumi_databricks as databricks\n\nconfig = pulumi.Config()\nregion = config.require_object(\"region\")\nprefix = config.require_object(\"prefix\")\nncc = databricks.MwsNetworkConnectivityConfig(\"ncc\",\n name=f\"Network Connectivity Config for {prefix}\",\n region=region)\nncc_binding = databricks.MwsNccBinding(\"ncc_binding\",\n network_connectivity_config_id=ncc.network_connectivity_config_id,\n workspace_id=databricks_workspace_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Databricks = Pulumi.Databricks;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var region = config.RequireObject\u003cdynamic\u003e(\"region\");\n var prefix = config.RequireObject\u003cdynamic\u003e(\"prefix\");\n var ncc = new Databricks.MwsNetworkConnectivityConfig(\"ncc\", new()\n {\n Name = $\"Network Connectivity Config for {prefix}\",\n Region = region,\n });\n\n var nccBinding = new Databricks.MwsNccBinding(\"ncc_binding\", new()\n {\n NetworkConnectivityConfigId = ncc.NetworkConnectivityConfigId,\n WorkspaceId = databricksWorkspaceId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tregion := cfg.RequireObject(\"region\")\n\t\tprefix := cfg.RequireObject(\"prefix\")\n\t\tncc, err := databricks.NewMwsNetworkConnectivityConfig(ctx, \"ncc\", \u0026databricks.MwsNetworkConnectivityConfigArgs{\n\t\t\tName: pulumi.String(fmt.Sprintf(\"Network Connectivity Config for %v\", prefix)),\n\t\t\tRegion: pulumi.Any(region),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewMwsNccBinding(ctx, \"ncc_binding\", \u0026databricks.MwsNccBindingArgs{\n\t\t\tNetworkConnectivityConfigId: ncc.NetworkConnectivityConfigId,\n\t\t\tWorkspaceId: pulumi.Any(databricksWorkspaceId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.databricks.MwsNetworkConnectivityConfig;\nimport com.pulumi.databricks.MwsNetworkConnectivityConfigArgs;\nimport com.pulumi.databricks.MwsNccBinding;\nimport com.pulumi.databricks.MwsNccBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var config = ctx.config();\n final var region = config.get(\"region\");\n final var prefix = config.get(\"prefix\");\n var ncc = new MwsNetworkConnectivityConfig(\"ncc\", MwsNetworkConnectivityConfigArgs.builder() \n .name(String.format(\"Network Connectivity Config for %s\", prefix))\n .region(region)\n .build());\n\n var nccBinding = new MwsNccBinding(\"nccBinding\", MwsNccBindingArgs.builder() \n .networkConnectivityConfigId(ncc.networkConnectivityConfigId())\n .workspaceId(databricksWorkspaceId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n region:\n type: dynamic\n prefix:\n type: dynamic\nresources:\n ncc:\n type: databricks:MwsNetworkConnectivityConfig\n properties:\n name: Network Connectivity Config for ${prefix}\n region: ${region}\n nccBinding:\n type: databricks:MwsNccBinding\n name: ncc_binding\n properties:\n networkConnectivityConfigId: ${ncc.networkConnectivityConfigId}\n workspaceId: ${databricksWorkspaceId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Related Resources\n\nThe following resources are used in the context:\n\n* databricks.MwsWorkspaces to set up Databricks workspaces.\n* databricks.MwsNccBinding to attach an NCC to a workspace.\n* databricks.MwsNccPrivateEndpointRule to create a private endpoint rule.\n\n## Import\n\nThis resource can be imported by Databricks account ID and Network Connectivity Config ID.\n\n```sh\n$ pulumi import databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig ncc \u003caccount_id\u003e/\u003cnetwork_connectivity_config_id\u003e\n```\n\n", + "properties": { + "accountId": { + "type": "string" + }, + "creationTime": { + "type": "integer" + }, + "egressConfig": { + "$ref": "#/types/databricks:index/MwsNetworkConnectivityConfigEgressConfig:MwsNetworkConnectivityConfigEgressConfig" + }, + "name": { + "type": "string", + "description": "Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource.\n" + }, + "networkConnectivityConfigId": { + "type": "string", + "description": "Canonical unique identifier of Network Connectivity Config in Databricks Account\n" + }, + "region": { + "type": "string", + "description": "Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource.\n" + }, + "updatedTime": { + "type": "integer" + } + }, + "required": [ + "accountId", + "creationTime", + "egressConfig", + "name", + "networkConnectivityConfigId", + "region", + "updatedTime" + ], + "inputProperties": { + "accountId": { + "type": "string" + }, + "creationTime": { + "type": "integer" + }, + "egressConfig": { + "$ref": "#/types/databricks:index/MwsNetworkConnectivityConfigEgressConfig:MwsNetworkConnectivityConfigEgressConfig" + }, + "name": { + "type": "string", + "description": "Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + }, + "networkConnectivityConfigId": { + "type": "string", + "description": "Canonical unique identifier of Network Connectivity Config in Databricks Account\n" + }, + "region": { + "type": "string", + "description": "Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + }, + "updatedTime": { + "type": "integer" + } + }, + "requiredInputs": [ + "region" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering MwsNetworkConnectivityConfig resources.\n", + "properties": { + "accountId": { + "type": "string" + }, + "creationTime": { + "type": "integer" + }, + "egressConfig": { + "$ref": "#/types/databricks:index/MwsNetworkConnectivityConfigEgressConfig:MwsNetworkConnectivityConfigEgressConfig" + }, + "name": { + "type": "string", + "description": "Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + }, + "networkConnectivityConfigId": { + "type": "string", + "description": "Canonical unique identifier of Network Connectivity Config in Databricks Account\n" + }, + "region": { + "type": "string", + "description": "Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource.\n", + "willReplaceOnChanges": true + }, + "updatedTime": { + "type": "integer" + } + }, + "type": "object" + } + }, "databricks:index/mwsNetworks:MwsNetworks": { "description": "## Databricks on AWS usage\n\n\u003e **Note** Initialize provider with `alias = \"mws\"`, `host = \"https://accounts.cloud.databricks.com\"` and use `provider = databricks.mws`\n\nUse this resource to [configure VPC](https://docs.databricks.com/administration-guide/cloud-configurations/aws/customer-managed-vpc.html) \u0026 subnets for new workspaces within AWS. It is essential to understand that this will require you to configure your provider separately for the multiple workspaces resources.\n\n* Databricks must have access to at least two subnets for each workspace, with each subnet in a different Availability Zone. You cannot specify more than one Databricks workspace subnet per Availability Zone in the Create network configuration API call. You can have more than one subnet per Availability Zone as part of your network setup, but you can choose only one subnet per Availability Zone for the Databricks workspace.\n* Databricks assigns two IP addresses per node, one for management traffic and one for Spark applications. The total number of instances for each subnet is equal to half of the available IP addresses.\n* Each subnet must have a netmask between /17 and /25.\n* Subnets must be private.\n* Subnets must have outbound access to the public network using a aws_nat_gateway, or other similar customer-managed appliance infrastructure.\n* The NAT gateway must be set up in its subnet (public_subnets in the example below) that routes quad-zero (0.0.0.0/0) traffic to an internet gateway or other customer-managed appliance infrastructure.\n\n\u003e **Note** The NAT gateway needs only one IP address per AZ. Hence, the public subnet only needs two IP addresses. In order to limit the number of IP addresses in the public subnet, you can specify a secondary CIDR block (cidr_block_public) using the argument secondary_cidr_blocks then pass it to the public_subnets argument. Please review the [IPv4 CIDR block association restrictions](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) when choosing the secondary cidr block.\n\nPlease follow this complete runnable example \u0026 subnet for new workspaces within GCP. It is essential to understand that this will require you to configure your provider separately for the multiple workspaces resources.\n\n* Databricks must have access to a subnet in the same region as the workspace, of which IP range will be used to allocate your workspace’s GKE cluster nodes.\n* The subnet must have a netmask between /29 and /9.\n* Databricks must have access to 2 secondary IP ranges, one between /21 to /9 for workspace’s GKE cluster pods, and one between /27 to /16 for workspace’s GKE cluster services.\n* Subnet must have outbound access to the public network using a gcp_compute_router_nat or other similar customer-managed appliance infrastructure.\n\nPlease follow this complete runnable example]\n private_subnets = [cidrsubnet(var.cidr_block, 3, 1),\n cidrsubnet(var.cidr_block, 3, 2)]\n\n default_security_group_egress = [{\n cidr_blocks = \"0.0.0.0/0\"\n }]\n\n default_security_group_ingress = [{\n description = \"Allow all internal TCP and UDP\"\n self = true\n }]\n}\n\nresource \"databricks.MwsNetworks\" \"this\" {\n provider = databricks.mws\n account_id = var.databricks_account_id\n network_name = \"${local.prefix}-network\"\n security_group_ids = [module.vpc.default_security_group_id]\n subnet_ids = module.vpc.private_subnets\n vpc_id = module.vpc.vpc_id\n}\n```\n\nIn order to create a VPC [that leverages AWS PrivateLink](https://docs.databricks.com/administration-guide/cloud-configurations/aws/privatelink.html) you would need to add the `vpc_endpoint_id` Attributes from [mws_vpc_endpoint](mws_vpc_endpoint.md) resources into the [databricks_mws_networks](databricks_mws_networks.md) resource. For example:\n\n```hcl\nresource \"databricks_mws_networks\" \"this\" {\n provider = databricks.mws\n account_id = var.databricks_account_id\n network_name = \"${local.prefix}-network\"\n security_group_ids = [module.vpc.default_security_group_id]\n subnet_ids = module.vpc.private_subnets\n vpc_id = module.vpc.vpc_id\n vpc_endpoints {\n dataplane_relay = [databricks_mws_vpc_endpoint.relay.vpc_endpoint_id]\n rest_api = [databricks_mws_vpc_endpoint.workspace.vpc_endpoint_id]\n }\n depends_on = [aws_vpc_endpoint.workspace, aws_vpc_endpoint.relay]\n}\n```\n\n### Creating a Databricks on GCP workspace\n\n```hcl\nvariable \"databricks_account_id\" {\n description = \"Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/\"\n}\n\nresource \"google_compute_network\" \"dbx_private_vpc\" {\n project = var.google_project\n name = \"tf-network-${random_string.suffix.result}\"\n auto_create_subnetworks = false\n}\n\nresource \"google_compute_subnetwork\" \"network-with-private-secondary-ip-ranges\" {\n name = \"test-dbx-${random_string.suffix.result}\"\n ip_cidr_range = \"10.0.0.0/16\"\n region = \"us-central1\"\n network = google_compute_network.dbx_private_vpc.id\n secondary_ip_range {\n range_name = \"pods\"\n ip_cidr_range = \"10.1.0.0/16\"\n }\n secondary_ip_range {\n range_name = \"svc\"\n ip_cidr_range = \"10.2.0.0/20\"\n }\n private_ip_google_access = true\n}\n\nresource \"google_compute_router\" \"router\" {\n name = \"my-router-${random_string.suffix.result}\"\n region = google_compute_subnetwork.network-with-private-secondary-ip-ranges.region\n network = google_compute_network.dbx_private_vpc.id\n}\n\nresource \"google_compute_router_nat\" \"nat\" {\n name = \"my-router-nat-${random_string.suffix.result}\"\n router = google_compute_router.router.name\n region = google_compute_router.router.region\n nat_ip_allocate_option = \"AUTO_ONLY\"\n source_subnetwork_ip_ranges_to_nat = \"ALL_SUBNETWORKS_ALL_IP_RANGES\"\n}\n\nresource \"databricks_mws_networks\" \"this\" {\n account_id = var.databricks_account_id\n network_name = \"test-demo-${random_string.suffix.result}\"\n gcp_network_info {\n network_project_id = var.google_project\n vpc_id = google_compute_network.dbx_private_vpc.name\n subnet_id = google_compute_subnetwork.network_with_private_secondary_ip_ranges.name\n subnet_region = google_compute_subnetwork.network_with_private_secondary_ip_ranges.region\n pod_ip_range_name = \"pods\"\n service_ip_range_name = \"svc\"\n }\n}\n```\n\nIn order to create a VPC [that leverages GCP Private Service Connect](https://docs.gcp.databricks.com/administration-guide/cloud-configurations/gcp/private-service-connect.html) you would need to add the `vpc_endpoint_id` Attributes from mws_vpc_endpoint resources into the databricks.MwsNetworks resource. For example:\n\n```hcl\nresource \"databricks_mws_networks\" \"this\" {\n account_id = var.databricks_account_id\n network_name = \"test-demo-${random_string.suffix.result}\"\n gcp_network_info {\n network_project_id = var.google_project\n vpc_id = google_compute_network.dbx_private_vpc.name\n subnet_id = google_compute_subnetwork.network_with_private_secondary_ip_ranges.name\n subnet_region = google_compute_subnetwork.network_with_private_secondary_ip_ranges.region\n pod_ip_range_name = \"pods\"\n service_ip_range_name = \"svc\"\n }\n vpc_endpoints {\n dataplane_relay = [databricks_mws_vpc_endpoint.relay.vpc_endpoint_id]\n rest_api = [databricks_mws_vpc_endpoint.workspace.vpc_endpoint_id]\n }\n}\n```\n\n## Modifying networks on running workspaces (AWS only)\n\nDue to specifics of platform APIs, changing any attribute of network configuration would cause `databricks.MwsNetworks` to be re-created - deleted \u0026 added again with special case for running workspaces. Once network configuration is attached to a running databricks_mws_workspaces, you cannot delete it and `pulumi up` would result in `INVALID_STATE: Unable to delete, Network is being used by active workspace X` error. In order to modify any attributes of a network, you have to perform three different `pulumi up` steps:\n\n1. Create a new `databricks.MwsNetworks` resource.\n2. Update the `databricks.MwsWorkspaces` to point to the new `network_id`.\n3. Delete the old `databricks.MwsNetworks` resource.\n\n## Related Resources\n\nThe following resources are used in the same context:\n\n* Provisioning Databricks on AWS guide.\n* Provisioning Databricks on AWS with PrivateLink guide.\n* Provisioning AWS Databricks E2 with a Hub \u0026 Spoke firewall for data exfiltration protection guide.\n* Provisioning Databricks on GCP guide.\n* Provisioning Databricks workspaces on GCP with Private Service Connect guide.\n* databricks.MwsVpcEndpoint resources with Databricks such that they can be used as part of a databricks.MwsNetworks configuration.\n* databricks.MwsPrivateAccessSettings to create a Private Access Setting that can be used as part of a databricks.MwsWorkspaces resource to create a [Databricks Workspace that leverages AWS PrivateLink](https://docs.databricks.com/administration-guide/cloud-configurations/aws/privatelink.html) or [GCP Private Service Connect](https://docs.gcp.databricks.com/administration-guide/cloud-configurations/gcp/private-service-connect.html).\n* databricks.MwsWorkspaces to set up [workspaces in E2 architecture on AWS](https://docs.databricks.com/getting-started/overview.html#e2-architecture-1).\n\n## Import\n\n-\u003e **Note** Importing this resource is not currently supported.\n\n", "properties": { @@ -24897,7 +25304,7 @@ "properties": { "id": { "type": "string", - "description": "metastore ID.\n" + "description": "metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace\n" }, "metastoreInfo": { "$ref": "#/types/databricks:index/getCurrentMetastoreMetastoreInfo:getCurrentMetastoreMetastoreInfo", @@ -24910,7 +25317,7 @@ "description": "A collection of values returned by getCurrentMetastore.\n", "properties": { "id": { - "description": "metastore ID.\n", + "description": "metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace\n", "type": "string" }, "metastoreInfo": { diff --git a/provider/go.mod b/provider/go.mod index 31baea2d..1fb73619 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -6,7 +6,7 @@ replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraf require ( github.com/databricks/databricks-sdk-go v0.38.0 - github.com/databricks/terraform-provider-databricks v1.40.0 + github.com/databricks/terraform-provider-databricks v1.41.0 github.com/pulumi/pulumi-terraform-bridge/v3 v3.81.0 ) @@ -226,7 +226,7 @@ require ( golang.org/x/crypto v0.21.0 // indirect golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.22.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect golang.org/x/sync v0.6.0 // indirect golang.org/x/sys v0.18.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 3025e994..ea19fccc 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1657,8 +1657,8 @@ github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/ github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= github.com/databricks/databricks-sdk-go v0.38.0 h1:MQhOCWTkdKItG+n6ZwcXQv9FWBVXq9fax8VSZns2e+0= github.com/databricks/databricks-sdk-go v0.38.0/go.mod h1:Yjy1gREDLK65g4axpVbVNKYAHYE2Sqzj0AB9QWHCBVM= -github.com/databricks/terraform-provider-databricks v1.40.0 h1:MaaAUuuJcL8m0eGmuvLt0WP7uWwX77/fu0KviVm729o= -github.com/databricks/terraform-provider-databricks v1.40.0/go.mod h1:IhVYJ+t3QiHyz4kND1QmcA6BX1tr0yHVO1Erdl878rU= +github.com/databricks/terraform-provider-databricks v1.41.0 h1:q2JgwHkjpqU/aw623FZWfnjEHtOI+VUHlRnGHcelv4o= +github.com/databricks/terraform-provider-databricks v1.41.0/go.mod h1:NFp8w6zxV7qBmw32w3s3seyM0P20vLB8ETCKaveDSQk= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -3403,8 +3403,8 @@ golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= -golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= diff --git a/sdk/dotnet/GetCurrentMetastore.cs b/sdk/dotnet/GetCurrentMetastore.cs index 1eedbe26..9a030892 100644 --- a/sdk/dotnet/GetCurrentMetastore.cs +++ b/sdk/dotnet/GetCurrentMetastore.cs @@ -96,7 +96,7 @@ public static Output Invoke(GetCurrentMetastoreInvoke public sealed class GetCurrentMetastoreArgs : global::Pulumi.InvokeArgs { /// - /// metastore ID. + /// metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace /// [Input("id")] public string? Id { get; set; } @@ -116,7 +116,7 @@ public GetCurrentMetastoreArgs() public sealed class GetCurrentMetastoreInvokeArgs : global::Pulumi.InvokeArgs { /// - /// metastore ID. + /// metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace /// [Input("id")] public Input? Id { get; set; } @@ -138,7 +138,7 @@ public GetCurrentMetastoreInvokeArgs() public sealed class GetCurrentMetastoreResult { /// - /// metastore ID. + /// metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace /// public readonly string Id; /// diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigArgs.cs new file mode 100644 index 00000000..e4e00bca --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigArgs : global::Pulumi.ResourceArgs + { + [Input("defaultRules")] + public Input? DefaultRules { get; set; } + + [Input("targetRules")] + public Input? TargetRules { get; set; } + + public MwsNetworkConnectivityConfigEgressConfigArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigArgs Empty => new MwsNetworkConnectivityConfigEgressConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs.cs new file mode 100644 index 00000000..39a62447 --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs : global::Pulumi.ResourceArgs + { + [Input("awsStableIpRule")] + public Input? AwsStableIpRule { get; set; } + + /// + /// This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + /// + [Input("azureServiceEndpointRule")] + public Input? AzureServiceEndpointRule { get; set; } + + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs Empty => new MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs.cs new file mode 100644 index 00000000..f8aa5ee7 --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs : global::Pulumi.ResourceArgs + { + [Input("cidrBlocks")] + private InputList? _cidrBlocks; + public InputList CidrBlocks + { + get => _cidrBlocks ?? (_cidrBlocks = new InputList()); + set => _cidrBlocks = value; + } + + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs Empty => new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleGetArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleGetArgs.cs new file mode 100644 index 00000000..08906597 --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleGetArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleGetArgs : global::Pulumi.ResourceArgs + { + [Input("cidrBlocks")] + private InputList? _cidrBlocks; + public InputList CidrBlocks + { + get => _cidrBlocks ?? (_cidrBlocks = new InputList()); + set => _cidrBlocks = value; + } + + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleGetArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleGetArgs Empty => new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs.cs new file mode 100644 index 00000000..b80b19af --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs : global::Pulumi.ResourceArgs + { + [Input("subnets")] + private InputList? _subnets; + public InputList Subnets + { + get => _subnets ?? (_subnets = new InputList()); + set => _subnets = value; + } + + [Input("targetRegion")] + public Input? TargetRegion { get; set; } + + [Input("targetServices")] + private InputList? _targetServices; + public InputList TargetServices + { + get => _targetServices ?? (_targetServices = new InputList()); + set => _targetServices = value; + } + + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs Empty => new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleGetArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleGetArgs.cs new file mode 100644 index 00000000..c26dae59 --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleGetArgs : global::Pulumi.ResourceArgs + { + [Input("subnets")] + private InputList? _subnets; + public InputList Subnets + { + get => _subnets ?? (_subnets = new InputList()); + set => _subnets = value; + } + + [Input("targetRegion")] + public Input? TargetRegion { get; set; } + + [Input("targetServices")] + private InputList? _targetServices; + public InputList TargetServices + { + get => _targetServices ?? (_targetServices = new InputList()); + set => _targetServices = value; + } + + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleGetArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleGetArgs Empty => new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesGetArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesGetArgs.cs new file mode 100644 index 00000000..e0d60370 --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigDefaultRulesGetArgs : global::Pulumi.ResourceArgs + { + [Input("awsStableIpRule")] + public Input? AwsStableIpRule { get; set; } + + /// + /// This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + /// + [Input("azureServiceEndpointRule")] + public Input? AzureServiceEndpointRule { get; set; } + + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesGetArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigDefaultRulesGetArgs Empty => new MwsNetworkConnectivityConfigEgressConfigDefaultRulesGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigGetArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigGetArgs.cs new file mode 100644 index 00000000..e0742095 --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("defaultRules")] + public Input? DefaultRules { get; set; } + + [Input("targetRules")] + public Input? TargetRules { get; set; } + + public MwsNetworkConnectivityConfigEgressConfigGetArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigGetArgs Empty => new MwsNetworkConnectivityConfigEgressConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs.cs new file mode 100644 index 00000000..3f84cfc3 --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs : global::Pulumi.ResourceArgs + { + [Input("azurePrivateEndpointRules")] + private InputList? _azurePrivateEndpointRules; + public InputList AzurePrivateEndpointRules + { + get => _azurePrivateEndpointRules ?? (_azurePrivateEndpointRules = new InputList()); + set => _azurePrivateEndpointRules = value; + } + + public MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs Empty => new MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs.cs new file mode 100644 index 00000000..b15b2025 --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs : global::Pulumi.ResourceArgs + { + [Input("connectionState")] + public Input? ConnectionState { get; set; } + + [Input("creationTime")] + public Input? CreationTime { get; set; } + + [Input("deactivated")] + public Input? Deactivated { get; set; } + + [Input("deactivatedAt")] + public Input? DeactivatedAt { get; set; } + + [Input("endpointName")] + public Input? EndpointName { get; set; } + + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account + /// + [Input("networkConnectivityConfigId")] + public Input? NetworkConnectivityConfigId { get; set; } + + [Input("resourceId")] + public Input? ResourceId { get; set; } + + [Input("ruleId")] + public Input? RuleId { get; set; } + + [Input("updatedTime")] + public Input? UpdatedTime { get; set; } + + public MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs Empty => new MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleGetArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleGetArgs.cs new file mode 100644 index 00000000..a13de3df --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleGetArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleGetArgs : global::Pulumi.ResourceArgs + { + [Input("connectionState")] + public Input? ConnectionState { get; set; } + + [Input("creationTime")] + public Input? CreationTime { get; set; } + + [Input("deactivated")] + public Input? Deactivated { get; set; } + + [Input("deactivatedAt")] + public Input? DeactivatedAt { get; set; } + + [Input("endpointName")] + public Input? EndpointName { get; set; } + + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account + /// + [Input("networkConnectivityConfigId")] + public Input? NetworkConnectivityConfigId { get; set; } + + [Input("resourceId")] + public Input? ResourceId { get; set; } + + [Input("ruleId")] + public Input? RuleId { get; set; } + + [Input("updatedTime")] + public Input? UpdatedTime { get; set; } + + public MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleGetArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleGetArgs Empty => new MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesGetArgs.cs b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesGetArgs.cs new file mode 100644 index 00000000..f3005e2f --- /dev/null +++ b/sdk/dotnet/Inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesGetArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Inputs +{ + + public sealed class MwsNetworkConnectivityConfigEgressConfigTargetRulesGetArgs : global::Pulumi.ResourceArgs + { + [Input("azurePrivateEndpointRules")] + private InputList? _azurePrivateEndpointRules; + public InputList AzurePrivateEndpointRules + { + get => _azurePrivateEndpointRules ?? (_azurePrivateEndpointRules = new InputList()); + set => _azurePrivateEndpointRules = value; + } + + public MwsNetworkConnectivityConfigEgressConfigTargetRulesGetArgs() + { + } + public static new MwsNetworkConnectivityConfigEgressConfigTargetRulesGetArgs Empty => new MwsNetworkConnectivityConfigEgressConfigTargetRulesGetArgs(); + } +} diff --git a/sdk/dotnet/MwsNccBinding.cs b/sdk/dotnet/MwsNccBinding.cs new file mode 100644 index 00000000..559aacdc --- /dev/null +++ b/sdk/dotnet/MwsNccBinding.cs @@ -0,0 +1,154 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks +{ + /// + /// > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + /// + /// > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. + /// + /// Allows you to attach a Network Connectivity Config object to a databricks.MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/sql/admin/serverless-firewall). + /// + /// The NCC and workspace must be in the same region. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Databricks = Pulumi.Databricks; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var region = config.RequireObject<dynamic>("region"); + /// var prefix = config.RequireObject<dynamic>("prefix"); + /// var ncc = new Databricks.MwsNetworkConnectivityConfig("ncc", new() + /// { + /// Name = $"Network Connectivity Config for {prefix}", + /// Region = region, + /// }); + /// + /// var nccBinding = new Databricks.MwsNccBinding("ncc_binding", new() + /// { + /// NetworkConnectivityConfigId = ncc.NetworkConnectivityConfigId, + /// WorkspaceId = databricksWorkspaceId, + /// }); + /// + /// }); + /// ``` + /// + /// ## Related Resources + /// + /// The following resources are used in the context: + /// + /// * databricks.MwsWorkspaces to set up Databricks workspaces. + /// * databricks.MwsNetworkConnectivityConfig to create Network Connectivity Config objects. + /// + [DatabricksResourceType("databricks:index/mwsNccBinding:MwsNccBinding")] + public partial class MwsNccBinding : global::Pulumi.CustomResource + { + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account. + /// + [Output("networkConnectivityConfigId")] + public Output NetworkConnectivityConfigId { get; private set; } = null!; + + /// + /// Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + /// + [Output("workspaceId")] + public Output WorkspaceId { get; private set; } = null!; + + + /// + /// Create a MwsNccBinding resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public MwsNccBinding(string name, MwsNccBindingArgs args, CustomResourceOptions? options = null) + : base("databricks:index/mwsNccBinding:MwsNccBinding", name, args ?? new MwsNccBindingArgs(), MakeResourceOptions(options, "")) + { + } + + private MwsNccBinding(string name, Input id, MwsNccBindingState? state = null, CustomResourceOptions? options = null) + : base("databricks:index/mwsNccBinding:MwsNccBinding", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing MwsNccBinding resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static MwsNccBinding Get(string name, Input id, MwsNccBindingState? state = null, CustomResourceOptions? options = null) + { + return new MwsNccBinding(name, id, state, options); + } + } + + public sealed class MwsNccBindingArgs : global::Pulumi.ResourceArgs + { + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account. + /// + [Input("networkConnectivityConfigId", required: true)] + public Input NetworkConnectivityConfigId { get; set; } = null!; + + /// + /// Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + /// + [Input("workspaceId", required: true)] + public Input WorkspaceId { get; set; } = null!; + + public MwsNccBindingArgs() + { + } + public static new MwsNccBindingArgs Empty => new MwsNccBindingArgs(); + } + + public sealed class MwsNccBindingState : global::Pulumi.ResourceArgs + { + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account. + /// + [Input("networkConnectivityConfigId")] + public Input? NetworkConnectivityConfigId { get; set; } + + /// + /// Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + /// + [Input("workspaceId")] + public Input? WorkspaceId { get; set; } + + public MwsNccBindingState() + { + } + public static new MwsNccBindingState Empty => new MwsNccBindingState(); + } +} diff --git a/sdk/dotnet/MwsNccPrivateEndpointRule.cs b/sdk/dotnet/MwsNccPrivateEndpointRule.cs new file mode 100644 index 00000000..34a5a3a2 --- /dev/null +++ b/sdk/dotnet/MwsNccPrivateEndpointRule.cs @@ -0,0 +1,308 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks +{ + /// + /// > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + /// + /// > **Note** This feature is only available in Azure. + /// + /// Allows you to create a private endpoint in a Network Connectivity Config that can be used to [configure private connectivity from serverless compute](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-private-link). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Databricks = Pulumi.Databricks; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var region = config.RequireObject<dynamic>("region"); + /// var prefix = config.RequireObject<dynamic>("prefix"); + /// var ncc = new Databricks.MwsNetworkConnectivityConfig("ncc", new() + /// { + /// Name = $"Network Connectivity Config for {prefix}", + /// Region = region, + /// }); + /// + /// var storage = new Databricks.MwsNccPrivateEndpointRule("storage", new() + /// { + /// NetworkConnectivityConfigId = ncc.NetworkConnectivityConfigId, + /// ResourceId = "/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa", + /// GroupId = "blob", + /// }); + /// + /// }); + /// ``` + /// + /// ## Related Resources + /// + /// The following resources are used in the context: + /// + /// * databricks.MwsNetworkConnectivityConfig to create Network Connectivity Config objects. + /// * databricks.MwsNccBinding to attach an NCC to a workspace. + /// + /// ## Import + /// + /// This resource can be imported by Databricks account ID and Network Connectivity Config ID. + /// + /// ```sh + /// $ pulumi import databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule rule <network_connectivity_config_id>/<rule_id> + /// ``` + /// + [DatabricksResourceType("databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule")] + public partial class MwsNccPrivateEndpointRule : global::Pulumi.CustomResource + { + /// + /// The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + /// The possible values are: + /// + [Output("connectionState")] + public Output ConnectionState { get; private set; } = null!; + + /// + /// Time in epoch milliseconds when this object was created. + /// + [Output("creationTime")] + public Output CreationTime { get; private set; } = null!; + + /// + /// Whether this private endpoint is deactivated. + /// + [Output("deactivated")] + public Output Deactivated { get; private set; } = null!; + + /// + /// Time in epoch milliseconds when this object was deactivated. + /// + [Output("deactivatedAt")] + public Output DeactivatedAt { get; private set; } = null!; + + /// + /// The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + /// + [Output("endpointName")] + public Output EndpointName { get; private set; } = null!; + + /// + /// The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + /// + [Output("groupId")] + public Output GroupId { get; private set; } = null!; + + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + /// + [Output("networkConnectivityConfigId")] + public Output NetworkConnectivityConfigId { get; private set; } = null!; + + /// + /// The Azure resource ID of the target resource. Change forces creation of a new resource. + /// + [Output("resourceId")] + public Output ResourceId { get; private set; } = null!; + + /// + /// the ID of a private endpoint rule. + /// + [Output("ruleId")] + public Output RuleId { get; private set; } = null!; + + /// + /// Time in epoch milliseconds when this object was updated. + /// + [Output("updatedTime")] + public Output UpdatedTime { get; private set; } = null!; + + + /// + /// Create a MwsNccPrivateEndpointRule resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public MwsNccPrivateEndpointRule(string name, MwsNccPrivateEndpointRuleArgs args, CustomResourceOptions? options = null) + : base("databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule", name, args ?? new MwsNccPrivateEndpointRuleArgs(), MakeResourceOptions(options, "")) + { + } + + private MwsNccPrivateEndpointRule(string name, Input id, MwsNccPrivateEndpointRuleState? state = null, CustomResourceOptions? options = null) + : base("databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing MwsNccPrivateEndpointRule resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static MwsNccPrivateEndpointRule Get(string name, Input id, MwsNccPrivateEndpointRuleState? state = null, CustomResourceOptions? options = null) + { + return new MwsNccPrivateEndpointRule(name, id, state, options); + } + } + + public sealed class MwsNccPrivateEndpointRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + /// The possible values are: + /// + [Input("connectionState")] + public Input? ConnectionState { get; set; } + + /// + /// Time in epoch milliseconds when this object was created. + /// + [Input("creationTime")] + public Input? CreationTime { get; set; } + + /// + /// Whether this private endpoint is deactivated. + /// + [Input("deactivated")] + public Input? Deactivated { get; set; } + + /// + /// Time in epoch milliseconds when this object was deactivated. + /// + [Input("deactivatedAt")] + public Input? DeactivatedAt { get; set; } + + /// + /// The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + /// + [Input("endpointName")] + public Input? EndpointName { get; set; } + + /// + /// The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + /// + [Input("groupId", required: true)] + public Input GroupId { get; set; } = null!; + + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + /// + [Input("networkConnectivityConfigId", required: true)] + public Input NetworkConnectivityConfigId { get; set; } = null!; + + /// + /// The Azure resource ID of the target resource. Change forces creation of a new resource. + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + /// + /// the ID of a private endpoint rule. + /// + [Input("ruleId")] + public Input? RuleId { get; set; } + + /// + /// Time in epoch milliseconds when this object was updated. + /// + [Input("updatedTime")] + public Input? UpdatedTime { get; set; } + + public MwsNccPrivateEndpointRuleArgs() + { + } + public static new MwsNccPrivateEndpointRuleArgs Empty => new MwsNccPrivateEndpointRuleArgs(); + } + + public sealed class MwsNccPrivateEndpointRuleState : global::Pulumi.ResourceArgs + { + /// + /// The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + /// The possible values are: + /// + [Input("connectionState")] + public Input? ConnectionState { get; set; } + + /// + /// Time in epoch milliseconds when this object was created. + /// + [Input("creationTime")] + public Input? CreationTime { get; set; } + + /// + /// Whether this private endpoint is deactivated. + /// + [Input("deactivated")] + public Input? Deactivated { get; set; } + + /// + /// Time in epoch milliseconds when this object was deactivated. + /// + [Input("deactivatedAt")] + public Input? DeactivatedAt { get; set; } + + /// + /// The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + /// + [Input("endpointName")] + public Input? EndpointName { get; set; } + + /// + /// The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + /// + [Input("groupId")] + public Input? GroupId { get; set; } + + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + /// + [Input("networkConnectivityConfigId")] + public Input? NetworkConnectivityConfigId { get; set; } + + /// + /// The Azure resource ID of the target resource. Change forces creation of a new resource. + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + /// + /// the ID of a private endpoint rule. + /// + [Input("ruleId")] + public Input? RuleId { get; set; } + + /// + /// Time in epoch milliseconds when this object was updated. + /// + [Input("updatedTime")] + public Input? UpdatedTime { get; set; } + + public MwsNccPrivateEndpointRuleState() + { + } + public static new MwsNccPrivateEndpointRuleState Empty => new MwsNccPrivateEndpointRuleState(); + } +} diff --git a/sdk/dotnet/MwsNetworkConnectivityConfig.cs b/sdk/dotnet/MwsNetworkConnectivityConfig.cs new file mode 100644 index 00000000..e12c7f1d --- /dev/null +++ b/sdk/dotnet/MwsNetworkConnectivityConfig.cs @@ -0,0 +1,215 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks +{ + /// + /// > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + /// + /// > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. + /// + /// Allows you to create a [Network Connectivity Config] that can be used as part of a databricks.MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-firewall). + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Databricks = Pulumi.Databricks; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var config = new Config(); + /// var region = config.RequireObject<dynamic>("region"); + /// var prefix = config.RequireObject<dynamic>("prefix"); + /// var ncc = new Databricks.MwsNetworkConnectivityConfig("ncc", new() + /// { + /// Name = $"Network Connectivity Config for {prefix}", + /// Region = region, + /// }); + /// + /// var nccBinding = new Databricks.MwsNccBinding("ncc_binding", new() + /// { + /// NetworkConnectivityConfigId = ncc.NetworkConnectivityConfigId, + /// WorkspaceId = databricksWorkspaceId, + /// }); + /// + /// }); + /// ``` + /// + /// ## Related Resources + /// + /// The following resources are used in the context: + /// + /// * databricks.MwsWorkspaces to set up Databricks workspaces. + /// * databricks.MwsNccBinding to attach an NCC to a workspace. + /// * databricks.MwsNccPrivateEndpointRule to create a private endpoint rule. + /// + /// ## Import + /// + /// This resource can be imported by Databricks account ID and Network Connectivity Config ID. + /// + /// ```sh + /// $ pulumi import databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig ncc <account_id>/<network_connectivity_config_id> + /// ``` + /// + [DatabricksResourceType("databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig")] + public partial class MwsNetworkConnectivityConfig : global::Pulumi.CustomResource + { + [Output("accountId")] + public Output AccountId { get; private set; } = null!; + + [Output("creationTime")] + public Output CreationTime { get; private set; } = null!; + + [Output("egressConfig")] + public Output EgressConfig { get; private set; } = null!; + + /// + /// Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account + /// + [Output("networkConnectivityConfigId")] + public Output NetworkConnectivityConfigId { get; private set; } = null!; + + /// + /// Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + [Output("updatedTime")] + public Output UpdatedTime { get; private set; } = null!; + + + /// + /// Create a MwsNetworkConnectivityConfig resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public MwsNetworkConnectivityConfig(string name, MwsNetworkConnectivityConfigArgs args, CustomResourceOptions? options = null) + : base("databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig", name, args ?? new MwsNetworkConnectivityConfigArgs(), MakeResourceOptions(options, "")) + { + } + + private MwsNetworkConnectivityConfig(string name, Input id, MwsNetworkConnectivityConfigState? state = null, CustomResourceOptions? options = null) + : base("databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing MwsNetworkConnectivityConfig resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static MwsNetworkConnectivityConfig Get(string name, Input id, MwsNetworkConnectivityConfigState? state = null, CustomResourceOptions? options = null) + { + return new MwsNetworkConnectivityConfig(name, id, state, options); + } + } + + public sealed class MwsNetworkConnectivityConfigArgs : global::Pulumi.ResourceArgs + { + [Input("accountId")] + public Input? AccountId { get; set; } + + [Input("creationTime")] + public Input? CreationTime { get; set; } + + [Input("egressConfig")] + public Input? EgressConfig { get; set; } + + /// + /// Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account + /// + [Input("networkConnectivityConfigId")] + public Input? NetworkConnectivityConfigId { get; set; } + + /// + /// Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + /// + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + [Input("updatedTime")] + public Input? UpdatedTime { get; set; } + + public MwsNetworkConnectivityConfigArgs() + { + } + public static new MwsNetworkConnectivityConfigArgs Empty => new MwsNetworkConnectivityConfigArgs(); + } + + public sealed class MwsNetworkConnectivityConfigState : global::Pulumi.ResourceArgs + { + [Input("accountId")] + public Input? AccountId { get; set; } + + [Input("creationTime")] + public Input? CreationTime { get; set; } + + [Input("egressConfig")] + public Input? EgressConfig { get; set; } + + /// + /// Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account + /// + [Input("networkConnectivityConfigId")] + public Input? NetworkConnectivityConfigId { get; set; } + + /// + /// Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("updatedTime")] + public Input? UpdatedTime { get; set; } + + public MwsNetworkConnectivityConfigState() + { + } + public static new MwsNetworkConnectivityConfigState Empty => new MwsNetworkConnectivityConfigState(); + } +} diff --git a/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfig.cs b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfig.cs new file mode 100644 index 00000000..4a44303d --- /dev/null +++ b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfig.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Outputs +{ + + [OutputType] + public sealed class MwsNetworkConnectivityConfigEgressConfig + { + public readonly Outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRules? DefaultRules; + public readonly Outputs.MwsNetworkConnectivityConfigEgressConfigTargetRules? TargetRules; + + [OutputConstructor] + private MwsNetworkConnectivityConfigEgressConfig( + Outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRules? defaultRules, + + Outputs.MwsNetworkConnectivityConfigEgressConfigTargetRules? targetRules) + { + DefaultRules = defaultRules; + TargetRules = targetRules; + } + } +} diff --git a/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRules.cs b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRules.cs new file mode 100644 index 00000000..4e909091 --- /dev/null +++ b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRules.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Outputs +{ + + [OutputType] + public sealed class MwsNetworkConnectivityConfigEgressConfigDefaultRules + { + public readonly Outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule? AwsStableIpRule; + /// + /// This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + /// + public readonly Outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule? AzureServiceEndpointRule; + + [OutputConstructor] + private MwsNetworkConnectivityConfigEgressConfigDefaultRules( + Outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule? awsStableIpRule, + + Outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule? azureServiceEndpointRule) + { + AwsStableIpRule = awsStableIpRule; + AzureServiceEndpointRule = azureServiceEndpointRule; + } + } +} diff --git a/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule.cs b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule.cs new file mode 100644 index 00000000..7255d5ff --- /dev/null +++ b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Outputs +{ + + [OutputType] + public sealed class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule + { + public readonly ImmutableArray CidrBlocks; + + [OutputConstructor] + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule(ImmutableArray cidrBlocks) + { + CidrBlocks = cidrBlocks; + } + } +} diff --git a/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule.cs b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule.cs new file mode 100644 index 00000000..a2787a7e --- /dev/null +++ b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Outputs +{ + + [OutputType] + public sealed class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule + { + public readonly ImmutableArray Subnets; + public readonly string? TargetRegion; + public readonly ImmutableArray TargetServices; + + [OutputConstructor] + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule( + ImmutableArray subnets, + + string? targetRegion, + + ImmutableArray targetServices) + { + Subnets = subnets; + TargetRegion = targetRegion; + TargetServices = targetServices; + } + } +} diff --git a/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigTargetRules.cs b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigTargetRules.cs new file mode 100644 index 00000000..f79f470a --- /dev/null +++ b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigTargetRules.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Outputs +{ + + [OutputType] + public sealed class MwsNetworkConnectivityConfigEgressConfigTargetRules + { + public readonly ImmutableArray AzurePrivateEndpointRules; + + [OutputConstructor] + private MwsNetworkConnectivityConfigEgressConfigTargetRules(ImmutableArray azurePrivateEndpointRules) + { + AzurePrivateEndpointRules = azurePrivateEndpointRules; + } + } +} diff --git a/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule.cs b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule.cs new file mode 100644 index 00000000..8f1a4a6d --- /dev/null +++ b/sdk/dotnet/Outputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule.cs @@ -0,0 +1,64 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Databricks.Outputs +{ + + [OutputType] + public sealed class MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule + { + public readonly string? ConnectionState; + public readonly int? CreationTime; + public readonly bool? Deactivated; + public readonly int? DeactivatedAt; + public readonly string? EndpointName; + public readonly string? GroupId; + /// + /// Canonical unique identifier of Network Connectivity Config in Databricks Account + /// + public readonly string? NetworkConnectivityConfigId; + public readonly string? ResourceId; + public readonly string? RuleId; + public readonly int? UpdatedTime; + + [OutputConstructor] + private MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule( + string? connectionState, + + int? creationTime, + + bool? deactivated, + + int? deactivatedAt, + + string? endpointName, + + string? groupId, + + string? networkConnectivityConfigId, + + string? resourceId, + + string? ruleId, + + int? updatedTime) + { + ConnectionState = connectionState; + CreationTime = creationTime; + Deactivated = deactivated; + DeactivatedAt = deactivatedAt; + EndpointName = endpointName; + GroupId = groupId; + NetworkConnectivityConfigId = networkConnectivityConfigId; + ResourceId = resourceId; + RuleId = ruleId; + UpdatedTime = updatedTime; + } + } +} diff --git a/sdk/go/databricks/getCurrentMetastore.go b/sdk/go/databricks/getCurrentMetastore.go index a3e675ec..508fba6d 100644 --- a/sdk/go/databricks/getCurrentMetastore.go +++ b/sdk/go/databricks/getCurrentMetastore.go @@ -64,7 +64,7 @@ func GetCurrentMetastore(ctx *pulumi.Context, args *GetCurrentMetastoreArgs, opt // A collection of arguments for invoking getCurrentMetastore. type GetCurrentMetastoreArgs struct { - // metastore ID. + // metastore ID. Will be `noMetastore` if there is no metastore assigned for the current workspace Id *string `pulumi:"id"` // summary about a metastore attached to the current workspace returned by [Get a metastore summary API](https://docs.databricks.com/api/workspace/metastores/summary). This contains the following attributes (check the API page for up-to-date details): MetastoreInfo *GetCurrentMetastoreMetastoreInfo `pulumi:"metastoreInfo"` @@ -72,7 +72,7 @@ type GetCurrentMetastoreArgs struct { // A collection of values returned by getCurrentMetastore. type GetCurrentMetastoreResult struct { - // metastore ID. + // metastore ID. Will be `noMetastore` if there is no metastore assigned for the current workspace Id string `pulumi:"id"` // summary about a metastore attached to the current workspace returned by [Get a metastore summary API](https://docs.databricks.com/api/workspace/metastores/summary). This contains the following attributes (check the API page for up-to-date details): MetastoreInfo GetCurrentMetastoreMetastoreInfo `pulumi:"metastoreInfo"` @@ -93,7 +93,7 @@ func GetCurrentMetastoreOutput(ctx *pulumi.Context, args GetCurrentMetastoreOutp // A collection of arguments for invoking getCurrentMetastore. type GetCurrentMetastoreOutputArgs struct { - // metastore ID. + // metastore ID. Will be `noMetastore` if there is no metastore assigned for the current workspace Id pulumi.StringPtrInput `pulumi:"id"` // summary about a metastore attached to the current workspace returned by [Get a metastore summary API](https://docs.databricks.com/api/workspace/metastores/summary). This contains the following attributes (check the API page for up-to-date details): MetastoreInfo GetCurrentMetastoreMetastoreInfoPtrInput `pulumi:"metastoreInfo"` @@ -118,7 +118,7 @@ func (o GetCurrentMetastoreResultOutput) ToGetCurrentMetastoreResultOutputWithCo return o } -// metastore ID. +// metastore ID. Will be `noMetastore` if there is no metastore assigned for the current workspace func (o GetCurrentMetastoreResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetCurrentMetastoreResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/sdk/go/databricks/init.go b/sdk/go/databricks/init.go index 25fe892c..f228b412 100644 --- a/sdk/go/databricks/init.go +++ b/sdk/go/databricks/init.go @@ -99,6 +99,12 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &MwsCustomerManagedKeys{} case "databricks:index/mwsLogDelivery:MwsLogDelivery": r = &MwsLogDelivery{} + case "databricks:index/mwsNccBinding:MwsNccBinding": + r = &MwsNccBinding{} + case "databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule": + r = &MwsNccPrivateEndpointRule{} + case "databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig": + r = &MwsNetworkConnectivityConfig{} case "databricks:index/mwsNetworks:MwsNetworks": r = &MwsNetworks{} case "databricks:index/mwsPermissionAssignment:MwsPermissionAssignment": @@ -415,6 +421,21 @@ func init() { "index/mwsLogDelivery", &module{version}, ) + pulumi.RegisterResourceModule( + "databricks", + "index/mwsNccBinding", + &module{version}, + ) + pulumi.RegisterResourceModule( + "databricks", + "index/mwsNccPrivateEndpointRule", + &module{version}, + ) + pulumi.RegisterResourceModule( + "databricks", + "index/mwsNetworkConnectivityConfig", + &module{version}, + ) pulumi.RegisterResourceModule( "databricks", "index/mwsNetworks", diff --git a/sdk/go/databricks/mwsNccBinding.go b/sdk/go/databricks/mwsNccBinding.go new file mode 100644 index 00000000..d1897581 --- /dev/null +++ b/sdk/go/databricks/mwsNccBinding.go @@ -0,0 +1,290 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package databricks + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-databricks/sdk/go/databricks/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. +// +// > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. +// +// Allows you to attach a Network Connectivity Config object to a MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/sql/admin/serverless-firewall). +// +// The NCC and workspace must be in the same region. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-databricks/sdk/go/databricks" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// region := cfg.RequireObject("region") +// prefix := cfg.RequireObject("prefix") +// ncc, err := databricks.NewMwsNetworkConnectivityConfig(ctx, "ncc", &databricks.MwsNetworkConnectivityConfigArgs{ +// Name: pulumi.String(fmt.Sprintf("Network Connectivity Config for %v", prefix)), +// Region: pulumi.Any(region), +// }) +// if err != nil { +// return err +// } +// _, err = databricks.NewMwsNccBinding(ctx, "ncc_binding", &databricks.MwsNccBindingArgs{ +// NetworkConnectivityConfigId: ncc.NetworkConnectivityConfigId, +// WorkspaceId: pulumi.Any(databricksWorkspaceId), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Related Resources +// +// The following resources are used in the context: +// +// * MwsWorkspaces to set up Databricks workspaces. +// * MwsNetworkConnectivityConfig to create Network Connectivity Config objects. +type MwsNccBinding struct { + pulumi.CustomResourceState + + // Canonical unique identifier of Network Connectivity Config in Databricks Account. + NetworkConnectivityConfigId pulumi.StringOutput `pulumi:"networkConnectivityConfigId"` + // Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + WorkspaceId pulumi.IntOutput `pulumi:"workspaceId"` +} + +// NewMwsNccBinding registers a new resource with the given unique name, arguments, and options. +func NewMwsNccBinding(ctx *pulumi.Context, + name string, args *MwsNccBindingArgs, opts ...pulumi.ResourceOption) (*MwsNccBinding, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.NetworkConnectivityConfigId == nil { + return nil, errors.New("invalid value for required argument 'NetworkConnectivityConfigId'") + } + if args.WorkspaceId == nil { + return nil, errors.New("invalid value for required argument 'WorkspaceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource MwsNccBinding + err := ctx.RegisterResource("databricks:index/mwsNccBinding:MwsNccBinding", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetMwsNccBinding gets an existing MwsNccBinding resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetMwsNccBinding(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *MwsNccBindingState, opts ...pulumi.ResourceOption) (*MwsNccBinding, error) { + var resource MwsNccBinding + err := ctx.ReadResource("databricks:index/mwsNccBinding:MwsNccBinding", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering MwsNccBinding resources. +type mwsNccBindingState struct { + // Canonical unique identifier of Network Connectivity Config in Databricks Account. + NetworkConnectivityConfigId *string `pulumi:"networkConnectivityConfigId"` + // Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + WorkspaceId *int `pulumi:"workspaceId"` +} + +type MwsNccBindingState struct { + // Canonical unique identifier of Network Connectivity Config in Databricks Account. + NetworkConnectivityConfigId pulumi.StringPtrInput + // Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + WorkspaceId pulumi.IntPtrInput +} + +func (MwsNccBindingState) ElementType() reflect.Type { + return reflect.TypeOf((*mwsNccBindingState)(nil)).Elem() +} + +type mwsNccBindingArgs struct { + // Canonical unique identifier of Network Connectivity Config in Databricks Account. + NetworkConnectivityConfigId string `pulumi:"networkConnectivityConfigId"` + // Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + WorkspaceId int `pulumi:"workspaceId"` +} + +// The set of arguments for constructing a MwsNccBinding resource. +type MwsNccBindingArgs struct { + // Canonical unique identifier of Network Connectivity Config in Databricks Account. + NetworkConnectivityConfigId pulumi.StringInput + // Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + WorkspaceId pulumi.IntInput +} + +func (MwsNccBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*mwsNccBindingArgs)(nil)).Elem() +} + +type MwsNccBindingInput interface { + pulumi.Input + + ToMwsNccBindingOutput() MwsNccBindingOutput + ToMwsNccBindingOutputWithContext(ctx context.Context) MwsNccBindingOutput +} + +func (*MwsNccBinding) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNccBinding)(nil)).Elem() +} + +func (i *MwsNccBinding) ToMwsNccBindingOutput() MwsNccBindingOutput { + return i.ToMwsNccBindingOutputWithContext(context.Background()) +} + +func (i *MwsNccBinding) ToMwsNccBindingOutputWithContext(ctx context.Context) MwsNccBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNccBindingOutput) +} + +// MwsNccBindingArrayInput is an input type that accepts MwsNccBindingArray and MwsNccBindingArrayOutput values. +// You can construct a concrete instance of `MwsNccBindingArrayInput` via: +// +// MwsNccBindingArray{ MwsNccBindingArgs{...} } +type MwsNccBindingArrayInput interface { + pulumi.Input + + ToMwsNccBindingArrayOutput() MwsNccBindingArrayOutput + ToMwsNccBindingArrayOutputWithContext(context.Context) MwsNccBindingArrayOutput +} + +type MwsNccBindingArray []MwsNccBindingInput + +func (MwsNccBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MwsNccBinding)(nil)).Elem() +} + +func (i MwsNccBindingArray) ToMwsNccBindingArrayOutput() MwsNccBindingArrayOutput { + return i.ToMwsNccBindingArrayOutputWithContext(context.Background()) +} + +func (i MwsNccBindingArray) ToMwsNccBindingArrayOutputWithContext(ctx context.Context) MwsNccBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNccBindingArrayOutput) +} + +// MwsNccBindingMapInput is an input type that accepts MwsNccBindingMap and MwsNccBindingMapOutput values. +// You can construct a concrete instance of `MwsNccBindingMapInput` via: +// +// MwsNccBindingMap{ "key": MwsNccBindingArgs{...} } +type MwsNccBindingMapInput interface { + pulumi.Input + + ToMwsNccBindingMapOutput() MwsNccBindingMapOutput + ToMwsNccBindingMapOutputWithContext(context.Context) MwsNccBindingMapOutput +} + +type MwsNccBindingMap map[string]MwsNccBindingInput + +func (MwsNccBindingMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MwsNccBinding)(nil)).Elem() +} + +func (i MwsNccBindingMap) ToMwsNccBindingMapOutput() MwsNccBindingMapOutput { + return i.ToMwsNccBindingMapOutputWithContext(context.Background()) +} + +func (i MwsNccBindingMap) ToMwsNccBindingMapOutputWithContext(ctx context.Context) MwsNccBindingMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNccBindingMapOutput) +} + +type MwsNccBindingOutput struct{ *pulumi.OutputState } + +func (MwsNccBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNccBinding)(nil)).Elem() +} + +func (o MwsNccBindingOutput) ToMwsNccBindingOutput() MwsNccBindingOutput { + return o +} + +func (o MwsNccBindingOutput) ToMwsNccBindingOutputWithContext(ctx context.Context) MwsNccBindingOutput { + return o +} + +// Canonical unique identifier of Network Connectivity Config in Databricks Account. +func (o MwsNccBindingOutput) NetworkConnectivityConfigId() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNccBinding) pulumi.StringOutput { return v.NetworkConnectivityConfigId }).(pulumi.StringOutput) +} + +// Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. +func (o MwsNccBindingOutput) WorkspaceId() pulumi.IntOutput { + return o.ApplyT(func(v *MwsNccBinding) pulumi.IntOutput { return v.WorkspaceId }).(pulumi.IntOutput) +} + +type MwsNccBindingArrayOutput struct{ *pulumi.OutputState } + +func (MwsNccBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MwsNccBinding)(nil)).Elem() +} + +func (o MwsNccBindingArrayOutput) ToMwsNccBindingArrayOutput() MwsNccBindingArrayOutput { + return o +} + +func (o MwsNccBindingArrayOutput) ToMwsNccBindingArrayOutputWithContext(ctx context.Context) MwsNccBindingArrayOutput { + return o +} + +func (o MwsNccBindingArrayOutput) Index(i pulumi.IntInput) MwsNccBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MwsNccBinding { + return vs[0].([]*MwsNccBinding)[vs[1].(int)] + }).(MwsNccBindingOutput) +} + +type MwsNccBindingMapOutput struct{ *pulumi.OutputState } + +func (MwsNccBindingMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MwsNccBinding)(nil)).Elem() +} + +func (o MwsNccBindingMapOutput) ToMwsNccBindingMapOutput() MwsNccBindingMapOutput { + return o +} + +func (o MwsNccBindingMapOutput) ToMwsNccBindingMapOutputWithContext(ctx context.Context) MwsNccBindingMapOutput { + return o +} + +func (o MwsNccBindingMapOutput) MapIndex(k pulumi.StringInput) MwsNccBindingOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MwsNccBinding { + return vs[0].(map[string]*MwsNccBinding)[vs[1].(string)] + }).(MwsNccBindingOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MwsNccBindingInput)(nil)).Elem(), &MwsNccBinding{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNccBindingArrayInput)(nil)).Elem(), MwsNccBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNccBindingMapInput)(nil)).Elem(), MwsNccBindingMap{}) + pulumi.RegisterOutputType(MwsNccBindingOutput{}) + pulumi.RegisterOutputType(MwsNccBindingArrayOutput{}) + pulumi.RegisterOutputType(MwsNccBindingMapOutput{}) +} diff --git a/sdk/go/databricks/mwsNccPrivateEndpointRule.go b/sdk/go/databricks/mwsNccPrivateEndpointRule.go new file mode 100644 index 00000000..467387a0 --- /dev/null +++ b/sdk/go/databricks/mwsNccPrivateEndpointRule.go @@ -0,0 +1,426 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package databricks + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-databricks/sdk/go/databricks/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. +// +// > **Note** This feature is only available in Azure. +// +// Allows you to create a private endpoint in a Network Connectivity Config that can be used to [configure private connectivity from serverless compute](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-private-link). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-databricks/sdk/go/databricks" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// region := cfg.RequireObject("region") +// prefix := cfg.RequireObject("prefix") +// ncc, err := databricks.NewMwsNetworkConnectivityConfig(ctx, "ncc", &databricks.MwsNetworkConnectivityConfigArgs{ +// Name: pulumi.String(fmt.Sprintf("Network Connectivity Config for %v", prefix)), +// Region: pulumi.Any(region), +// }) +// if err != nil { +// return err +// } +// _, err = databricks.NewMwsNccPrivateEndpointRule(ctx, "storage", &databricks.MwsNccPrivateEndpointRuleArgs{ +// NetworkConnectivityConfigId: ncc.NetworkConnectivityConfigId, +// ResourceId: pulumi.String("/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa"), +// GroupId: pulumi.String("blob"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Related Resources +// +// The following resources are used in the context: +// +// * MwsNetworkConnectivityConfig to create Network Connectivity Config objects. +// * MwsNccBinding to attach an NCC to a workspace. +// +// ## Import +// +// This resource can be imported by Databricks account ID and Network Connectivity Config ID. +// +// ```sh +// $ pulumi import databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule rule / +// ``` +type MwsNccPrivateEndpointRule struct { + pulumi.CustomResourceState + + // The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + // The possible values are: + ConnectionState pulumi.StringOutput `pulumi:"connectionState"` + // Time in epoch milliseconds when this object was created. + CreationTime pulumi.IntOutput `pulumi:"creationTime"` + // Whether this private endpoint is deactivated. + Deactivated pulumi.BoolPtrOutput `pulumi:"deactivated"` + // Time in epoch milliseconds when this object was deactivated. + DeactivatedAt pulumi.IntPtrOutput `pulumi:"deactivatedAt"` + // The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + EndpointName pulumi.StringOutput `pulumi:"endpointName"` + // The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + GroupId pulumi.StringOutput `pulumi:"groupId"` + // Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + NetworkConnectivityConfigId pulumi.StringOutput `pulumi:"networkConnectivityConfigId"` + // The Azure resource ID of the target resource. Change forces creation of a new resource. + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // the ID of a private endpoint rule. + RuleId pulumi.StringOutput `pulumi:"ruleId"` + // Time in epoch milliseconds when this object was updated. + UpdatedTime pulumi.IntOutput `pulumi:"updatedTime"` +} + +// NewMwsNccPrivateEndpointRule registers a new resource with the given unique name, arguments, and options. +func NewMwsNccPrivateEndpointRule(ctx *pulumi.Context, + name string, args *MwsNccPrivateEndpointRuleArgs, opts ...pulumi.ResourceOption) (*MwsNccPrivateEndpointRule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.GroupId == nil { + return nil, errors.New("invalid value for required argument 'GroupId'") + } + if args.NetworkConnectivityConfigId == nil { + return nil, errors.New("invalid value for required argument 'NetworkConnectivityConfigId'") + } + if args.ResourceId == nil { + return nil, errors.New("invalid value for required argument 'ResourceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource MwsNccPrivateEndpointRule + err := ctx.RegisterResource("databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetMwsNccPrivateEndpointRule gets an existing MwsNccPrivateEndpointRule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetMwsNccPrivateEndpointRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *MwsNccPrivateEndpointRuleState, opts ...pulumi.ResourceOption) (*MwsNccPrivateEndpointRule, error) { + var resource MwsNccPrivateEndpointRule + err := ctx.ReadResource("databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering MwsNccPrivateEndpointRule resources. +type mwsNccPrivateEndpointRuleState struct { + // The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + // The possible values are: + ConnectionState *string `pulumi:"connectionState"` + // Time in epoch milliseconds when this object was created. + CreationTime *int `pulumi:"creationTime"` + // Whether this private endpoint is deactivated. + Deactivated *bool `pulumi:"deactivated"` + // Time in epoch milliseconds when this object was deactivated. + DeactivatedAt *int `pulumi:"deactivatedAt"` + // The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + EndpointName *string `pulumi:"endpointName"` + // The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + GroupId *string `pulumi:"groupId"` + // Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + NetworkConnectivityConfigId *string `pulumi:"networkConnectivityConfigId"` + // The Azure resource ID of the target resource. Change forces creation of a new resource. + ResourceId *string `pulumi:"resourceId"` + // the ID of a private endpoint rule. + RuleId *string `pulumi:"ruleId"` + // Time in epoch milliseconds when this object was updated. + UpdatedTime *int `pulumi:"updatedTime"` +} + +type MwsNccPrivateEndpointRuleState struct { + // The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + // The possible values are: + ConnectionState pulumi.StringPtrInput + // Time in epoch milliseconds when this object was created. + CreationTime pulumi.IntPtrInput + // Whether this private endpoint is deactivated. + Deactivated pulumi.BoolPtrInput + // Time in epoch milliseconds when this object was deactivated. + DeactivatedAt pulumi.IntPtrInput + // The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + EndpointName pulumi.StringPtrInput + // The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + GroupId pulumi.StringPtrInput + // Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + NetworkConnectivityConfigId pulumi.StringPtrInput + // The Azure resource ID of the target resource. Change forces creation of a new resource. + ResourceId pulumi.StringPtrInput + // the ID of a private endpoint rule. + RuleId pulumi.StringPtrInput + // Time in epoch milliseconds when this object was updated. + UpdatedTime pulumi.IntPtrInput +} + +func (MwsNccPrivateEndpointRuleState) ElementType() reflect.Type { + return reflect.TypeOf((*mwsNccPrivateEndpointRuleState)(nil)).Elem() +} + +type mwsNccPrivateEndpointRuleArgs struct { + // The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + // The possible values are: + ConnectionState *string `pulumi:"connectionState"` + // Time in epoch milliseconds when this object was created. + CreationTime *int `pulumi:"creationTime"` + // Whether this private endpoint is deactivated. + Deactivated *bool `pulumi:"deactivated"` + // Time in epoch milliseconds when this object was deactivated. + DeactivatedAt *int `pulumi:"deactivatedAt"` + // The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + EndpointName *string `pulumi:"endpointName"` + // The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + GroupId string `pulumi:"groupId"` + // Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + NetworkConnectivityConfigId string `pulumi:"networkConnectivityConfigId"` + // The Azure resource ID of the target resource. Change forces creation of a new resource. + ResourceId string `pulumi:"resourceId"` + // the ID of a private endpoint rule. + RuleId *string `pulumi:"ruleId"` + // Time in epoch milliseconds when this object was updated. + UpdatedTime *int `pulumi:"updatedTime"` +} + +// The set of arguments for constructing a MwsNccPrivateEndpointRule resource. +type MwsNccPrivateEndpointRuleArgs struct { + // The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + // The possible values are: + ConnectionState pulumi.StringPtrInput + // Time in epoch milliseconds when this object was created. + CreationTime pulumi.IntPtrInput + // Whether this private endpoint is deactivated. + Deactivated pulumi.BoolPtrInput + // Time in epoch milliseconds when this object was deactivated. + DeactivatedAt pulumi.IntPtrInput + // The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + EndpointName pulumi.StringPtrInput + // The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + GroupId pulumi.StringInput + // Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + NetworkConnectivityConfigId pulumi.StringInput + // The Azure resource ID of the target resource. Change forces creation of a new resource. + ResourceId pulumi.StringInput + // the ID of a private endpoint rule. + RuleId pulumi.StringPtrInput + // Time in epoch milliseconds when this object was updated. + UpdatedTime pulumi.IntPtrInput +} + +func (MwsNccPrivateEndpointRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*mwsNccPrivateEndpointRuleArgs)(nil)).Elem() +} + +type MwsNccPrivateEndpointRuleInput interface { + pulumi.Input + + ToMwsNccPrivateEndpointRuleOutput() MwsNccPrivateEndpointRuleOutput + ToMwsNccPrivateEndpointRuleOutputWithContext(ctx context.Context) MwsNccPrivateEndpointRuleOutput +} + +func (*MwsNccPrivateEndpointRule) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNccPrivateEndpointRule)(nil)).Elem() +} + +func (i *MwsNccPrivateEndpointRule) ToMwsNccPrivateEndpointRuleOutput() MwsNccPrivateEndpointRuleOutput { + return i.ToMwsNccPrivateEndpointRuleOutputWithContext(context.Background()) +} + +func (i *MwsNccPrivateEndpointRule) ToMwsNccPrivateEndpointRuleOutputWithContext(ctx context.Context) MwsNccPrivateEndpointRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNccPrivateEndpointRuleOutput) +} + +// MwsNccPrivateEndpointRuleArrayInput is an input type that accepts MwsNccPrivateEndpointRuleArray and MwsNccPrivateEndpointRuleArrayOutput values. +// You can construct a concrete instance of `MwsNccPrivateEndpointRuleArrayInput` via: +// +// MwsNccPrivateEndpointRuleArray{ MwsNccPrivateEndpointRuleArgs{...} } +type MwsNccPrivateEndpointRuleArrayInput interface { + pulumi.Input + + ToMwsNccPrivateEndpointRuleArrayOutput() MwsNccPrivateEndpointRuleArrayOutput + ToMwsNccPrivateEndpointRuleArrayOutputWithContext(context.Context) MwsNccPrivateEndpointRuleArrayOutput +} + +type MwsNccPrivateEndpointRuleArray []MwsNccPrivateEndpointRuleInput + +func (MwsNccPrivateEndpointRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MwsNccPrivateEndpointRule)(nil)).Elem() +} + +func (i MwsNccPrivateEndpointRuleArray) ToMwsNccPrivateEndpointRuleArrayOutput() MwsNccPrivateEndpointRuleArrayOutput { + return i.ToMwsNccPrivateEndpointRuleArrayOutputWithContext(context.Background()) +} + +func (i MwsNccPrivateEndpointRuleArray) ToMwsNccPrivateEndpointRuleArrayOutputWithContext(ctx context.Context) MwsNccPrivateEndpointRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNccPrivateEndpointRuleArrayOutput) +} + +// MwsNccPrivateEndpointRuleMapInput is an input type that accepts MwsNccPrivateEndpointRuleMap and MwsNccPrivateEndpointRuleMapOutput values. +// You can construct a concrete instance of `MwsNccPrivateEndpointRuleMapInput` via: +// +// MwsNccPrivateEndpointRuleMap{ "key": MwsNccPrivateEndpointRuleArgs{...} } +type MwsNccPrivateEndpointRuleMapInput interface { + pulumi.Input + + ToMwsNccPrivateEndpointRuleMapOutput() MwsNccPrivateEndpointRuleMapOutput + ToMwsNccPrivateEndpointRuleMapOutputWithContext(context.Context) MwsNccPrivateEndpointRuleMapOutput +} + +type MwsNccPrivateEndpointRuleMap map[string]MwsNccPrivateEndpointRuleInput + +func (MwsNccPrivateEndpointRuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MwsNccPrivateEndpointRule)(nil)).Elem() +} + +func (i MwsNccPrivateEndpointRuleMap) ToMwsNccPrivateEndpointRuleMapOutput() MwsNccPrivateEndpointRuleMapOutput { + return i.ToMwsNccPrivateEndpointRuleMapOutputWithContext(context.Background()) +} + +func (i MwsNccPrivateEndpointRuleMap) ToMwsNccPrivateEndpointRuleMapOutputWithContext(ctx context.Context) MwsNccPrivateEndpointRuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNccPrivateEndpointRuleMapOutput) +} + +type MwsNccPrivateEndpointRuleOutput struct{ *pulumi.OutputState } + +func (MwsNccPrivateEndpointRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNccPrivateEndpointRule)(nil)).Elem() +} + +func (o MwsNccPrivateEndpointRuleOutput) ToMwsNccPrivateEndpointRuleOutput() MwsNccPrivateEndpointRuleOutput { + return o +} + +func (o MwsNccPrivateEndpointRuleOutput) ToMwsNccPrivateEndpointRuleOutputWithContext(ctx context.Context) MwsNccPrivateEndpointRuleOutput { + return o +} + +// The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. +// The possible values are: +func (o MwsNccPrivateEndpointRuleOutput) ConnectionState() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNccPrivateEndpointRule) pulumi.StringOutput { return v.ConnectionState }).(pulumi.StringOutput) +} + +// Time in epoch milliseconds when this object was created. +func (o MwsNccPrivateEndpointRuleOutput) CreationTime() pulumi.IntOutput { + return o.ApplyT(func(v *MwsNccPrivateEndpointRule) pulumi.IntOutput { return v.CreationTime }).(pulumi.IntOutput) +} + +// Whether this private endpoint is deactivated. +func (o MwsNccPrivateEndpointRuleOutput) Deactivated() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *MwsNccPrivateEndpointRule) pulumi.BoolPtrOutput { return v.Deactivated }).(pulumi.BoolPtrOutput) +} + +// Time in epoch milliseconds when this object was deactivated. +func (o MwsNccPrivateEndpointRuleOutput) DeactivatedAt() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MwsNccPrivateEndpointRule) pulumi.IntPtrOutput { return v.DeactivatedAt }).(pulumi.IntPtrOutput) +} + +// The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" +func (o MwsNccPrivateEndpointRuleOutput) EndpointName() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNccPrivateEndpointRule) pulumi.StringOutput { return v.EndpointName }).(pulumi.StringOutput) +} + +// The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. +func (o MwsNccPrivateEndpointRuleOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNccPrivateEndpointRule) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) +} + +// Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. +func (o MwsNccPrivateEndpointRuleOutput) NetworkConnectivityConfigId() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNccPrivateEndpointRule) pulumi.StringOutput { return v.NetworkConnectivityConfigId }).(pulumi.StringOutput) +} + +// The Azure resource ID of the target resource. Change forces creation of a new resource. +func (o MwsNccPrivateEndpointRuleOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNccPrivateEndpointRule) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// the ID of a private endpoint rule. +func (o MwsNccPrivateEndpointRuleOutput) RuleId() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNccPrivateEndpointRule) pulumi.StringOutput { return v.RuleId }).(pulumi.StringOutput) +} + +// Time in epoch milliseconds when this object was updated. +func (o MwsNccPrivateEndpointRuleOutput) UpdatedTime() pulumi.IntOutput { + return o.ApplyT(func(v *MwsNccPrivateEndpointRule) pulumi.IntOutput { return v.UpdatedTime }).(pulumi.IntOutput) +} + +type MwsNccPrivateEndpointRuleArrayOutput struct{ *pulumi.OutputState } + +func (MwsNccPrivateEndpointRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MwsNccPrivateEndpointRule)(nil)).Elem() +} + +func (o MwsNccPrivateEndpointRuleArrayOutput) ToMwsNccPrivateEndpointRuleArrayOutput() MwsNccPrivateEndpointRuleArrayOutput { + return o +} + +func (o MwsNccPrivateEndpointRuleArrayOutput) ToMwsNccPrivateEndpointRuleArrayOutputWithContext(ctx context.Context) MwsNccPrivateEndpointRuleArrayOutput { + return o +} + +func (o MwsNccPrivateEndpointRuleArrayOutput) Index(i pulumi.IntInput) MwsNccPrivateEndpointRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MwsNccPrivateEndpointRule { + return vs[0].([]*MwsNccPrivateEndpointRule)[vs[1].(int)] + }).(MwsNccPrivateEndpointRuleOutput) +} + +type MwsNccPrivateEndpointRuleMapOutput struct{ *pulumi.OutputState } + +func (MwsNccPrivateEndpointRuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MwsNccPrivateEndpointRule)(nil)).Elem() +} + +func (o MwsNccPrivateEndpointRuleMapOutput) ToMwsNccPrivateEndpointRuleMapOutput() MwsNccPrivateEndpointRuleMapOutput { + return o +} + +func (o MwsNccPrivateEndpointRuleMapOutput) ToMwsNccPrivateEndpointRuleMapOutputWithContext(ctx context.Context) MwsNccPrivateEndpointRuleMapOutput { + return o +} + +func (o MwsNccPrivateEndpointRuleMapOutput) MapIndex(k pulumi.StringInput) MwsNccPrivateEndpointRuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MwsNccPrivateEndpointRule { + return vs[0].(map[string]*MwsNccPrivateEndpointRule)[vs[1].(string)] + }).(MwsNccPrivateEndpointRuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MwsNccPrivateEndpointRuleInput)(nil)).Elem(), &MwsNccPrivateEndpointRule{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNccPrivateEndpointRuleArrayInput)(nil)).Elem(), MwsNccPrivateEndpointRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNccPrivateEndpointRuleMapInput)(nil)).Elem(), MwsNccPrivateEndpointRuleMap{}) + pulumi.RegisterOutputType(MwsNccPrivateEndpointRuleOutput{}) + pulumi.RegisterOutputType(MwsNccPrivateEndpointRuleArrayOutput{}) + pulumi.RegisterOutputType(MwsNccPrivateEndpointRuleMapOutput{}) +} diff --git a/sdk/go/databricks/mwsNetworkConnectivityConfig.go b/sdk/go/databricks/mwsNetworkConnectivityConfig.go new file mode 100644 index 00000000..85f7d7b0 --- /dev/null +++ b/sdk/go/databricks/mwsNetworkConnectivityConfig.go @@ -0,0 +1,347 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package databricks + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-databricks/sdk/go/databricks/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. +// +// > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. +// +// Allows you to create a [Network Connectivity Config] that can be used as part of a MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-firewall). +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-databricks/sdk/go/databricks" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// cfg := config.New(ctx, "") +// region := cfg.RequireObject("region") +// prefix := cfg.RequireObject("prefix") +// ncc, err := databricks.NewMwsNetworkConnectivityConfig(ctx, "ncc", &databricks.MwsNetworkConnectivityConfigArgs{ +// Name: pulumi.String(fmt.Sprintf("Network Connectivity Config for %v", prefix)), +// Region: pulumi.Any(region), +// }) +// if err != nil { +// return err +// } +// _, err = databricks.NewMwsNccBinding(ctx, "ncc_binding", &databricks.MwsNccBindingArgs{ +// NetworkConnectivityConfigId: ncc.NetworkConnectivityConfigId, +// WorkspaceId: pulumi.Any(databricksWorkspaceId), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Related Resources +// +// The following resources are used in the context: +// +// * MwsWorkspaces to set up Databricks workspaces. +// * MwsNccBinding to attach an NCC to a workspace. +// * MwsNccPrivateEndpointRule to create a private endpoint rule. +// +// ## Import +// +// This resource can be imported by Databricks account ID and Network Connectivity Config ID. +// +// ```sh +// $ pulumi import databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig ncc / +// ``` +type MwsNetworkConnectivityConfig struct { + pulumi.CustomResourceState + + AccountId pulumi.StringOutput `pulumi:"accountId"` + CreationTime pulumi.IntOutput `pulumi:"creationTime"` + EgressConfig MwsNetworkConnectivityConfigEgressConfigOutput `pulumi:"egressConfig"` + // Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + Name pulumi.StringOutput `pulumi:"name"` + // Canonical unique identifier of Network Connectivity Config in Databricks Account + NetworkConnectivityConfigId pulumi.StringOutput `pulumi:"networkConnectivityConfigId"` + // Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + Region pulumi.StringOutput `pulumi:"region"` + UpdatedTime pulumi.IntOutput `pulumi:"updatedTime"` +} + +// NewMwsNetworkConnectivityConfig registers a new resource with the given unique name, arguments, and options. +func NewMwsNetworkConnectivityConfig(ctx *pulumi.Context, + name string, args *MwsNetworkConnectivityConfigArgs, opts ...pulumi.ResourceOption) (*MwsNetworkConnectivityConfig, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Region == nil { + return nil, errors.New("invalid value for required argument 'Region'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource MwsNetworkConnectivityConfig + err := ctx.RegisterResource("databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetMwsNetworkConnectivityConfig gets an existing MwsNetworkConnectivityConfig resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetMwsNetworkConnectivityConfig(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *MwsNetworkConnectivityConfigState, opts ...pulumi.ResourceOption) (*MwsNetworkConnectivityConfig, error) { + var resource MwsNetworkConnectivityConfig + err := ctx.ReadResource("databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering MwsNetworkConnectivityConfig resources. +type mwsNetworkConnectivityConfigState struct { + AccountId *string `pulumi:"accountId"` + CreationTime *int `pulumi:"creationTime"` + EgressConfig *MwsNetworkConnectivityConfigEgressConfig `pulumi:"egressConfig"` + // Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + Name *string `pulumi:"name"` + // Canonical unique identifier of Network Connectivity Config in Databricks Account + NetworkConnectivityConfigId *string `pulumi:"networkConnectivityConfigId"` + // Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + Region *string `pulumi:"region"` + UpdatedTime *int `pulumi:"updatedTime"` +} + +type MwsNetworkConnectivityConfigState struct { + AccountId pulumi.StringPtrInput + CreationTime pulumi.IntPtrInput + EgressConfig MwsNetworkConnectivityConfigEgressConfigPtrInput + // Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + Name pulumi.StringPtrInput + // Canonical unique identifier of Network Connectivity Config in Databricks Account + NetworkConnectivityConfigId pulumi.StringPtrInput + // Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + Region pulumi.StringPtrInput + UpdatedTime pulumi.IntPtrInput +} + +func (MwsNetworkConnectivityConfigState) ElementType() reflect.Type { + return reflect.TypeOf((*mwsNetworkConnectivityConfigState)(nil)).Elem() +} + +type mwsNetworkConnectivityConfigArgs struct { + AccountId *string `pulumi:"accountId"` + CreationTime *int `pulumi:"creationTime"` + EgressConfig *MwsNetworkConnectivityConfigEgressConfig `pulumi:"egressConfig"` + // Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + Name *string `pulumi:"name"` + // Canonical unique identifier of Network Connectivity Config in Databricks Account + NetworkConnectivityConfigId *string `pulumi:"networkConnectivityConfigId"` + // Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + Region string `pulumi:"region"` + UpdatedTime *int `pulumi:"updatedTime"` +} + +// The set of arguments for constructing a MwsNetworkConnectivityConfig resource. +type MwsNetworkConnectivityConfigArgs struct { + AccountId pulumi.StringPtrInput + CreationTime pulumi.IntPtrInput + EgressConfig MwsNetworkConnectivityConfigEgressConfigPtrInput + // Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + Name pulumi.StringPtrInput + // Canonical unique identifier of Network Connectivity Config in Databricks Account + NetworkConnectivityConfigId pulumi.StringPtrInput + // Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + Region pulumi.StringInput + UpdatedTime pulumi.IntPtrInput +} + +func (MwsNetworkConnectivityConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*mwsNetworkConnectivityConfigArgs)(nil)).Elem() +} + +type MwsNetworkConnectivityConfigInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigOutput() MwsNetworkConnectivityConfigOutput + ToMwsNetworkConnectivityConfigOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigOutput +} + +func (*MwsNetworkConnectivityConfig) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfig)(nil)).Elem() +} + +func (i *MwsNetworkConnectivityConfig) ToMwsNetworkConnectivityConfigOutput() MwsNetworkConnectivityConfigOutput { + return i.ToMwsNetworkConnectivityConfigOutputWithContext(context.Background()) +} + +func (i *MwsNetworkConnectivityConfig) ToMwsNetworkConnectivityConfigOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigOutput) +} + +// MwsNetworkConnectivityConfigArrayInput is an input type that accepts MwsNetworkConnectivityConfigArray and MwsNetworkConnectivityConfigArrayOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigArrayInput` via: +// +// MwsNetworkConnectivityConfigArray{ MwsNetworkConnectivityConfigArgs{...} } +type MwsNetworkConnectivityConfigArrayInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigArrayOutput() MwsNetworkConnectivityConfigArrayOutput + ToMwsNetworkConnectivityConfigArrayOutputWithContext(context.Context) MwsNetworkConnectivityConfigArrayOutput +} + +type MwsNetworkConnectivityConfigArray []MwsNetworkConnectivityConfigInput + +func (MwsNetworkConnectivityConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MwsNetworkConnectivityConfig)(nil)).Elem() +} + +func (i MwsNetworkConnectivityConfigArray) ToMwsNetworkConnectivityConfigArrayOutput() MwsNetworkConnectivityConfigArrayOutput { + return i.ToMwsNetworkConnectivityConfigArrayOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigArray) ToMwsNetworkConnectivityConfigArrayOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigArrayOutput) +} + +// MwsNetworkConnectivityConfigMapInput is an input type that accepts MwsNetworkConnectivityConfigMap and MwsNetworkConnectivityConfigMapOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigMapInput` via: +// +// MwsNetworkConnectivityConfigMap{ "key": MwsNetworkConnectivityConfigArgs{...} } +type MwsNetworkConnectivityConfigMapInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigMapOutput() MwsNetworkConnectivityConfigMapOutput + ToMwsNetworkConnectivityConfigMapOutputWithContext(context.Context) MwsNetworkConnectivityConfigMapOutput +} + +type MwsNetworkConnectivityConfigMap map[string]MwsNetworkConnectivityConfigInput + +func (MwsNetworkConnectivityConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MwsNetworkConnectivityConfig)(nil)).Elem() +} + +func (i MwsNetworkConnectivityConfigMap) ToMwsNetworkConnectivityConfigMapOutput() MwsNetworkConnectivityConfigMapOutput { + return i.ToMwsNetworkConnectivityConfigMapOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigMap) ToMwsNetworkConnectivityConfigMapOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigMapOutput) +} + +type MwsNetworkConnectivityConfigOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfig)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigOutput) ToMwsNetworkConnectivityConfigOutput() MwsNetworkConnectivityConfigOutput { + return o +} + +func (o MwsNetworkConnectivityConfigOutput) ToMwsNetworkConnectivityConfigOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigOutput { + return o +} + +func (o MwsNetworkConnectivityConfigOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfig) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +func (o MwsNetworkConnectivityConfigOutput) CreationTime() pulumi.IntOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfig) pulumi.IntOutput { return v.CreationTime }).(pulumi.IntOutput) +} + +func (o MwsNetworkConnectivityConfigOutput) EgressConfig() MwsNetworkConnectivityConfigEgressConfigOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfig) MwsNetworkConnectivityConfigEgressConfigOutput { + return v.EgressConfig + }).(MwsNetworkConnectivityConfigEgressConfigOutput) +} + +// Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. +func (o MwsNetworkConnectivityConfigOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfig) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Canonical unique identifier of Network Connectivity Config in Databricks Account +func (o MwsNetworkConnectivityConfigOutput) NetworkConnectivityConfigId() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfig) pulumi.StringOutput { return v.NetworkConnectivityConfigId }).(pulumi.StringOutput) +} + +// Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. +func (o MwsNetworkConnectivityConfigOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfig) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +func (o MwsNetworkConnectivityConfigOutput) UpdatedTime() pulumi.IntOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfig) pulumi.IntOutput { return v.UpdatedTime }).(pulumi.IntOutput) +} + +type MwsNetworkConnectivityConfigArrayOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*MwsNetworkConnectivityConfig)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigArrayOutput) ToMwsNetworkConnectivityConfigArrayOutput() MwsNetworkConnectivityConfigArrayOutput { + return o +} + +func (o MwsNetworkConnectivityConfigArrayOutput) ToMwsNetworkConnectivityConfigArrayOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigArrayOutput { + return o +} + +func (o MwsNetworkConnectivityConfigArrayOutput) Index(i pulumi.IntInput) MwsNetworkConnectivityConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MwsNetworkConnectivityConfig { + return vs[0].([]*MwsNetworkConnectivityConfig)[vs[1].(int)] + }).(MwsNetworkConnectivityConfigOutput) +} + +type MwsNetworkConnectivityConfigMapOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*MwsNetworkConnectivityConfig)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigMapOutput) ToMwsNetworkConnectivityConfigMapOutput() MwsNetworkConnectivityConfigMapOutput { + return o +} + +func (o MwsNetworkConnectivityConfigMapOutput) ToMwsNetworkConnectivityConfigMapOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigMapOutput { + return o +} + +func (o MwsNetworkConnectivityConfigMapOutput) MapIndex(k pulumi.StringInput) MwsNetworkConnectivityConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MwsNetworkConnectivityConfig { + return vs[0].(map[string]*MwsNetworkConnectivityConfig)[vs[1].(string)] + }).(MwsNetworkConnectivityConfigOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigInput)(nil)).Elem(), &MwsNetworkConnectivityConfig{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigArrayInput)(nil)).Elem(), MwsNetworkConnectivityConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigMapInput)(nil)).Elem(), MwsNetworkConnectivityConfigMap{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigArrayOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigMapOutput{}) +} diff --git a/sdk/go/databricks/pulumiTypes.go b/sdk/go/databricks/pulumiTypes.go index ec831bb7..3c10111f 100644 --- a/sdk/go/databricks/pulumiTypes.go +++ b/sdk/go/databricks/pulumiTypes.go @@ -46219,6 +46219,924 @@ func (o MwsCustomerManagedKeysGcpKeyInfoPtrOutput) KmsKeyId() pulumi.StringPtrOu }).(pulumi.StringPtrOutput) } +type MwsNetworkConnectivityConfigEgressConfig struct { + DefaultRules *MwsNetworkConnectivityConfigEgressConfigDefaultRules `pulumi:"defaultRules"` + TargetRules *MwsNetworkConnectivityConfigEgressConfigTargetRules `pulumi:"targetRules"` +} + +// MwsNetworkConnectivityConfigEgressConfigInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigArgs and MwsNetworkConnectivityConfigEgressConfigOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigArgs{...} +type MwsNetworkConnectivityConfigEgressConfigInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigOutput() MwsNetworkConnectivityConfigEgressConfigOutput + ToMwsNetworkConnectivityConfigEgressConfigOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigOutput +} + +type MwsNetworkConnectivityConfigEgressConfigArgs struct { + DefaultRules MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrInput `pulumi:"defaultRules"` + TargetRules MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrInput `pulumi:"targetRules"` +} + +func (MwsNetworkConnectivityConfigEgressConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfig)(nil)).Elem() +} + +func (i MwsNetworkConnectivityConfigEgressConfigArgs) ToMwsNetworkConnectivityConfigEgressConfigOutput() MwsNetworkConnectivityConfigEgressConfigOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigArgs) ToMwsNetworkConnectivityConfigEgressConfigOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigOutput) +} + +func (i MwsNetworkConnectivityConfigEgressConfigArgs) ToMwsNetworkConnectivityConfigEgressConfigPtrOutput() MwsNetworkConnectivityConfigEgressConfigPtrOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigPtrOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigArgs) ToMwsNetworkConnectivityConfigEgressConfigPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigOutput).ToMwsNetworkConnectivityConfigEgressConfigPtrOutputWithContext(ctx) +} + +// MwsNetworkConnectivityConfigEgressConfigPtrInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigArgs, MwsNetworkConnectivityConfigEgressConfigPtr and MwsNetworkConnectivityConfigEgressConfigPtrOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigPtrInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigArgs{...} +// +// or: +// +// nil +type MwsNetworkConnectivityConfigEgressConfigPtrInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigPtrOutput() MwsNetworkConnectivityConfigEgressConfigPtrOutput + ToMwsNetworkConnectivityConfigEgressConfigPtrOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigPtrOutput +} + +type mwsNetworkConnectivityConfigEgressConfigPtrType MwsNetworkConnectivityConfigEgressConfigArgs + +func MwsNetworkConnectivityConfigEgressConfigPtr(v *MwsNetworkConnectivityConfigEgressConfigArgs) MwsNetworkConnectivityConfigEgressConfigPtrInput { + return (*mwsNetworkConnectivityConfigEgressConfigPtrType)(v) +} + +func (*mwsNetworkConnectivityConfigEgressConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfigEgressConfig)(nil)).Elem() +} + +func (i *mwsNetworkConnectivityConfigEgressConfigPtrType) ToMwsNetworkConnectivityConfigEgressConfigPtrOutput() MwsNetworkConnectivityConfigEgressConfigPtrOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigPtrOutputWithContext(context.Background()) +} + +func (i *mwsNetworkConnectivityConfigEgressConfigPtrType) ToMwsNetworkConnectivityConfigEgressConfigPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigPtrOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfig)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigOutput) ToMwsNetworkConnectivityConfigEgressConfigOutput() MwsNetworkConnectivityConfigEgressConfigOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigOutput) ToMwsNetworkConnectivityConfigEgressConfigOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigOutput) ToMwsNetworkConnectivityConfigEgressConfigPtrOutput() MwsNetworkConnectivityConfigEgressConfigPtrOutput { + return o.ToMwsNetworkConnectivityConfigEgressConfigPtrOutputWithContext(context.Background()) +} + +func (o MwsNetworkConnectivityConfigEgressConfigOutput) ToMwsNetworkConnectivityConfigEgressConfigPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MwsNetworkConnectivityConfigEgressConfig) *MwsNetworkConnectivityConfigEgressConfig { + return &v + }).(MwsNetworkConnectivityConfigEgressConfigPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigOutput) DefaultRules() MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfig) *MwsNetworkConnectivityConfigEgressConfigDefaultRules { + return v.DefaultRules + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigOutput) TargetRules() MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfig) *MwsNetworkConnectivityConfigEgressConfigTargetRules { + return v.TargetRules + }).(MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigPtrOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfigEgressConfig)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigPtrOutput) ToMwsNetworkConnectivityConfigEgressConfigPtrOutput() MwsNetworkConnectivityConfigEgressConfigPtrOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigPtrOutput) ToMwsNetworkConnectivityConfigEgressConfigPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigPtrOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigPtrOutput) Elem() MwsNetworkConnectivityConfigEgressConfigOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfig) MwsNetworkConnectivityConfigEgressConfig { + if v != nil { + return *v + } + var ret MwsNetworkConnectivityConfigEgressConfig + return ret + }).(MwsNetworkConnectivityConfigEgressConfigOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigPtrOutput) DefaultRules() MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfig) *MwsNetworkConnectivityConfigEgressConfigDefaultRules { + if v == nil { + return nil + } + return v.DefaultRules + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigPtrOutput) TargetRules() MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfig) *MwsNetworkConnectivityConfigEgressConfigTargetRules { + if v == nil { + return nil + } + return v.TargetRules + }).(MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRules struct { + AwsStableIpRule *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule `pulumi:"awsStableIpRule"` + // This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + AzureServiceEndpointRule *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule `pulumi:"azureServiceEndpointRule"` +} + +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs and MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigDefaultRulesInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs{...} +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs struct { + AwsStableIpRule MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrInput `pulumi:"awsStableIpRule"` + // This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + AzureServiceEndpointRule MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrInput `pulumi:"azureServiceEndpointRule"` +} + +func (MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRules)(nil)).Elem() +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput) +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput).ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutputWithContext(ctx) +} + +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs, MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtr and MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs{...} +// +// or: +// +// nil +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput +} + +type mwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrType MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs + +func MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtr(v *MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs) MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrInput { + return (*mwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrType)(v) +} + +func (*mwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfigEgressConfigDefaultRules)(nil)).Elem() +} + +func (i *mwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrType) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutputWithContext(context.Background()) +} + +func (i *mwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrType) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRules)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput { + return o.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutputWithContext(context.Background()) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MwsNetworkConnectivityConfigEgressConfigDefaultRules) *MwsNetworkConnectivityConfigEgressConfigDefaultRules { + return &v + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput) AwsStableIpRule() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigDefaultRules) *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule { + return v.AwsStableIpRule + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput) +} + +// This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput) AzureServiceEndpointRule() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigDefaultRules) *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule { + return v.AzureServiceEndpointRule + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfigEgressConfigDefaultRules)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput) Elem() MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigDefaultRules) MwsNetworkConnectivityConfigEgressConfigDefaultRules { + if v != nil { + return *v + } + var ret MwsNetworkConnectivityConfigEgressConfigDefaultRules + return ret + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput) AwsStableIpRule() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigDefaultRules) *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule { + if v == nil { + return nil + } + return v.AwsStableIpRule + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput) +} + +// This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput) AzureServiceEndpointRule() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigDefaultRules) *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule { + if v == nil { + return nil + } + return v.AzureServiceEndpointRule + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule struct { + CidrBlocks []string `pulumi:"cidrBlocks"` +} + +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs and MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs{...} +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs struct { + CidrBlocks pulumi.StringArrayInput `pulumi:"cidrBlocks"` +} + +func (MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule)(nil)).Elem() +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput) +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput).ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutputWithContext(ctx) +} + +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs, MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtr and MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs{...} +// +// or: +// +// nil +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput +} + +type mwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrType MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs + +func MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtr(v *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrInput { + return (*mwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrType)(v) +} + +func (*mwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule)(nil)).Elem() +} + +func (i *mwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrType) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutputWithContext(context.Background()) +} + +func (i *mwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrType) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput { + return o.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutputWithContext(context.Background()) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule) *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule { + return &v + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput) CidrBlocks() pulumi.StringArrayOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule) []string { + return v.CidrBlocks + }).(pulumi.StringArrayOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput) Elem() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule { + if v != nil { + return *v + } + var ret MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule + return ret + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput) CidrBlocks() pulumi.StringArrayOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule) []string { + if v == nil { + return nil + } + return v.CidrBlocks + }).(pulumi.StringArrayOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule struct { + Subnets []string `pulumi:"subnets"` + TargetRegion *string `pulumi:"targetRegion"` + TargetServices []string `pulumi:"targetServices"` +} + +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs and MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs{...} +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs struct { + Subnets pulumi.StringArrayInput `pulumi:"subnets"` + TargetRegion pulumi.StringPtrInput `pulumi:"targetRegion"` + TargetServices pulumi.StringArrayInput `pulumi:"targetServices"` +} + +func (MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule)(nil)).Elem() +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput) +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput).ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutputWithContext(ctx) +} + +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs, MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtr and MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs{...} +// +// or: +// +// nil +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput + ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput +} + +type mwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrType MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs + +func MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtr(v *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrInput { + return (*mwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrType)(v) +} + +func (*mwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule)(nil)).Elem() +} + +func (i *mwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrType) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutputWithContext(context.Background()) +} + +func (i *mwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrType) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput { + return o.ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutputWithContext(context.Background()) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule) *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule { + return &v + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule) []string { + return v.Subnets + }).(pulumi.StringArrayOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput) TargetRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule) *string { + return v.TargetRegion + }).(pulumi.StringPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput) TargetServices() pulumi.StringArrayOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule) []string { + return v.TargetServices + }).(pulumi.StringArrayOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) ToMwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) Elem() MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule) MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule { + if v != nil { + return *v + } + var ret MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule + return ret + }).(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule) []string { + if v == nil { + return nil + } + return v.Subnets + }).(pulumi.StringArrayOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) TargetRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule) *string { + if v == nil { + return nil + } + return v.TargetRegion + }).(pulumi.StringPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput) TargetServices() pulumi.StringArrayOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule) []string { + if v == nil { + return nil + } + return v.TargetServices + }).(pulumi.StringArrayOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigTargetRules struct { + AzurePrivateEndpointRules []MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule `pulumi:"azurePrivateEndpointRules"` +} + +// MwsNetworkConnectivityConfigEgressConfigTargetRulesInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs and MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigTargetRulesInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs{...} +type MwsNetworkConnectivityConfigEgressConfigTargetRulesInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigTargetRulesOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput + ToMwsNetworkConnectivityConfigEgressConfigTargetRulesOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput +} + +type MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs struct { + AzurePrivateEndpointRules MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayInput `pulumi:"azurePrivateEndpointRules"` +} + +func (MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigTargetRules)(nil)).Elem() +} + +func (i MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigTargetRulesOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput) +} + +func (i MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput).ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutputWithContext(ctx) +} + +// MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs, MwsNetworkConnectivityConfigEgressConfigTargetRulesPtr and MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs{...} +// +// or: +// +// nil +type MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput + ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput +} + +type mwsNetworkConnectivityConfigEgressConfigTargetRulesPtrType MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs + +func MwsNetworkConnectivityConfigEgressConfigTargetRulesPtr(v *MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs) MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrInput { + return (*mwsNetworkConnectivityConfigEgressConfigTargetRulesPtrType)(v) +} + +func (*mwsNetworkConnectivityConfigEgressConfigTargetRulesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfigEgressConfigTargetRules)(nil)).Elem() +} + +func (i *mwsNetworkConnectivityConfigEgressConfigTargetRulesPtrType) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutputWithContext(context.Background()) +} + +func (i *mwsNetworkConnectivityConfigEgressConfigTargetRulesPtrType) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigTargetRules)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput { + return o.ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutputWithContext(context.Background()) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MwsNetworkConnectivityConfigEgressConfigTargetRules) *MwsNetworkConnectivityConfigEgressConfigTargetRules { + return &v + }).(MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput) AzurePrivateEndpointRules() MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRules) []MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule { + return v.AzurePrivateEndpointRules + }).(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MwsNetworkConnectivityConfigEgressConfigTargetRules)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput) Elem() MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigTargetRules) MwsNetworkConnectivityConfigEgressConfigTargetRules { + if v != nil { + return *v + } + var ret MwsNetworkConnectivityConfigEgressConfigTargetRules + return ret + }).(MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput) AzurePrivateEndpointRules() MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput { + return o.ApplyT(func(v *MwsNetworkConnectivityConfigEgressConfigTargetRules) []MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule { + if v == nil { + return nil + } + return v.AzurePrivateEndpointRules + }).(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule struct { + ConnectionState *string `pulumi:"connectionState"` + CreationTime *int `pulumi:"creationTime"` + Deactivated *bool `pulumi:"deactivated"` + DeactivatedAt *int `pulumi:"deactivatedAt"` + EndpointName *string `pulumi:"endpointName"` + GroupId *string `pulumi:"groupId"` + // Canonical unique identifier of Network Connectivity Config in Databricks Account + NetworkConnectivityConfigId *string `pulumi:"networkConnectivityConfigId"` + ResourceId *string `pulumi:"resourceId"` + RuleId *string `pulumi:"ruleId"` + UpdatedTime *int `pulumi:"updatedTime"` +} + +// MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs and MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs{...} +type MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput + ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput +} + +type MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs struct { + ConnectionState pulumi.StringPtrInput `pulumi:"connectionState"` + CreationTime pulumi.IntPtrInput `pulumi:"creationTime"` + Deactivated pulumi.BoolPtrInput `pulumi:"deactivated"` + DeactivatedAt pulumi.IntPtrInput `pulumi:"deactivatedAt"` + EndpointName pulumi.StringPtrInput `pulumi:"endpointName"` + GroupId pulumi.StringPtrInput `pulumi:"groupId"` + // Canonical unique identifier of Network Connectivity Config in Databricks Account + NetworkConnectivityConfigId pulumi.StringPtrInput `pulumi:"networkConnectivityConfigId"` + ResourceId pulumi.StringPtrInput `pulumi:"resourceId"` + RuleId pulumi.StringPtrInput `pulumi:"ruleId"` + UpdatedTime pulumi.IntPtrInput `pulumi:"updatedTime"` +} + +func (MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule)(nil)).Elem() +} + +func (i MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) +} + +// MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayInput is an input type that accepts MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArray and MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput values. +// You can construct a concrete instance of `MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayInput` via: +// +// MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArray{ MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs{...} } +type MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayInput interface { + pulumi.Input + + ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput + ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutputWithContext(context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput +} + +type MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArray []MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleInput + +func (MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule)(nil)).Elem() +} + +func (i MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArray) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput { + return i.ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutputWithContext(context.Background()) +} + +func (i MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArray) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) ConnectionState() pulumi.StringPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule) *string { + return v.ConnectionState + }).(pulumi.StringPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) CreationTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule) *int { + return v.CreationTime + }).(pulumi.IntPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) Deactivated() pulumi.BoolPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule) *bool { + return v.Deactivated + }).(pulumi.BoolPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) DeactivatedAt() pulumi.IntPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule) *int { + return v.DeactivatedAt + }).(pulumi.IntPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) EndpointName() pulumi.StringPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule) *string { + return v.EndpointName + }).(pulumi.StringPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule) *string { + return v.GroupId + }).(pulumi.StringPtrOutput) +} + +// Canonical unique identifier of Network Connectivity Config in Databricks Account +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) NetworkConnectivityConfigId() pulumi.StringPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule) *string { + return v.NetworkConnectivityConfigId + }).(pulumi.StringPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) ResourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule) *string { + return v.ResourceId + }).(pulumi.StringPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) RuleId() pulumi.StringPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule) *string { + return v.RuleId + }).(pulumi.StringPtrOutput) +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) UpdatedTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule) *int { + return v.UpdatedTime + }).(pulumi.IntPtrOutput) +} + +type MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput struct{ *pulumi.OutputState } + +func (MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule)(nil)).Elem() +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput() MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput) ToMwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutputWithContext(ctx context.Context) MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput { + return o +} + +func (o MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput) Index(i pulumi.IntInput) MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule { + return vs[0].([]MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule)[vs[1].(int)] + }).(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput) +} + type MwsNetworksErrorMessage struct { ErrorMessage *string `pulumi:"errorMessage"` ErrorType *string `pulumi:"errorType"` @@ -82222,1409 +83140,6 @@ func (o GetJobJobSettingsSettingsTaskConditionTaskPtrOutput) Right() pulumi.Stri }).(pulumi.StringPtrOutput) } -type GetJobJobSettingsSettingsTaskDbtTask struct { - Catalog *string `pulumi:"catalog"` - Commands []string `pulumi:"commands"` - ProfilesDirectory *string `pulumi:"profilesDirectory"` - ProjectDirectory *string `pulumi:"projectDirectory"` - Schema *string `pulumi:"schema"` - Source *string `pulumi:"source"` - WarehouseId *string `pulumi:"warehouseId"` -} - -// GetJobJobSettingsSettingsTaskDbtTaskInput is an input type that accepts GetJobJobSettingsSettingsTaskDbtTaskArgs and GetJobJobSettingsSettingsTaskDbtTaskOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskDbtTaskInput` via: -// -// GetJobJobSettingsSettingsTaskDbtTaskArgs{...} -type GetJobJobSettingsSettingsTaskDbtTaskInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskDbtTaskOutput() GetJobJobSettingsSettingsTaskDbtTaskOutput - ToGetJobJobSettingsSettingsTaskDbtTaskOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskDbtTaskOutput -} - -type GetJobJobSettingsSettingsTaskDbtTaskArgs struct { - Catalog pulumi.StringPtrInput `pulumi:"catalog"` - Commands pulumi.StringArrayInput `pulumi:"commands"` - ProfilesDirectory pulumi.StringPtrInput `pulumi:"profilesDirectory"` - ProjectDirectory pulumi.StringPtrInput `pulumi:"projectDirectory"` - Schema pulumi.StringPtrInput `pulumi:"schema"` - Source pulumi.StringPtrInput `pulumi:"source"` - WarehouseId pulumi.StringPtrInput `pulumi:"warehouseId"` -} - -func (GetJobJobSettingsSettingsTaskDbtTaskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskDbtTask)(nil)).Elem() -} - -func (i GetJobJobSettingsSettingsTaskDbtTaskArgs) ToGetJobJobSettingsSettingsTaskDbtTaskOutput() GetJobJobSettingsSettingsTaskDbtTaskOutput { - return i.ToGetJobJobSettingsSettingsTaskDbtTaskOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskDbtTaskArgs) ToGetJobJobSettingsSettingsTaskDbtTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskDbtTaskOutput) -} - -func (i GetJobJobSettingsSettingsTaskDbtTaskArgs) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutput() GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { - return i.ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskDbtTaskArgs) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskDbtTaskOutput).ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(ctx) -} - -// GetJobJobSettingsSettingsTaskDbtTaskPtrInput is an input type that accepts GetJobJobSettingsSettingsTaskDbtTaskArgs, GetJobJobSettingsSettingsTaskDbtTaskPtr and GetJobJobSettingsSettingsTaskDbtTaskPtrOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskDbtTaskPtrInput` via: -// -// GetJobJobSettingsSettingsTaskDbtTaskArgs{...} -// -// or: -// -// nil -type GetJobJobSettingsSettingsTaskDbtTaskPtrInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutput() GetJobJobSettingsSettingsTaskDbtTaskPtrOutput - ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskDbtTaskPtrOutput -} - -type getJobJobSettingsSettingsTaskDbtTaskPtrType GetJobJobSettingsSettingsTaskDbtTaskArgs - -func GetJobJobSettingsSettingsTaskDbtTaskPtr(v *GetJobJobSettingsSettingsTaskDbtTaskArgs) GetJobJobSettingsSettingsTaskDbtTaskPtrInput { - return (*getJobJobSettingsSettingsTaskDbtTaskPtrType)(v) -} - -func (*getJobJobSettingsSettingsTaskDbtTaskPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetJobJobSettingsSettingsTaskDbtTask)(nil)).Elem() -} - -func (i *getJobJobSettingsSettingsTaskDbtTaskPtrType) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutput() GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { - return i.ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(context.Background()) -} - -func (i *getJobJobSettingsSettingsTaskDbtTaskPtrType) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) -} - -type GetJobJobSettingsSettingsTaskDbtTaskOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskDbtTaskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskDbtTask)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ToGetJobJobSettingsSettingsTaskDbtTaskOutput() GetJobJobSettingsSettingsTaskDbtTaskOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ToGetJobJobSettingsSettingsTaskDbtTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutput() GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { - return o.ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(context.Background()) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetJobJobSettingsSettingsTaskDbtTask) *GetJobJobSettingsSettingsTaskDbtTask { - return &v - }).(GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) Catalog() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.Catalog }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) Commands() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) []string { return v.Commands }).(pulumi.StringArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ProfilesDirectory() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.ProfilesDirectory }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ProjectDirectory() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.ProjectDirectory }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) Schema() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.Schema }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) Source() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.Source }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) WarehouseId() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.WarehouseId }).(pulumi.StringPtrOutput) -} - -type GetJobJobSettingsSettingsTaskDbtTaskPtrOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetJobJobSettingsSettingsTaskDbtTask)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutput() GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) Elem() GetJobJobSettingsSettingsTaskDbtTaskOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) GetJobJobSettingsSettingsTaskDbtTask { - if v != nil { - return *v - } - var ret GetJobJobSettingsSettingsTaskDbtTask - return ret - }).(GetJobJobSettingsSettingsTaskDbtTaskOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) Catalog() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { - if v == nil { - return nil - } - return v.Catalog - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) Commands() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) []string { - if v == nil { - return nil - } - return v.Commands - }).(pulumi.StringArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) ProfilesDirectory() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { - if v == nil { - return nil - } - return v.ProfilesDirectory - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) ProjectDirectory() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { - if v == nil { - return nil - } - return v.ProjectDirectory - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) Schema() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { - if v == nil { - return nil - } - return v.Schema - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) Source() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { - if v == nil { - return nil - } - return v.Source - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) WarehouseId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { - if v == nil { - return nil - } - return v.WarehouseId - }).(pulumi.StringPtrOutput) -} - -type GetJobJobSettingsSettingsTaskDependsOn struct { - Outcome *string `pulumi:"outcome"` - TaskKey string `pulumi:"taskKey"` -} - -// GetJobJobSettingsSettingsTaskDependsOnInput is an input type that accepts GetJobJobSettingsSettingsTaskDependsOnArgs and GetJobJobSettingsSettingsTaskDependsOnOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskDependsOnInput` via: -// -// GetJobJobSettingsSettingsTaskDependsOnArgs{...} -type GetJobJobSettingsSettingsTaskDependsOnInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskDependsOnOutput() GetJobJobSettingsSettingsTaskDependsOnOutput - ToGetJobJobSettingsSettingsTaskDependsOnOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskDependsOnOutput -} - -type GetJobJobSettingsSettingsTaskDependsOnArgs struct { - Outcome pulumi.StringPtrInput `pulumi:"outcome"` - TaskKey pulumi.StringInput `pulumi:"taskKey"` -} - -func (GetJobJobSettingsSettingsTaskDependsOnArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskDependsOn)(nil)).Elem() -} - -func (i GetJobJobSettingsSettingsTaskDependsOnArgs) ToGetJobJobSettingsSettingsTaskDependsOnOutput() GetJobJobSettingsSettingsTaskDependsOnOutput { - return i.ToGetJobJobSettingsSettingsTaskDependsOnOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskDependsOnArgs) ToGetJobJobSettingsSettingsTaskDependsOnOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDependsOnOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskDependsOnOutput) -} - -// GetJobJobSettingsSettingsTaskDependsOnArrayInput is an input type that accepts GetJobJobSettingsSettingsTaskDependsOnArray and GetJobJobSettingsSettingsTaskDependsOnArrayOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskDependsOnArrayInput` via: -// -// GetJobJobSettingsSettingsTaskDependsOnArray{ GetJobJobSettingsSettingsTaskDependsOnArgs{...} } -type GetJobJobSettingsSettingsTaskDependsOnArrayInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskDependsOnArrayOutput() GetJobJobSettingsSettingsTaskDependsOnArrayOutput - ToGetJobJobSettingsSettingsTaskDependsOnArrayOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskDependsOnArrayOutput -} - -type GetJobJobSettingsSettingsTaskDependsOnArray []GetJobJobSettingsSettingsTaskDependsOnInput - -func (GetJobJobSettingsSettingsTaskDependsOnArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobJobSettingsSettingsTaskDependsOn)(nil)).Elem() -} - -func (i GetJobJobSettingsSettingsTaskDependsOnArray) ToGetJobJobSettingsSettingsTaskDependsOnArrayOutput() GetJobJobSettingsSettingsTaskDependsOnArrayOutput { - return i.ToGetJobJobSettingsSettingsTaskDependsOnArrayOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskDependsOnArray) ToGetJobJobSettingsSettingsTaskDependsOnArrayOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDependsOnArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskDependsOnArrayOutput) -} - -type GetJobJobSettingsSettingsTaskDependsOnOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskDependsOnOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskDependsOn)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskDependsOnOutput) ToGetJobJobSettingsSettingsTaskDependsOnOutput() GetJobJobSettingsSettingsTaskDependsOnOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskDependsOnOutput) ToGetJobJobSettingsSettingsTaskDependsOnOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDependsOnOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskDependsOnOutput) Outcome() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDependsOn) *string { return v.Outcome }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskDependsOnOutput) TaskKey() pulumi.StringOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDependsOn) string { return v.TaskKey }).(pulumi.StringOutput) -} - -type GetJobJobSettingsSettingsTaskDependsOnArrayOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskDependsOnArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobJobSettingsSettingsTaskDependsOn)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskDependsOnArrayOutput) ToGetJobJobSettingsSettingsTaskDependsOnArrayOutput() GetJobJobSettingsSettingsTaskDependsOnArrayOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskDependsOnArrayOutput) ToGetJobJobSettingsSettingsTaskDependsOnArrayOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDependsOnArrayOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskDependsOnArrayOutput) Index(i pulumi.IntInput) GetJobJobSettingsSettingsTaskDependsOnOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobJobSettingsSettingsTaskDependsOn { - return vs[0].([]GetJobJobSettingsSettingsTaskDependsOn)[vs[1].(int)] - }).(GetJobJobSettingsSettingsTaskDependsOnOutput) -} - -type GetJobJobSettingsSettingsTaskEmailNotifications struct { - NoAlertForSkippedRuns *bool `pulumi:"noAlertForSkippedRuns"` - OnDurationWarningThresholdExceededs []string `pulumi:"onDurationWarningThresholdExceededs"` - OnFailures []string `pulumi:"onFailures"` - OnStarts []string `pulumi:"onStarts"` - OnSuccesses []string `pulumi:"onSuccesses"` -} - -// GetJobJobSettingsSettingsTaskEmailNotificationsInput is an input type that accepts GetJobJobSettingsSettingsTaskEmailNotificationsArgs and GetJobJobSettingsSettingsTaskEmailNotificationsOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskEmailNotificationsInput` via: -// -// GetJobJobSettingsSettingsTaskEmailNotificationsArgs{...} -type GetJobJobSettingsSettingsTaskEmailNotificationsInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskEmailNotificationsOutput() GetJobJobSettingsSettingsTaskEmailNotificationsOutput - ToGetJobJobSettingsSettingsTaskEmailNotificationsOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsOutput -} - -type GetJobJobSettingsSettingsTaskEmailNotificationsArgs struct { - NoAlertForSkippedRuns pulumi.BoolPtrInput `pulumi:"noAlertForSkippedRuns"` - OnDurationWarningThresholdExceededs pulumi.StringArrayInput `pulumi:"onDurationWarningThresholdExceededs"` - OnFailures pulumi.StringArrayInput `pulumi:"onFailures"` - OnStarts pulumi.StringArrayInput `pulumi:"onStarts"` - OnSuccesses pulumi.StringArrayInput `pulumi:"onSuccesses"` -} - -func (GetJobJobSettingsSettingsTaskEmailNotificationsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskEmailNotifications)(nil)).Elem() -} - -func (i GetJobJobSettingsSettingsTaskEmailNotificationsArgs) ToGetJobJobSettingsSettingsTaskEmailNotificationsOutput() GetJobJobSettingsSettingsTaskEmailNotificationsOutput { - return i.ToGetJobJobSettingsSettingsTaskEmailNotificationsOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskEmailNotificationsArgs) ToGetJobJobSettingsSettingsTaskEmailNotificationsOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskEmailNotificationsOutput) -} - -func (i GetJobJobSettingsSettingsTaskEmailNotificationsArgs) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput() GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { - return i.ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskEmailNotificationsArgs) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskEmailNotificationsOutput).ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(ctx) -} - -// GetJobJobSettingsSettingsTaskEmailNotificationsPtrInput is an input type that accepts GetJobJobSettingsSettingsTaskEmailNotificationsArgs, GetJobJobSettingsSettingsTaskEmailNotificationsPtr and GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskEmailNotificationsPtrInput` via: -// -// GetJobJobSettingsSettingsTaskEmailNotificationsArgs{...} -// -// or: -// -// nil -type GetJobJobSettingsSettingsTaskEmailNotificationsPtrInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput() GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput - ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput -} - -type getJobJobSettingsSettingsTaskEmailNotificationsPtrType GetJobJobSettingsSettingsTaskEmailNotificationsArgs - -func GetJobJobSettingsSettingsTaskEmailNotificationsPtr(v *GetJobJobSettingsSettingsTaskEmailNotificationsArgs) GetJobJobSettingsSettingsTaskEmailNotificationsPtrInput { - return (*getJobJobSettingsSettingsTaskEmailNotificationsPtrType)(v) -} - -func (*getJobJobSettingsSettingsTaskEmailNotificationsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetJobJobSettingsSettingsTaskEmailNotifications)(nil)).Elem() -} - -func (i *getJobJobSettingsSettingsTaskEmailNotificationsPtrType) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput() GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { - return i.ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(context.Background()) -} - -func (i *getJobJobSettingsSettingsTaskEmailNotificationsPtrType) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) -} - -type GetJobJobSettingsSettingsTaskEmailNotificationsOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskEmailNotificationsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskEmailNotifications)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsOutput() GetJobJobSettingsSettingsTaskEmailNotificationsOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput() GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { - return o.ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(context.Background()) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetJobJobSettingsSettingsTaskEmailNotifications) *GetJobJobSettingsSettingsTaskEmailNotifications { - return &v - }).(GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) NoAlertForSkippedRuns() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskEmailNotifications) *bool { return v.NoAlertForSkippedRuns }).(pulumi.BoolPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) OnDurationWarningThresholdExceededs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskEmailNotifications) []string { - return v.OnDurationWarningThresholdExceededs - }).(pulumi.StringArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) OnFailures() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskEmailNotifications) []string { return v.OnFailures }).(pulumi.StringArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) OnStarts() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskEmailNotifications) []string { return v.OnStarts }).(pulumi.StringArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) OnSuccesses() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskEmailNotifications) []string { return v.OnSuccesses }).(pulumi.StringArrayOutput) -} - -type GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetJobJobSettingsSettingsTaskEmailNotifications)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput() GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) Elem() GetJobJobSettingsSettingsTaskEmailNotificationsOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) GetJobJobSettingsSettingsTaskEmailNotifications { - if v != nil { - return *v - } - var ret GetJobJobSettingsSettingsTaskEmailNotifications - return ret - }).(GetJobJobSettingsSettingsTaskEmailNotificationsOutput) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) NoAlertForSkippedRuns() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) *bool { - if v == nil { - return nil - } - return v.NoAlertForSkippedRuns - }).(pulumi.BoolPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) OnDurationWarningThresholdExceededs() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) []string { - if v == nil { - return nil - } - return v.OnDurationWarningThresholdExceededs - }).(pulumi.StringArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) OnFailures() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) []string { - if v == nil { - return nil - } - return v.OnFailures - }).(pulumi.StringArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) OnStarts() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) []string { - if v == nil { - return nil - } - return v.OnStarts - }).(pulumi.StringArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) OnSuccesses() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) []string { - if v == nil { - return nil - } - return v.OnSuccesses - }).(pulumi.StringArrayOutput) -} - -type GetJobJobSettingsSettingsTaskForEachTask struct { - Concurrency *int `pulumi:"concurrency"` - Inputs string `pulumi:"inputs"` - Task GetJobJobSettingsSettingsTaskForEachTaskTask `pulumi:"task"` -} - -// GetJobJobSettingsSettingsTaskForEachTaskInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskArgs and GetJobJobSettingsSettingsTaskForEachTaskOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskInput` via: -// -// GetJobJobSettingsSettingsTaskForEachTaskArgs{...} -type GetJobJobSettingsSettingsTaskForEachTaskInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskForEachTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskOutput - ToGetJobJobSettingsSettingsTaskForEachTaskOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskOutput -} - -type GetJobJobSettingsSettingsTaskForEachTaskArgs struct { - Concurrency pulumi.IntPtrInput `pulumi:"concurrency"` - Inputs pulumi.StringInput `pulumi:"inputs"` - Task GetJobJobSettingsSettingsTaskForEachTaskTaskInput `pulumi:"task"` -} - -func (GetJobJobSettingsSettingsTaskForEachTaskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTask)(nil)).Elem() -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskOutput { - return i.ToGetJobJobSettingsSettingsTaskForEachTaskOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskOutput) -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { - return i.ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskOutput).ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(ctx) -} - -// GetJobJobSettingsSettingsTaskForEachTaskPtrInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskArgs, GetJobJobSettingsSettingsTaskForEachTaskPtr and GetJobJobSettingsSettingsTaskForEachTaskPtrOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskPtrInput` via: -// -// GetJobJobSettingsSettingsTaskForEachTaskArgs{...} -// -// or: -// -// nil -type GetJobJobSettingsSettingsTaskForEachTaskPtrInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskPtrOutput - ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskPtrOutput -} - -type getJobJobSettingsSettingsTaskForEachTaskPtrType GetJobJobSettingsSettingsTaskForEachTaskArgs - -func GetJobJobSettingsSettingsTaskForEachTaskPtr(v *GetJobJobSettingsSettingsTaskForEachTaskArgs) GetJobJobSettingsSettingsTaskForEachTaskPtrInput { - return (*getJobJobSettingsSettingsTaskForEachTaskPtrType)(v) -} - -func (*getJobJobSettingsSettingsTaskForEachTaskPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTask)(nil)).Elem() -} - -func (i *getJobJobSettingsSettingsTaskForEachTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { - return i.ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(context.Background()) -} - -func (i *getJobJobSettingsSettingsTaskForEachTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) -} - -type GetJobJobSettingsSettingsTaskForEachTaskOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskForEachTaskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTask)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { - return o.ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(context.Background()) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetJobJobSettingsSettingsTaskForEachTask) *GetJobJobSettingsSettingsTaskForEachTask { - return &v - }).(GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) Concurrency() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTask) *int { return v.Concurrency }).(pulumi.IntPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) Inputs() pulumi.StringOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTask) string { return v.Inputs }).(pulumi.StringOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) Task() GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTask) GetJobJobSettingsSettingsTaskForEachTaskTask { - return v.Task - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) -} - -type GetJobJobSettingsSettingsTaskForEachTaskPtrOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTask)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) Elem() GetJobJobSettingsSettingsTaskForEachTaskOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTask) GetJobJobSettingsSettingsTaskForEachTask { - if v != nil { - return *v - } - var ret GetJobJobSettingsSettingsTaskForEachTask - return ret - }).(GetJobJobSettingsSettingsTaskForEachTaskOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) Concurrency() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTask) *int { - if v == nil { - return nil - } - return v.Concurrency - }).(pulumi.IntPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) Inputs() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTask) *string { - if v == nil { - return nil - } - return &v.Inputs - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) Task() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTask) *GetJobJobSettingsSettingsTaskForEachTaskTask { - if v == nil { - return nil - } - return &v.Task - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) -} - -type GetJobJobSettingsSettingsTaskForEachTaskTask struct { - ConditionTask *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask `pulumi:"conditionTask"` - DbtTask *GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTask `pulumi:"dbtTask"` - DependsOns []GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOn `pulumi:"dependsOns"` - Description *string `pulumi:"description"` - EmailNotifications *GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotifications `pulumi:"emailNotifications"` - EnvironmentKey *string `pulumi:"environmentKey"` - ExistingClusterId *string `pulumi:"existingClusterId"` - Health *GetJobJobSettingsSettingsTaskForEachTaskTaskHealth `pulumi:"health"` - JobClusterKey *string `pulumi:"jobClusterKey"` - Libraries []GetJobJobSettingsSettingsTaskForEachTaskTaskLibrary `pulumi:"libraries"` - MaxRetries *int `pulumi:"maxRetries"` - MinRetryIntervalMillis *int `pulumi:"minRetryIntervalMillis"` - NewCluster *GetJobJobSettingsSettingsTaskForEachTaskTaskNewCluster `pulumi:"newCluster"` - NotebookTask *GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTask `pulumi:"notebookTask"` - NotificationSettings *GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettings `pulumi:"notificationSettings"` - PipelineTask *GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTask `pulumi:"pipelineTask"` - PythonWheelTask *GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTask `pulumi:"pythonWheelTask"` - RetryOnTimeout bool `pulumi:"retryOnTimeout"` - RunIf *string `pulumi:"runIf"` - RunJobTask *GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTask `pulumi:"runJobTask"` - SparkJarTask *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTask `pulumi:"sparkJarTask"` - SparkPythonTask *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTask `pulumi:"sparkPythonTask"` - SparkSubmitTask *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTask `pulumi:"sparkSubmitTask"` - SqlTask *GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTask `pulumi:"sqlTask"` - TaskKey *string `pulumi:"taskKey"` - TimeoutSeconds *int `pulumi:"timeoutSeconds"` - WebhookNotifications *GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotifications `pulumi:"webhookNotifications"` -} - -// GetJobJobSettingsSettingsTaskForEachTaskTaskInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskTaskArgs and GetJobJobSettingsSettingsTaskForEachTaskTaskOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskTaskInput` via: -// -// GetJobJobSettingsSettingsTaskForEachTaskTaskArgs{...} -type GetJobJobSettingsSettingsTaskForEachTaskTaskInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskOutput - ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskOutput -} - -type GetJobJobSettingsSettingsTaskForEachTaskTaskArgs struct { - ConditionTask GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput `pulumi:"conditionTask"` - DbtTask GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrInput `pulumi:"dbtTask"` - DependsOns GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArrayInput `pulumi:"dependsOns"` - Description pulumi.StringPtrInput `pulumi:"description"` - EmailNotifications GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotificationsPtrInput `pulumi:"emailNotifications"` - EnvironmentKey pulumi.StringPtrInput `pulumi:"environmentKey"` - ExistingClusterId pulumi.StringPtrInput `pulumi:"existingClusterId"` - Health GetJobJobSettingsSettingsTaskForEachTaskTaskHealthPtrInput `pulumi:"health"` - JobClusterKey pulumi.StringPtrInput `pulumi:"jobClusterKey"` - Libraries GetJobJobSettingsSettingsTaskForEachTaskTaskLibraryArrayInput `pulumi:"libraries"` - MaxRetries pulumi.IntPtrInput `pulumi:"maxRetries"` - MinRetryIntervalMillis pulumi.IntPtrInput `pulumi:"minRetryIntervalMillis"` - NewCluster GetJobJobSettingsSettingsTaskForEachTaskTaskNewClusterPtrInput `pulumi:"newCluster"` - NotebookTask GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTaskPtrInput `pulumi:"notebookTask"` - NotificationSettings GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettingsPtrInput `pulumi:"notificationSettings"` - PipelineTask GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTaskPtrInput `pulumi:"pipelineTask"` - PythonWheelTask GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTaskPtrInput `pulumi:"pythonWheelTask"` - RetryOnTimeout pulumi.BoolInput `pulumi:"retryOnTimeout"` - RunIf pulumi.StringPtrInput `pulumi:"runIf"` - RunJobTask GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTaskPtrInput `pulumi:"runJobTask"` - SparkJarTask GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTaskPtrInput `pulumi:"sparkJarTask"` - SparkPythonTask GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTaskPtrInput `pulumi:"sparkPythonTask"` - SparkSubmitTask GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTaskPtrInput `pulumi:"sparkSubmitTask"` - SqlTask GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTaskPtrInput `pulumi:"sqlTask"` - TaskKey pulumi.StringPtrInput `pulumi:"taskKey"` - TimeoutSeconds pulumi.IntPtrInput `pulumi:"timeoutSeconds"` - WebhookNotifications GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotificationsPtrInput `pulumi:"webhookNotifications"` -} - -func (GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTask)(nil)).Elem() -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { - return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { - return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskOutput).ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(ctx) -} - -// GetJobJobSettingsSettingsTaskForEachTaskTaskPtrInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskTaskArgs, GetJobJobSettingsSettingsTaskForEachTaskTaskPtr and GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskTaskPtrInput` via: -// -// GetJobJobSettingsSettingsTaskForEachTaskTaskArgs{...} -// -// or: -// -// nil -type GetJobJobSettingsSettingsTaskForEachTaskTaskPtrInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput - ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput -} - -type getJobJobSettingsSettingsTaskForEachTaskTaskPtrType GetJobJobSettingsSettingsTaskForEachTaskTaskArgs - -func GetJobJobSettingsSettingsTaskForEachTaskTaskPtr(v *GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrInput { - return (*getJobJobSettingsSettingsTaskForEachTaskTaskPtrType)(v) -} - -func (*getJobJobSettingsSettingsTaskForEachTaskTaskPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTaskTask)(nil)).Elem() -} - -func (i *getJobJobSettingsSettingsTaskForEachTaskTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { - return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(context.Background()) -} - -func (i *getJobJobSettingsSettingsTaskForEachTaskTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) -} - -type GetJobJobSettingsSettingsTaskForEachTaskTaskOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTask)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { - return o.ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(context.Background()) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTask { - return &v - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ConditionTask() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask { - return v.ConditionTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) DbtTask() GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTask { - return v.DbtTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) DependsOns() GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArrayOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) []GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOn { - return v.DependsOns - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.Description }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) EmailNotifications() GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotificationsPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotifications { - return v.EmailNotifications - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotificationsPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) EnvironmentKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.EnvironmentKey }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ExistingClusterId() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.ExistingClusterId }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) Health() GetJobJobSettingsSettingsTaskForEachTaskTaskHealthPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskHealth { - return v.Health - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskHealthPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) JobClusterKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.JobClusterKey }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) Libraries() GetJobJobSettingsSettingsTaskForEachTaskTaskLibraryArrayOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) []GetJobJobSettingsSettingsTaskForEachTaskTaskLibrary { - return v.Libraries - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskLibraryArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) MaxRetries() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *int { return v.MaxRetries }).(pulumi.IntPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) MinRetryIntervalMillis() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *int { return v.MinRetryIntervalMillis }).(pulumi.IntPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) NewCluster() GetJobJobSettingsSettingsTaskForEachTaskTaskNewClusterPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNewCluster { - return v.NewCluster - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNewClusterPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) NotebookTask() GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTaskPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTask { - return v.NotebookTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) NotificationSettings() GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettingsPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettings { - return v.NotificationSettings - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettingsPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) PipelineTask() GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTaskPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTask { - return v.PipelineTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) PythonWheelTask() GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTaskPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTask { - return v.PythonWheelTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) RetryOnTimeout() pulumi.BoolOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) bool { return v.RetryOnTimeout }).(pulumi.BoolOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) RunIf() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.RunIf }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) RunJobTask() GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTaskPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTask { - return v.RunJobTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) SparkJarTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTaskPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTask { - return v.SparkJarTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) SparkPythonTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTaskPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTask { - return v.SparkPythonTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) SparkSubmitTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTaskPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTask { - return v.SparkSubmitTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) SqlTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTaskPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTask { - return v.SqlTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) TaskKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.TaskKey }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) TimeoutSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *int { return v.TimeoutSeconds }).(pulumi.IntPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) WebhookNotifications() GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotificationsPtrOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotifications { - return v.WebhookNotifications - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotificationsPtrOutput) -} - -type GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTaskTask)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) Elem() GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) GetJobJobSettingsSettingsTaskForEachTaskTask { - if v != nil { - return *v - } - var ret GetJobJobSettingsSettingsTaskForEachTaskTask - return ret - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) ConditionTask() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask { - if v == nil { - return nil - } - return v.ConditionTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) DbtTask() GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTask { - if v == nil { - return nil - } - return v.DbtTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) DependsOns() GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArrayOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) []GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOn { - if v == nil { - return nil - } - return v.DependsOns - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { - if v == nil { - return nil - } - return v.Description - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) EmailNotifications() GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotificationsPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotifications { - if v == nil { - return nil - } - return v.EmailNotifications - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotificationsPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) EnvironmentKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { - if v == nil { - return nil - } - return v.EnvironmentKey - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) ExistingClusterId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { - if v == nil { - return nil - } - return v.ExistingClusterId - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) Health() GetJobJobSettingsSettingsTaskForEachTaskTaskHealthPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskHealth { - if v == nil { - return nil - } - return v.Health - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskHealthPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) JobClusterKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { - if v == nil { - return nil - } - return v.JobClusterKey - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) Libraries() GetJobJobSettingsSettingsTaskForEachTaskTaskLibraryArrayOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) []GetJobJobSettingsSettingsTaskForEachTaskTaskLibrary { - if v == nil { - return nil - } - return v.Libraries - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskLibraryArrayOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) MaxRetries() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *int { - if v == nil { - return nil - } - return v.MaxRetries - }).(pulumi.IntPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) MinRetryIntervalMillis() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *int { - if v == nil { - return nil - } - return v.MinRetryIntervalMillis - }).(pulumi.IntPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) NewCluster() GetJobJobSettingsSettingsTaskForEachTaskTaskNewClusterPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNewCluster { - if v == nil { - return nil - } - return v.NewCluster - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNewClusterPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) NotebookTask() GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTask { - if v == nil { - return nil - } - return v.NotebookTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) NotificationSettings() GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettingsPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettings { - if v == nil { - return nil - } - return v.NotificationSettings - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettingsPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) PipelineTask() GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTask { - if v == nil { - return nil - } - return v.PipelineTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) PythonWheelTask() GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTask { - if v == nil { - return nil - } - return v.PythonWheelTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) RetryOnTimeout() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *bool { - if v == nil { - return nil - } - return &v.RetryOnTimeout - }).(pulumi.BoolPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) RunIf() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { - if v == nil { - return nil - } - return v.RunIf - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) RunJobTask() GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTask { - if v == nil { - return nil - } - return v.RunJobTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) SparkJarTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTask { - if v == nil { - return nil - } - return v.SparkJarTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) SparkPythonTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTask { - if v == nil { - return nil - } - return v.SparkPythonTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) SparkSubmitTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTask { - if v == nil { - return nil - } - return v.SparkSubmitTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) SqlTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTaskPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTask { - if v == nil { - return nil - } - return v.SqlTask - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) TaskKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { - if v == nil { - return nil - } - return v.TaskKey - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) TimeoutSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *int { - if v == nil { - return nil - } - return v.TimeoutSeconds - }).(pulumi.IntPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) WebhookNotifications() GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotificationsPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotifications { - if v == nil { - return nil - } - return v.WebhookNotifications - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotificationsPtrOutput) -} - -type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask struct { - Left string `pulumi:"left"` - Op string `pulumi:"op"` - Right string `pulumi:"right"` -} - -// GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs and GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskInput` via: -// -// GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs{...} -type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput - ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput -} - -type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs struct { - Left pulumi.StringInput `pulumi:"left"` - Op pulumi.StringInput `pulumi:"op"` - Right pulumi.StringInput `pulumi:"right"` -} - -func (GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask)(nil)).Elem() -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput { - return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { - return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(context.Background()) -} - -func (i GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput).ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(ctx) -} - -// GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs, GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtr and GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput values. -// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput` via: -// -// GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs{...} -// -// or: -// -// nil -type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput interface { - pulumi.Input - - ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput - ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput -} - -type getJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrType GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs - -func GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtr(v *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput { - return (*getJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrType)(v) -} - -func (*getJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask)(nil)).Elem() -} - -func (i *getJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { - return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(context.Background()) -} - -func (i *getJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) -} - -type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { - return o.ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(context.Background()) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask { - return &v - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) Left() pulumi.StringOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) string { return v.Left }).(pulumi.StringOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) Op() pulumi.StringOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) string { return v.Op }).(pulumi.StringOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) Right() pulumi.StringOutput { - return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) string { return v.Right }).(pulumi.StringOutput) -} - -type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput struct{ *pulumi.OutputState } - -func (GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask)(nil)).Elem() -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { - return o -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) Elem() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask { - if v != nil { - return *v - } - var ret GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask - return ret - }).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) Left() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) *string { - if v == nil { - return nil - } - return &v.Left - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) Op() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) *string { - if v == nil { - return nil - } - return &v.Op - }).(pulumi.StringPtrOutput) -} - -func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) Right() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) *string { - if v == nil { - return nil - } - return &v.Right - }).(pulumi.StringPtrOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*AccessControlRuleSetGrantRuleInput)(nil)).Elem(), AccessControlRuleSetGrantRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AccessControlRuleSetGrantRuleArrayInput)(nil)).Elem(), AccessControlRuleSetGrantRuleArray{}) @@ -84175,6 +83690,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MwsCustomerManagedKeysAwsKeyInfoPtrInput)(nil)).Elem(), MwsCustomerManagedKeysAwsKeyInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MwsCustomerManagedKeysGcpKeyInfoInput)(nil)).Elem(), MwsCustomerManagedKeysGcpKeyInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MwsCustomerManagedKeysGcpKeyInfoPtrInput)(nil)).Elem(), MwsCustomerManagedKeysGcpKeyInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigPtrInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRulesInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigTargetRulesInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayInput)(nil)).Elem(), MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworksErrorMessageInput)(nil)).Elem(), MwsNetworksErrorMessageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworksErrorMessageArrayInput)(nil)).Elem(), MwsNetworksErrorMessageArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MwsNetworksGcpNetworkInfoInput)(nil)).Elem(), MwsNetworksGcpNetworkInfoArgs{}) @@ -84607,18 +84134,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskArrayInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskConditionTaskInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskConditionTaskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskConditionTaskPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskConditionTaskArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskDbtTaskInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskDbtTaskArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskDbtTaskPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskDbtTaskArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskDependsOnInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskDependsOnArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskDependsOnArrayInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskDependsOnArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskEmailNotificationsInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskEmailNotificationsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskEmailNotificationsPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskEmailNotificationsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs{}) pulumi.RegisterOutputType(AccessControlRuleSetGrantRuleOutput{}) pulumi.RegisterOutputType(AccessControlRuleSetGrantRuleArrayOutput{}) pulumi.RegisterOutputType(ArtifactAllowlistArtifactMatcherOutput{}) @@ -85168,6 +84683,18 @@ func init() { pulumi.RegisterOutputType(MwsCustomerManagedKeysAwsKeyInfoPtrOutput{}) pulumi.RegisterOutputType(MwsCustomerManagedKeysGcpKeyInfoOutput{}) pulumi.RegisterOutputType(MwsCustomerManagedKeysGcpKeyInfoPtrOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigPtrOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigDefaultRulesOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigDefaultRulesPtrOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRulePtrOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRulePtrOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigTargetRulesOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigTargetRulesPtrOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleOutput{}) + pulumi.RegisterOutputType(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArrayOutput{}) pulumi.RegisterOutputType(MwsNetworksErrorMessageOutput{}) pulumi.RegisterOutputType(MwsNetworksErrorMessageArrayOutput{}) pulumi.RegisterOutputType(MwsNetworksGcpNetworkInfoOutput{}) @@ -85600,16 +85127,4 @@ func init() { pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskArrayOutput{}) pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskConditionTaskOutput{}) pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskConditionTaskPtrOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskDbtTaskOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskDbtTaskPtrOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskDependsOnOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskDependsOnArrayOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskEmailNotificationsOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskPtrOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput{}) - pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput{}) } diff --git a/sdk/go/databricks/pulumiTypes1.go b/sdk/go/databricks/pulumiTypes1.go index e8dd065a..da3faad5 100644 --- a/sdk/go/databricks/pulumiTypes1.go +++ b/sdk/go/databricks/pulumiTypes1.go @@ -13,6 +13,1409 @@ import ( var _ = internal.GetEnvOrDefault +type GetJobJobSettingsSettingsTaskDbtTask struct { + Catalog *string `pulumi:"catalog"` + Commands []string `pulumi:"commands"` + ProfilesDirectory *string `pulumi:"profilesDirectory"` + ProjectDirectory *string `pulumi:"projectDirectory"` + Schema *string `pulumi:"schema"` + Source *string `pulumi:"source"` + WarehouseId *string `pulumi:"warehouseId"` +} + +// GetJobJobSettingsSettingsTaskDbtTaskInput is an input type that accepts GetJobJobSettingsSettingsTaskDbtTaskArgs and GetJobJobSettingsSettingsTaskDbtTaskOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskDbtTaskInput` via: +// +// GetJobJobSettingsSettingsTaskDbtTaskArgs{...} +type GetJobJobSettingsSettingsTaskDbtTaskInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskDbtTaskOutput() GetJobJobSettingsSettingsTaskDbtTaskOutput + ToGetJobJobSettingsSettingsTaskDbtTaskOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskDbtTaskOutput +} + +type GetJobJobSettingsSettingsTaskDbtTaskArgs struct { + Catalog pulumi.StringPtrInput `pulumi:"catalog"` + Commands pulumi.StringArrayInput `pulumi:"commands"` + ProfilesDirectory pulumi.StringPtrInput `pulumi:"profilesDirectory"` + ProjectDirectory pulumi.StringPtrInput `pulumi:"projectDirectory"` + Schema pulumi.StringPtrInput `pulumi:"schema"` + Source pulumi.StringPtrInput `pulumi:"source"` + WarehouseId pulumi.StringPtrInput `pulumi:"warehouseId"` +} + +func (GetJobJobSettingsSettingsTaskDbtTaskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskDbtTask)(nil)).Elem() +} + +func (i GetJobJobSettingsSettingsTaskDbtTaskArgs) ToGetJobJobSettingsSettingsTaskDbtTaskOutput() GetJobJobSettingsSettingsTaskDbtTaskOutput { + return i.ToGetJobJobSettingsSettingsTaskDbtTaskOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskDbtTaskArgs) ToGetJobJobSettingsSettingsTaskDbtTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskDbtTaskOutput) +} + +func (i GetJobJobSettingsSettingsTaskDbtTaskArgs) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutput() GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { + return i.ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskDbtTaskArgs) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskDbtTaskOutput).ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(ctx) +} + +// GetJobJobSettingsSettingsTaskDbtTaskPtrInput is an input type that accepts GetJobJobSettingsSettingsTaskDbtTaskArgs, GetJobJobSettingsSettingsTaskDbtTaskPtr and GetJobJobSettingsSettingsTaskDbtTaskPtrOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskDbtTaskPtrInput` via: +// +// GetJobJobSettingsSettingsTaskDbtTaskArgs{...} +// +// or: +// +// nil +type GetJobJobSettingsSettingsTaskDbtTaskPtrInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutput() GetJobJobSettingsSettingsTaskDbtTaskPtrOutput + ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskDbtTaskPtrOutput +} + +type getJobJobSettingsSettingsTaskDbtTaskPtrType GetJobJobSettingsSettingsTaskDbtTaskArgs + +func GetJobJobSettingsSettingsTaskDbtTaskPtr(v *GetJobJobSettingsSettingsTaskDbtTaskArgs) GetJobJobSettingsSettingsTaskDbtTaskPtrInput { + return (*getJobJobSettingsSettingsTaskDbtTaskPtrType)(v) +} + +func (*getJobJobSettingsSettingsTaskDbtTaskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetJobJobSettingsSettingsTaskDbtTask)(nil)).Elem() +} + +func (i *getJobJobSettingsSettingsTaskDbtTaskPtrType) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutput() GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { + return i.ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(context.Background()) +} + +func (i *getJobJobSettingsSettingsTaskDbtTaskPtrType) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) +} + +type GetJobJobSettingsSettingsTaskDbtTaskOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskDbtTaskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskDbtTask)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ToGetJobJobSettingsSettingsTaskDbtTaskOutput() GetJobJobSettingsSettingsTaskDbtTaskOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ToGetJobJobSettingsSettingsTaskDbtTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutput() GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { + return o.ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(context.Background()) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetJobJobSettingsSettingsTaskDbtTask) *GetJobJobSettingsSettingsTaskDbtTask { + return &v + }).(GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) Catalog() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.Catalog }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) Commands() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) []string { return v.Commands }).(pulumi.StringArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ProfilesDirectory() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.ProfilesDirectory }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) ProjectDirectory() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.ProjectDirectory }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) Schema() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.Schema }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskOutput) WarehouseId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDbtTask) *string { return v.WarehouseId }).(pulumi.StringPtrOutput) +} + +type GetJobJobSettingsSettingsTaskDbtTaskPtrOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetJobJobSettingsSettingsTaskDbtTask)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutput() GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) ToGetJobJobSettingsSettingsTaskDbtTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDbtTaskPtrOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) Elem() GetJobJobSettingsSettingsTaskDbtTaskOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) GetJobJobSettingsSettingsTaskDbtTask { + if v != nil { + return *v + } + var ret GetJobJobSettingsSettingsTaskDbtTask + return ret + }).(GetJobJobSettingsSettingsTaskDbtTaskOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) Catalog() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { + if v == nil { + return nil + } + return v.Catalog + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) Commands() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) []string { + if v == nil { + return nil + } + return v.Commands + }).(pulumi.StringArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) ProfilesDirectory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { + if v == nil { + return nil + } + return v.ProfilesDirectory + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) ProjectDirectory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { + if v == nil { + return nil + } + return v.ProjectDirectory + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) Schema() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { + if v == nil { + return nil + } + return v.Schema + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { + if v == nil { + return nil + } + return v.Source + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDbtTaskPtrOutput) WarehouseId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskDbtTask) *string { + if v == nil { + return nil + } + return v.WarehouseId + }).(pulumi.StringPtrOutput) +} + +type GetJobJobSettingsSettingsTaskDependsOn struct { + Outcome *string `pulumi:"outcome"` + TaskKey string `pulumi:"taskKey"` +} + +// GetJobJobSettingsSettingsTaskDependsOnInput is an input type that accepts GetJobJobSettingsSettingsTaskDependsOnArgs and GetJobJobSettingsSettingsTaskDependsOnOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskDependsOnInput` via: +// +// GetJobJobSettingsSettingsTaskDependsOnArgs{...} +type GetJobJobSettingsSettingsTaskDependsOnInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskDependsOnOutput() GetJobJobSettingsSettingsTaskDependsOnOutput + ToGetJobJobSettingsSettingsTaskDependsOnOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskDependsOnOutput +} + +type GetJobJobSettingsSettingsTaskDependsOnArgs struct { + Outcome pulumi.StringPtrInput `pulumi:"outcome"` + TaskKey pulumi.StringInput `pulumi:"taskKey"` +} + +func (GetJobJobSettingsSettingsTaskDependsOnArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskDependsOn)(nil)).Elem() +} + +func (i GetJobJobSettingsSettingsTaskDependsOnArgs) ToGetJobJobSettingsSettingsTaskDependsOnOutput() GetJobJobSettingsSettingsTaskDependsOnOutput { + return i.ToGetJobJobSettingsSettingsTaskDependsOnOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskDependsOnArgs) ToGetJobJobSettingsSettingsTaskDependsOnOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDependsOnOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskDependsOnOutput) +} + +// GetJobJobSettingsSettingsTaskDependsOnArrayInput is an input type that accepts GetJobJobSettingsSettingsTaskDependsOnArray and GetJobJobSettingsSettingsTaskDependsOnArrayOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskDependsOnArrayInput` via: +// +// GetJobJobSettingsSettingsTaskDependsOnArray{ GetJobJobSettingsSettingsTaskDependsOnArgs{...} } +type GetJobJobSettingsSettingsTaskDependsOnArrayInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskDependsOnArrayOutput() GetJobJobSettingsSettingsTaskDependsOnArrayOutput + ToGetJobJobSettingsSettingsTaskDependsOnArrayOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskDependsOnArrayOutput +} + +type GetJobJobSettingsSettingsTaskDependsOnArray []GetJobJobSettingsSettingsTaskDependsOnInput + +func (GetJobJobSettingsSettingsTaskDependsOnArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobJobSettingsSettingsTaskDependsOn)(nil)).Elem() +} + +func (i GetJobJobSettingsSettingsTaskDependsOnArray) ToGetJobJobSettingsSettingsTaskDependsOnArrayOutput() GetJobJobSettingsSettingsTaskDependsOnArrayOutput { + return i.ToGetJobJobSettingsSettingsTaskDependsOnArrayOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskDependsOnArray) ToGetJobJobSettingsSettingsTaskDependsOnArrayOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDependsOnArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskDependsOnArrayOutput) +} + +type GetJobJobSettingsSettingsTaskDependsOnOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskDependsOnOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskDependsOn)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskDependsOnOutput) ToGetJobJobSettingsSettingsTaskDependsOnOutput() GetJobJobSettingsSettingsTaskDependsOnOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskDependsOnOutput) ToGetJobJobSettingsSettingsTaskDependsOnOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDependsOnOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskDependsOnOutput) Outcome() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDependsOn) *string { return v.Outcome }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskDependsOnOutput) TaskKey() pulumi.StringOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskDependsOn) string { return v.TaskKey }).(pulumi.StringOutput) +} + +type GetJobJobSettingsSettingsTaskDependsOnArrayOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskDependsOnArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobJobSettingsSettingsTaskDependsOn)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskDependsOnArrayOutput) ToGetJobJobSettingsSettingsTaskDependsOnArrayOutput() GetJobJobSettingsSettingsTaskDependsOnArrayOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskDependsOnArrayOutput) ToGetJobJobSettingsSettingsTaskDependsOnArrayOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskDependsOnArrayOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskDependsOnArrayOutput) Index(i pulumi.IntInput) GetJobJobSettingsSettingsTaskDependsOnOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobJobSettingsSettingsTaskDependsOn { + return vs[0].([]GetJobJobSettingsSettingsTaskDependsOn)[vs[1].(int)] + }).(GetJobJobSettingsSettingsTaskDependsOnOutput) +} + +type GetJobJobSettingsSettingsTaskEmailNotifications struct { + NoAlertForSkippedRuns *bool `pulumi:"noAlertForSkippedRuns"` + OnDurationWarningThresholdExceededs []string `pulumi:"onDurationWarningThresholdExceededs"` + OnFailures []string `pulumi:"onFailures"` + OnStarts []string `pulumi:"onStarts"` + OnSuccesses []string `pulumi:"onSuccesses"` +} + +// GetJobJobSettingsSettingsTaskEmailNotificationsInput is an input type that accepts GetJobJobSettingsSettingsTaskEmailNotificationsArgs and GetJobJobSettingsSettingsTaskEmailNotificationsOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskEmailNotificationsInput` via: +// +// GetJobJobSettingsSettingsTaskEmailNotificationsArgs{...} +type GetJobJobSettingsSettingsTaskEmailNotificationsInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskEmailNotificationsOutput() GetJobJobSettingsSettingsTaskEmailNotificationsOutput + ToGetJobJobSettingsSettingsTaskEmailNotificationsOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsOutput +} + +type GetJobJobSettingsSettingsTaskEmailNotificationsArgs struct { + NoAlertForSkippedRuns pulumi.BoolPtrInput `pulumi:"noAlertForSkippedRuns"` + OnDurationWarningThresholdExceededs pulumi.StringArrayInput `pulumi:"onDurationWarningThresholdExceededs"` + OnFailures pulumi.StringArrayInput `pulumi:"onFailures"` + OnStarts pulumi.StringArrayInput `pulumi:"onStarts"` + OnSuccesses pulumi.StringArrayInput `pulumi:"onSuccesses"` +} + +func (GetJobJobSettingsSettingsTaskEmailNotificationsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskEmailNotifications)(nil)).Elem() +} + +func (i GetJobJobSettingsSettingsTaskEmailNotificationsArgs) ToGetJobJobSettingsSettingsTaskEmailNotificationsOutput() GetJobJobSettingsSettingsTaskEmailNotificationsOutput { + return i.ToGetJobJobSettingsSettingsTaskEmailNotificationsOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskEmailNotificationsArgs) ToGetJobJobSettingsSettingsTaskEmailNotificationsOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskEmailNotificationsOutput) +} + +func (i GetJobJobSettingsSettingsTaskEmailNotificationsArgs) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput() GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { + return i.ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskEmailNotificationsArgs) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskEmailNotificationsOutput).ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(ctx) +} + +// GetJobJobSettingsSettingsTaskEmailNotificationsPtrInput is an input type that accepts GetJobJobSettingsSettingsTaskEmailNotificationsArgs, GetJobJobSettingsSettingsTaskEmailNotificationsPtr and GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskEmailNotificationsPtrInput` via: +// +// GetJobJobSettingsSettingsTaskEmailNotificationsArgs{...} +// +// or: +// +// nil +type GetJobJobSettingsSettingsTaskEmailNotificationsPtrInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput() GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput + ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput +} + +type getJobJobSettingsSettingsTaskEmailNotificationsPtrType GetJobJobSettingsSettingsTaskEmailNotificationsArgs + +func GetJobJobSettingsSettingsTaskEmailNotificationsPtr(v *GetJobJobSettingsSettingsTaskEmailNotificationsArgs) GetJobJobSettingsSettingsTaskEmailNotificationsPtrInput { + return (*getJobJobSettingsSettingsTaskEmailNotificationsPtrType)(v) +} + +func (*getJobJobSettingsSettingsTaskEmailNotificationsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetJobJobSettingsSettingsTaskEmailNotifications)(nil)).Elem() +} + +func (i *getJobJobSettingsSettingsTaskEmailNotificationsPtrType) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput() GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { + return i.ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(context.Background()) +} + +func (i *getJobJobSettingsSettingsTaskEmailNotificationsPtrType) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) +} + +type GetJobJobSettingsSettingsTaskEmailNotificationsOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskEmailNotificationsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskEmailNotifications)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsOutput() GetJobJobSettingsSettingsTaskEmailNotificationsOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput() GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { + return o.ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(context.Background()) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetJobJobSettingsSettingsTaskEmailNotifications) *GetJobJobSettingsSettingsTaskEmailNotifications { + return &v + }).(GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) NoAlertForSkippedRuns() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskEmailNotifications) *bool { return v.NoAlertForSkippedRuns }).(pulumi.BoolPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) OnDurationWarningThresholdExceededs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskEmailNotifications) []string { + return v.OnDurationWarningThresholdExceededs + }).(pulumi.StringArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) OnFailures() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskEmailNotifications) []string { return v.OnFailures }).(pulumi.StringArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) OnStarts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskEmailNotifications) []string { return v.OnStarts }).(pulumi.StringArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsOutput) OnSuccesses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskEmailNotifications) []string { return v.OnSuccesses }).(pulumi.StringArrayOutput) +} + +type GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetJobJobSettingsSettingsTaskEmailNotifications)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput() GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) ToGetJobJobSettingsSettingsTaskEmailNotificationsPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) Elem() GetJobJobSettingsSettingsTaskEmailNotificationsOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) GetJobJobSettingsSettingsTaskEmailNotifications { + if v != nil { + return *v + } + var ret GetJobJobSettingsSettingsTaskEmailNotifications + return ret + }).(GetJobJobSettingsSettingsTaskEmailNotificationsOutput) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) NoAlertForSkippedRuns() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) *bool { + if v == nil { + return nil + } + return v.NoAlertForSkippedRuns + }).(pulumi.BoolPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) OnDurationWarningThresholdExceededs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) []string { + if v == nil { + return nil + } + return v.OnDurationWarningThresholdExceededs + }).(pulumi.StringArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) OnFailures() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) []string { + if v == nil { + return nil + } + return v.OnFailures + }).(pulumi.StringArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) OnStarts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) []string { + if v == nil { + return nil + } + return v.OnStarts + }).(pulumi.StringArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput) OnSuccesses() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskEmailNotifications) []string { + if v == nil { + return nil + } + return v.OnSuccesses + }).(pulumi.StringArrayOutput) +} + +type GetJobJobSettingsSettingsTaskForEachTask struct { + Concurrency *int `pulumi:"concurrency"` + Inputs string `pulumi:"inputs"` + Task GetJobJobSettingsSettingsTaskForEachTaskTask `pulumi:"task"` +} + +// GetJobJobSettingsSettingsTaskForEachTaskInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskArgs and GetJobJobSettingsSettingsTaskForEachTaskOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskInput` via: +// +// GetJobJobSettingsSettingsTaskForEachTaskArgs{...} +type GetJobJobSettingsSettingsTaskForEachTaskInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskForEachTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskOutput + ToGetJobJobSettingsSettingsTaskForEachTaskOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskOutput +} + +type GetJobJobSettingsSettingsTaskForEachTaskArgs struct { + Concurrency pulumi.IntPtrInput `pulumi:"concurrency"` + Inputs pulumi.StringInput `pulumi:"inputs"` + Task GetJobJobSettingsSettingsTaskForEachTaskTaskInput `pulumi:"task"` +} + +func (GetJobJobSettingsSettingsTaskForEachTaskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTask)(nil)).Elem() +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskOutput { + return i.ToGetJobJobSettingsSettingsTaskForEachTaskOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskOutput) +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { + return i.ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskOutput).ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(ctx) +} + +// GetJobJobSettingsSettingsTaskForEachTaskPtrInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskArgs, GetJobJobSettingsSettingsTaskForEachTaskPtr and GetJobJobSettingsSettingsTaskForEachTaskPtrOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskPtrInput` via: +// +// GetJobJobSettingsSettingsTaskForEachTaskArgs{...} +// +// or: +// +// nil +type GetJobJobSettingsSettingsTaskForEachTaskPtrInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskPtrOutput + ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskPtrOutput +} + +type getJobJobSettingsSettingsTaskForEachTaskPtrType GetJobJobSettingsSettingsTaskForEachTaskArgs + +func GetJobJobSettingsSettingsTaskForEachTaskPtr(v *GetJobJobSettingsSettingsTaskForEachTaskArgs) GetJobJobSettingsSettingsTaskForEachTaskPtrInput { + return (*getJobJobSettingsSettingsTaskForEachTaskPtrType)(v) +} + +func (*getJobJobSettingsSettingsTaskForEachTaskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTask)(nil)).Elem() +} + +func (i *getJobJobSettingsSettingsTaskForEachTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { + return i.ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(context.Background()) +} + +func (i *getJobJobSettingsSettingsTaskForEachTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) +} + +type GetJobJobSettingsSettingsTaskForEachTaskOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskForEachTaskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTask)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { + return o.ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(context.Background()) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetJobJobSettingsSettingsTaskForEachTask) *GetJobJobSettingsSettingsTaskForEachTask { + return &v + }).(GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) Concurrency() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTask) *int { return v.Concurrency }).(pulumi.IntPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) Inputs() pulumi.StringOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTask) string { return v.Inputs }).(pulumi.StringOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskOutput) Task() GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTask) GetJobJobSettingsSettingsTaskForEachTaskTask { + return v.Task + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) +} + +type GetJobJobSettingsSettingsTaskForEachTaskPtrOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTask)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskPtrOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) Elem() GetJobJobSettingsSettingsTaskForEachTaskOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTask) GetJobJobSettingsSettingsTaskForEachTask { + if v != nil { + return *v + } + var ret GetJobJobSettingsSettingsTaskForEachTask + return ret + }).(GetJobJobSettingsSettingsTaskForEachTaskOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) Concurrency() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTask) *int { + if v == nil { + return nil + } + return v.Concurrency + }).(pulumi.IntPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) Inputs() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTask) *string { + if v == nil { + return nil + } + return &v.Inputs + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskPtrOutput) Task() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTask) *GetJobJobSettingsSettingsTaskForEachTaskTask { + if v == nil { + return nil + } + return &v.Task + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) +} + +type GetJobJobSettingsSettingsTaskForEachTaskTask struct { + ConditionTask *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask `pulumi:"conditionTask"` + DbtTask *GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTask `pulumi:"dbtTask"` + DependsOns []GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOn `pulumi:"dependsOns"` + Description *string `pulumi:"description"` + EmailNotifications *GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotifications `pulumi:"emailNotifications"` + EnvironmentKey *string `pulumi:"environmentKey"` + ExistingClusterId *string `pulumi:"existingClusterId"` + Health *GetJobJobSettingsSettingsTaskForEachTaskTaskHealth `pulumi:"health"` + JobClusterKey *string `pulumi:"jobClusterKey"` + Libraries []GetJobJobSettingsSettingsTaskForEachTaskTaskLibrary `pulumi:"libraries"` + MaxRetries *int `pulumi:"maxRetries"` + MinRetryIntervalMillis *int `pulumi:"minRetryIntervalMillis"` + NewCluster *GetJobJobSettingsSettingsTaskForEachTaskTaskNewCluster `pulumi:"newCluster"` + NotebookTask *GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTask `pulumi:"notebookTask"` + NotificationSettings *GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettings `pulumi:"notificationSettings"` + PipelineTask *GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTask `pulumi:"pipelineTask"` + PythonWheelTask *GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTask `pulumi:"pythonWheelTask"` + RetryOnTimeout bool `pulumi:"retryOnTimeout"` + RunIf *string `pulumi:"runIf"` + RunJobTask *GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTask `pulumi:"runJobTask"` + SparkJarTask *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTask `pulumi:"sparkJarTask"` + SparkPythonTask *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTask `pulumi:"sparkPythonTask"` + SparkSubmitTask *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTask `pulumi:"sparkSubmitTask"` + SqlTask *GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTask `pulumi:"sqlTask"` + TaskKey *string `pulumi:"taskKey"` + TimeoutSeconds *int `pulumi:"timeoutSeconds"` + WebhookNotifications *GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotifications `pulumi:"webhookNotifications"` +} + +// GetJobJobSettingsSettingsTaskForEachTaskTaskInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskTaskArgs and GetJobJobSettingsSettingsTaskForEachTaskTaskOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskTaskInput` via: +// +// GetJobJobSettingsSettingsTaskForEachTaskTaskArgs{...} +type GetJobJobSettingsSettingsTaskForEachTaskTaskInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskOutput + ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskOutput +} + +type GetJobJobSettingsSettingsTaskForEachTaskTaskArgs struct { + ConditionTask GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput `pulumi:"conditionTask"` + DbtTask GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrInput `pulumi:"dbtTask"` + DependsOns GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArrayInput `pulumi:"dependsOns"` + Description pulumi.StringPtrInput `pulumi:"description"` + EmailNotifications GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotificationsPtrInput `pulumi:"emailNotifications"` + EnvironmentKey pulumi.StringPtrInput `pulumi:"environmentKey"` + ExistingClusterId pulumi.StringPtrInput `pulumi:"existingClusterId"` + Health GetJobJobSettingsSettingsTaskForEachTaskTaskHealthPtrInput `pulumi:"health"` + JobClusterKey pulumi.StringPtrInput `pulumi:"jobClusterKey"` + Libraries GetJobJobSettingsSettingsTaskForEachTaskTaskLibraryArrayInput `pulumi:"libraries"` + MaxRetries pulumi.IntPtrInput `pulumi:"maxRetries"` + MinRetryIntervalMillis pulumi.IntPtrInput `pulumi:"minRetryIntervalMillis"` + NewCluster GetJobJobSettingsSettingsTaskForEachTaskTaskNewClusterPtrInput `pulumi:"newCluster"` + NotebookTask GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTaskPtrInput `pulumi:"notebookTask"` + NotificationSettings GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettingsPtrInput `pulumi:"notificationSettings"` + PipelineTask GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTaskPtrInput `pulumi:"pipelineTask"` + PythonWheelTask GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTaskPtrInput `pulumi:"pythonWheelTask"` + RetryOnTimeout pulumi.BoolInput `pulumi:"retryOnTimeout"` + RunIf pulumi.StringPtrInput `pulumi:"runIf"` + RunJobTask GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTaskPtrInput `pulumi:"runJobTask"` + SparkJarTask GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTaskPtrInput `pulumi:"sparkJarTask"` + SparkPythonTask GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTaskPtrInput `pulumi:"sparkPythonTask"` + SparkSubmitTask GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTaskPtrInput `pulumi:"sparkSubmitTask"` + SqlTask GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTaskPtrInput `pulumi:"sqlTask"` + TaskKey pulumi.StringPtrInput `pulumi:"taskKey"` + TimeoutSeconds pulumi.IntPtrInput `pulumi:"timeoutSeconds"` + WebhookNotifications GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotificationsPtrInput `pulumi:"webhookNotifications"` +} + +func (GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTask)(nil)).Elem() +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { + return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { + return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskOutput).ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(ctx) +} + +// GetJobJobSettingsSettingsTaskForEachTaskTaskPtrInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskTaskArgs, GetJobJobSettingsSettingsTaskForEachTaskTaskPtr and GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskTaskPtrInput` via: +// +// GetJobJobSettingsSettingsTaskForEachTaskTaskArgs{...} +// +// or: +// +// nil +type GetJobJobSettingsSettingsTaskForEachTaskTaskPtrInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput + ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput +} + +type getJobJobSettingsSettingsTaskForEachTaskTaskPtrType GetJobJobSettingsSettingsTaskForEachTaskTaskArgs + +func GetJobJobSettingsSettingsTaskForEachTaskTaskPtr(v *GetJobJobSettingsSettingsTaskForEachTaskTaskArgs) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrInput { + return (*getJobJobSettingsSettingsTaskForEachTaskTaskPtrType)(v) +} + +func (*getJobJobSettingsSettingsTaskForEachTaskTaskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTaskTask)(nil)).Elem() +} + +func (i *getJobJobSettingsSettingsTaskForEachTaskTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { + return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(context.Background()) +} + +func (i *getJobJobSettingsSettingsTaskForEachTaskTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) +} + +type GetJobJobSettingsSettingsTaskForEachTaskTaskOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTask)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { + return o.ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(context.Background()) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTask { + return &v + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ConditionTask() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask { + return v.ConditionTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) DbtTask() GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTask { + return v.DbtTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) DependsOns() GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArrayOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) []GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOn { + return v.DependsOns + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) EmailNotifications() GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotificationsPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotifications { + return v.EmailNotifications + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotificationsPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) EnvironmentKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.EnvironmentKey }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) ExistingClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.ExistingClusterId }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) Health() GetJobJobSettingsSettingsTaskForEachTaskTaskHealthPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskHealth { + return v.Health + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskHealthPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) JobClusterKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.JobClusterKey }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) Libraries() GetJobJobSettingsSettingsTaskForEachTaskTaskLibraryArrayOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) []GetJobJobSettingsSettingsTaskForEachTaskTaskLibrary { + return v.Libraries + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskLibraryArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) MaxRetries() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *int { return v.MaxRetries }).(pulumi.IntPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) MinRetryIntervalMillis() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *int { return v.MinRetryIntervalMillis }).(pulumi.IntPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) NewCluster() GetJobJobSettingsSettingsTaskForEachTaskTaskNewClusterPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNewCluster { + return v.NewCluster + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNewClusterPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) NotebookTask() GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTaskPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTask { + return v.NotebookTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) NotificationSettings() GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettingsPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettings { + return v.NotificationSettings + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettingsPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) PipelineTask() GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTaskPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTask { + return v.PipelineTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) PythonWheelTask() GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTaskPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTask { + return v.PythonWheelTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) RetryOnTimeout() pulumi.BoolOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) bool { return v.RetryOnTimeout }).(pulumi.BoolOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) RunIf() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.RunIf }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) RunJobTask() GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTaskPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTask { + return v.RunJobTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) SparkJarTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTaskPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTask { + return v.SparkJarTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) SparkPythonTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTaskPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTask { + return v.SparkPythonTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) SparkSubmitTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTaskPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTask { + return v.SparkSubmitTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) SqlTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTaskPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTask { + return v.SqlTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) TaskKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *string { return v.TaskKey }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) TimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *int { return v.TimeoutSeconds }).(pulumi.IntPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) WebhookNotifications() GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotificationsPtrOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotifications { + return v.WebhookNotifications + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotificationsPtrOutput) +} + +type GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTaskTask)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) Elem() GetJobJobSettingsSettingsTaskForEachTaskTaskOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) GetJobJobSettingsSettingsTaskForEachTaskTask { + if v != nil { + return *v + } + var ret GetJobJobSettingsSettingsTaskForEachTaskTask + return ret + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) ConditionTask() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask { + if v == nil { + return nil + } + return v.ConditionTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) DbtTask() GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTask { + if v == nil { + return nil + } + return v.DbtTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) DependsOns() GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArrayOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) []GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOn { + if v == nil { + return nil + } + return v.DependsOns + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) EmailNotifications() GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotificationsPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotifications { + if v == nil { + return nil + } + return v.EmailNotifications + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskEmailNotificationsPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) EnvironmentKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { + if v == nil { + return nil + } + return v.EnvironmentKey + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) ExistingClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { + if v == nil { + return nil + } + return v.ExistingClusterId + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) Health() GetJobJobSettingsSettingsTaskForEachTaskTaskHealthPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskHealth { + if v == nil { + return nil + } + return v.Health + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskHealthPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) JobClusterKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { + if v == nil { + return nil + } + return v.JobClusterKey + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) Libraries() GetJobJobSettingsSettingsTaskForEachTaskTaskLibraryArrayOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) []GetJobJobSettingsSettingsTaskForEachTaskTaskLibrary { + if v == nil { + return nil + } + return v.Libraries + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskLibraryArrayOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) MaxRetries() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *int { + if v == nil { + return nil + } + return v.MaxRetries + }).(pulumi.IntPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) MinRetryIntervalMillis() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *int { + if v == nil { + return nil + } + return v.MinRetryIntervalMillis + }).(pulumi.IntPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) NewCluster() GetJobJobSettingsSettingsTaskForEachTaskTaskNewClusterPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNewCluster { + if v == nil { + return nil + } + return v.NewCluster + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNewClusterPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) NotebookTask() GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTask { + if v == nil { + return nil + } + return v.NotebookTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNotebookTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) NotificationSettings() GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettingsPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettings { + if v == nil { + return nil + } + return v.NotificationSettings + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskNotificationSettingsPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) PipelineTask() GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTask { + if v == nil { + return nil + } + return v.PipelineTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPipelineTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) PythonWheelTask() GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTask { + if v == nil { + return nil + } + return v.PythonWheelTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskPythonWheelTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) RetryOnTimeout() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *bool { + if v == nil { + return nil + } + return &v.RetryOnTimeout + }).(pulumi.BoolPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) RunIf() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { + if v == nil { + return nil + } + return v.RunIf + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) RunJobTask() GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTask { + if v == nil { + return nil + } + return v.RunJobTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskRunJobTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) SparkJarTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTask { + if v == nil { + return nil + } + return v.SparkJarTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkJarTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) SparkPythonTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTask { + if v == nil { + return nil + } + return v.SparkPythonTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkPythonTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) SparkSubmitTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTask { + if v == nil { + return nil + } + return v.SparkSubmitTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSparkSubmitTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) SqlTask() GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTaskPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTask { + if v == nil { + return nil + } + return v.SqlTask + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskSqlTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) TaskKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *string { + if v == nil { + return nil + } + return v.TaskKey + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) TimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *int { + if v == nil { + return nil + } + return v.TimeoutSeconds + }).(pulumi.IntPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput) WebhookNotifications() GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotificationsPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotifications { + if v == nil { + return nil + } + return v.WebhookNotifications + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskWebhookNotificationsPtrOutput) +} + +type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask struct { + Left string `pulumi:"left"` + Op string `pulumi:"op"` + Right string `pulumi:"right"` +} + +// GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs and GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskInput` via: +// +// GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs{...} +type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput + ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput +} + +type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs struct { + Left pulumi.StringInput `pulumi:"left"` + Op pulumi.StringInput `pulumi:"op"` + Right pulumi.StringInput `pulumi:"right"` +} + +func (GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask)(nil)).Elem() +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput { + return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { + return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(context.Background()) +} + +func (i GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput).ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(ctx) +} + +// GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput is an input type that accepts GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs, GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtr and GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput values. +// You can construct a concrete instance of `GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput` via: +// +// GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs{...} +// +// or: +// +// nil +type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput interface { + pulumi.Input + + ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput + ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput +} + +type getJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrType GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs + +func GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtr(v *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput { + return (*getJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrType)(v) +} + +func (*getJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask)(nil)).Elem() +} + +func (i *getJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { + return i.ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(context.Background()) +} + +func (i *getJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrType) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) +} + +type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { + return o.ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(context.Background()) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask { + return &v + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) Left() pulumi.StringOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) string { return v.Left }).(pulumi.StringOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) Op() pulumi.StringOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) string { return v.Op }).(pulumi.StringOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) Right() pulumi.StringOutput { + return o.ApplyT(func(v GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) string { return v.Right }).(pulumi.StringOutput) +} + +type GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput struct{ *pulumi.OutputState } + +func (GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask)(nil)).Elem() +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) ToGetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutputWithContext(ctx context.Context) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput { + return o +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) Elem() GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask { + if v != nil { + return *v + } + var ret GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask + return ret + }).(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) Left() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) *string { + if v == nil { + return nil + } + return &v.Left + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) Op() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) *string { + if v == nil { + return nil + } + return &v.Op + }).(pulumi.StringPtrOutput) +} + +func (o GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput) Right() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTask) *string { + if v == nil { + return nil + } + return &v.Right + }).(pulumi.StringPtrOutput) +} + type GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTask struct { Catalog *string `pulumi:"catalog"` Commands []string `pulumi:"commands"` @@ -20104,6 +21507,18 @@ func (o GetStorageCredentialStorageCredentialInfoDatabricksGcpServiceAccountPtrO } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskDbtTaskInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskDbtTaskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskDbtTaskPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskDbtTaskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskDependsOnInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskDependsOnArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskDependsOnArrayInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskDependsOnArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskEmailNotificationsInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskEmailNotificationsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskEmailNotificationsPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskEmailNotificationsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnInput)(nil)).Elem(), GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnArgs{}) @@ -20356,6 +21771,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetStorageCredentialStorageCredentialInfoCloudflareApiTokenPtrInput)(nil)).Elem(), GetStorageCredentialStorageCredentialInfoCloudflareApiTokenArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStorageCredentialStorageCredentialInfoDatabricksGcpServiceAccountInput)(nil)).Elem(), GetStorageCredentialStorageCredentialInfoDatabricksGcpServiceAccountArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetStorageCredentialStorageCredentialInfoDatabricksGcpServiceAccountPtrInput)(nil)).Elem(), GetStorageCredentialStorageCredentialInfoDatabricksGcpServiceAccountArgs{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskDbtTaskOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskDbtTaskPtrOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskDependsOnOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskDependsOnArrayOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskEmailNotificationsOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskEmailNotificationsPtrOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskPtrOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskPtrOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskOutput{}) + pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskConditionTaskPtrOutput{}) pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskOutput{}) pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskDbtTaskPtrOutput{}) pulumi.RegisterOutputType(GetJobJobSettingsSettingsTaskForEachTaskTaskDependsOnOutput{}) diff --git a/sdk/java/src/main/java/com/pulumi/databricks/MwsNccBinding.java b/sdk/java/src/main/java/com/pulumi/databricks/MwsNccBinding.java new file mode 100644 index 00000000..e7dc6cb4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/MwsNccBinding.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.databricks.MwsNccBindingArgs; +import com.pulumi.databricks.Utilities; +import com.pulumi.databricks.inputs.MwsNccBindingState; +import java.lang.Integer; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + * + * > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. + * + * Allows you to attach a Network Connectivity Config object to a databricks.MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/sql/admin/serverless-firewall). + * + * The NCC and workspace must be in the same region. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.databricks.MwsNetworkConnectivityConfig; + * import com.pulumi.databricks.MwsNetworkConnectivityConfigArgs; + * import com.pulumi.databricks.MwsNccBinding; + * import com.pulumi.databricks.MwsNccBindingArgs; + * 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) { + * final var config = ctx.config(); + * final var region = config.get("region"); + * final var prefix = config.get("prefix"); + * var ncc = new MwsNetworkConnectivityConfig("ncc", MwsNetworkConnectivityConfigArgs.builder() + * .name(String.format("Network Connectivity Config for %s", prefix)) + * .region(region) + * .build()); + * + * var nccBinding = new MwsNccBinding("nccBinding", MwsNccBindingArgs.builder() + * .networkConnectivityConfigId(ncc.networkConnectivityConfigId()) + * .workspaceId(databricksWorkspaceId) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ## Related Resources + * + * The following resources are used in the context: + * + * * databricks.MwsWorkspaces to set up Databricks workspaces. + * * databricks.MwsNetworkConnectivityConfig to create Network Connectivity Config objects. + * + */ +@ResourceType(type="databricks:index/mwsNccBinding:MwsNccBinding") +public class MwsNccBinding extends com.pulumi.resources.CustomResource { + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. + * + */ + @Export(name="networkConnectivityConfigId", refs={String.class}, tree="[0]") + private Output networkConnectivityConfigId; + + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account. + * + */ + public Output networkConnectivityConfigId() { + return this.networkConnectivityConfigId; + } + /** + * Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + * + */ + @Export(name="workspaceId", refs={Integer.class}, tree="[0]") + private Output workspaceId; + + /** + * @return Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + * + */ + public Output workspaceId() { + return this.workspaceId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public MwsNccBinding(String name) { + this(name, MwsNccBindingArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public MwsNccBinding(String name, MwsNccBindingArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public MwsNccBinding(String name, MwsNccBindingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("databricks:index/mwsNccBinding:MwsNccBinding", name, args == null ? MwsNccBindingArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private MwsNccBinding(String name, Output id, @Nullable MwsNccBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("databricks:index/mwsNccBinding:MwsNccBinding", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static MwsNccBinding get(String name, Output id, @Nullable MwsNccBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new MwsNccBinding(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/MwsNccBindingArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/MwsNccBindingArgs.java new file mode 100644 index 00000000..08654f7a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/MwsNccBindingArgs.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + + +public final class MwsNccBindingArgs extends com.pulumi.resources.ResourceArgs { + + public static final MwsNccBindingArgs Empty = new MwsNccBindingArgs(); + + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. + * + */ + @Import(name="networkConnectivityConfigId", required=true) + private Output networkConnectivityConfigId; + + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account. + * + */ + public Output networkConnectivityConfigId() { + return this.networkConnectivityConfigId; + } + + /** + * Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + * + */ + @Import(name="workspaceId", required=true) + private Output workspaceId; + + /** + * @return Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + * + */ + public Output workspaceId() { + return this.workspaceId; + } + + private MwsNccBindingArgs() {} + + private MwsNccBindingArgs(MwsNccBindingArgs $) { + this.networkConnectivityConfigId = $.networkConnectivityConfigId; + this.workspaceId = $.workspaceId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNccBindingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNccBindingArgs $; + + public Builder() { + $ = new MwsNccBindingArgs(); + } + + public Builder(MwsNccBindingArgs defaults) { + $ = new MwsNccBindingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account. + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(Output networkConnectivityConfigId) { + $.networkConnectivityConfigId = networkConnectivityConfigId; + return this; + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account. + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(String networkConnectivityConfigId) { + return networkConnectivityConfigId(Output.of(networkConnectivityConfigId)); + } + + /** + * @param workspaceId Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder workspaceId(Output workspaceId) { + $.workspaceId = workspaceId; + return this; + } + + /** + * @param workspaceId Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder workspaceId(Integer workspaceId) { + return workspaceId(Output.of(workspaceId)); + } + + public MwsNccBindingArgs build() { + if ($.networkConnectivityConfigId == null) { + throw new MissingRequiredPropertyException("MwsNccBindingArgs", "networkConnectivityConfigId"); + } + if ($.workspaceId == null) { + throw new MissingRequiredPropertyException("MwsNccBindingArgs", "workspaceId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/MwsNccPrivateEndpointRule.java b/sdk/java/src/main/java/com/pulumi/databricks/MwsNccPrivateEndpointRule.java new file mode 100644 index 00000000..94a98883 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/MwsNccPrivateEndpointRule.java @@ -0,0 +1,280 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.databricks.MwsNccPrivateEndpointRuleArgs; +import com.pulumi.databricks.Utilities; +import com.pulumi.databricks.inputs.MwsNccPrivateEndpointRuleState; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + * + * > **Note** This feature is only available in Azure. + * + * Allows you to create a private endpoint in a Network Connectivity Config that can be used to [configure private connectivity from serverless compute](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-private-link). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.databricks.MwsNetworkConnectivityConfig; + * import com.pulumi.databricks.MwsNetworkConnectivityConfigArgs; + * import com.pulumi.databricks.MwsNccPrivateEndpointRule; + * import com.pulumi.databricks.MwsNccPrivateEndpointRuleArgs; + * 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) { + * final var config = ctx.config(); + * final var region = config.get("region"); + * final var prefix = config.get("prefix"); + * var ncc = new MwsNetworkConnectivityConfig("ncc", MwsNetworkConnectivityConfigArgs.builder() + * .name(String.format("Network Connectivity Config for %s", prefix)) + * .region(region) + * .build()); + * + * var storage = new MwsNccPrivateEndpointRule("storage", MwsNccPrivateEndpointRuleArgs.builder() + * .networkConnectivityConfigId(ncc.networkConnectivityConfigId()) + * .resourceId("/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa") + * .groupId("blob") + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ## Related Resources + * + * The following resources are used in the context: + * + * * databricks.MwsNetworkConnectivityConfig to create Network Connectivity Config objects. + * * databricks.MwsNccBinding to attach an NCC to a workspace. + * + * ## Import + * + * This resource can be imported by Databricks account ID and Network Connectivity Config ID. + * + * ```sh + * $ pulumi import databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule rule <network_connectivity_config_id>/<rule_id> + * ``` + * + */ +@ResourceType(type="databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule") +public class MwsNccPrivateEndpointRule extends com.pulumi.resources.CustomResource { + /** + * The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + * + */ + @Export(name="connectionState", refs={String.class}, tree="[0]") + private Output connectionState; + + /** + * @return The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + * + */ + public Output connectionState() { + return this.connectionState; + } + /** + * Time in epoch milliseconds when this object was created. + * + */ + @Export(name="creationTime", refs={Integer.class}, tree="[0]") + private Output creationTime; + + /** + * @return Time in epoch milliseconds when this object was created. + * + */ + public Output creationTime() { + return this.creationTime; + } + /** + * Whether this private endpoint is deactivated. + * + */ + @Export(name="deactivated", refs={Boolean.class}, tree="[0]") + private Output deactivated; + + /** + * @return Whether this private endpoint is deactivated. + * + */ + public Output> deactivated() { + return Codegen.optional(this.deactivated); + } + /** + * Time in epoch milliseconds when this object was deactivated. + * + */ + @Export(name="deactivatedAt", refs={Integer.class}, tree="[0]") + private Output deactivatedAt; + + /** + * @return Time in epoch milliseconds when this object was deactivated. + * + */ + public Output> deactivatedAt() { + return Codegen.optional(this.deactivatedAt); + } + /** + * The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + * + */ + @Export(name="endpointName", refs={String.class}, tree="[0]") + private Output endpointName; + + /** + * @return The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + * + */ + public Output endpointName() { + return this.endpointName; + } + /** + * The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + * + */ + @Export(name="groupId", refs={String.class}, tree="[0]") + private Output groupId; + + /** + * @return The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + * + */ + public Output groupId() { + return this.groupId; + } + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + @Export(name="networkConnectivityConfigId", refs={String.class}, tree="[0]") + private Output networkConnectivityConfigId; + + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + public Output networkConnectivityConfigId() { + return this.networkConnectivityConfigId; + } + /** + * The Azure resource ID of the target resource. Change forces creation of a new resource. + * + */ + @Export(name="resourceId", refs={String.class}, tree="[0]") + private Output resourceId; + + /** + * @return The Azure resource ID of the target resource. Change forces creation of a new resource. + * + */ + public Output resourceId() { + return this.resourceId; + } + /** + * the ID of a private endpoint rule. + * + */ + @Export(name="ruleId", refs={String.class}, tree="[0]") + private Output ruleId; + + /** + * @return the ID of a private endpoint rule. + * + */ + public Output ruleId() { + return this.ruleId; + } + /** + * Time in epoch milliseconds when this object was updated. + * + */ + @Export(name="updatedTime", refs={Integer.class}, tree="[0]") + private Output updatedTime; + + /** + * @return Time in epoch milliseconds when this object was updated. + * + */ + public Output updatedTime() { + return this.updatedTime; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public MwsNccPrivateEndpointRule(String name) { + this(name, MwsNccPrivateEndpointRuleArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public MwsNccPrivateEndpointRule(String name, MwsNccPrivateEndpointRuleArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public MwsNccPrivateEndpointRule(String name, MwsNccPrivateEndpointRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule", name, args == null ? MwsNccPrivateEndpointRuleArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private MwsNccPrivateEndpointRule(String name, Output id, @Nullable MwsNccPrivateEndpointRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static MwsNccPrivateEndpointRule get(String name, Output id, @Nullable MwsNccPrivateEndpointRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new MwsNccPrivateEndpointRule(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/MwsNccPrivateEndpointRuleArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/MwsNccPrivateEndpointRuleArgs.java new file mode 100644 index 00000000..554b04ac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/MwsNccPrivateEndpointRuleArgs.java @@ -0,0 +1,432 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNccPrivateEndpointRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final MwsNccPrivateEndpointRuleArgs Empty = new MwsNccPrivateEndpointRuleArgs(); + + /** + * The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + * + */ + @Import(name="connectionState") + private @Nullable Output connectionState; + + /** + * @return The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + * + */ + public Optional> connectionState() { + return Optional.ofNullable(this.connectionState); + } + + /** + * Time in epoch milliseconds when this object was created. + * + */ + @Import(name="creationTime") + private @Nullable Output creationTime; + + /** + * @return Time in epoch milliseconds when this object was created. + * + */ + public Optional> creationTime() { + return Optional.ofNullable(this.creationTime); + } + + /** + * Whether this private endpoint is deactivated. + * + */ + @Import(name="deactivated") + private @Nullable Output deactivated; + + /** + * @return Whether this private endpoint is deactivated. + * + */ + public Optional> deactivated() { + return Optional.ofNullable(this.deactivated); + } + + /** + * Time in epoch milliseconds when this object was deactivated. + * + */ + @Import(name="deactivatedAt") + private @Nullable Output deactivatedAt; + + /** + * @return Time in epoch milliseconds when this object was deactivated. + * + */ + public Optional> deactivatedAt() { + return Optional.ofNullable(this.deactivatedAt); + } + + /** + * The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + * + */ + @Import(name="endpointName") + private @Nullable Output endpointName; + + /** + * @return The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + * + */ + public Optional> endpointName() { + return Optional.ofNullable(this.endpointName); + } + + /** + * The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + * + */ + @Import(name="groupId", required=true) + private Output groupId; + + /** + * @return The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + * + */ + public Output groupId() { + return this.groupId; + } + + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + @Import(name="networkConnectivityConfigId", required=true) + private Output networkConnectivityConfigId; + + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + public Output networkConnectivityConfigId() { + return this.networkConnectivityConfigId; + } + + /** + * The Azure resource ID of the target resource. Change forces creation of a new resource. + * + */ + @Import(name="resourceId", required=true) + private Output resourceId; + + /** + * @return The Azure resource ID of the target resource. Change forces creation of a new resource. + * + */ + public Output resourceId() { + return this.resourceId; + } + + /** + * the ID of a private endpoint rule. + * + */ + @Import(name="ruleId") + private @Nullable Output ruleId; + + /** + * @return the ID of a private endpoint rule. + * + */ + public Optional> ruleId() { + return Optional.ofNullable(this.ruleId); + } + + /** + * Time in epoch milliseconds when this object was updated. + * + */ + @Import(name="updatedTime") + private @Nullable Output updatedTime; + + /** + * @return Time in epoch milliseconds when this object was updated. + * + */ + public Optional> updatedTime() { + return Optional.ofNullable(this.updatedTime); + } + + private MwsNccPrivateEndpointRuleArgs() {} + + private MwsNccPrivateEndpointRuleArgs(MwsNccPrivateEndpointRuleArgs $) { + this.connectionState = $.connectionState; + this.creationTime = $.creationTime; + this.deactivated = $.deactivated; + this.deactivatedAt = $.deactivatedAt; + this.endpointName = $.endpointName; + this.groupId = $.groupId; + this.networkConnectivityConfigId = $.networkConnectivityConfigId; + this.resourceId = $.resourceId; + this.ruleId = $.ruleId; + this.updatedTime = $.updatedTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNccPrivateEndpointRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNccPrivateEndpointRuleArgs $; + + public Builder() { + $ = new MwsNccPrivateEndpointRuleArgs(); + } + + public Builder(MwsNccPrivateEndpointRuleArgs defaults) { + $ = new MwsNccPrivateEndpointRuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param connectionState The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + * + * @return builder + * + */ + public Builder connectionState(@Nullable Output connectionState) { + $.connectionState = connectionState; + return this; + } + + /** + * @param connectionState The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + * + * @return builder + * + */ + public Builder connectionState(String connectionState) { + return connectionState(Output.of(connectionState)); + } + + /** + * @param creationTime Time in epoch milliseconds when this object was created. + * + * @return builder + * + */ + public Builder creationTime(@Nullable Output creationTime) { + $.creationTime = creationTime; + return this; + } + + /** + * @param creationTime Time in epoch milliseconds when this object was created. + * + * @return builder + * + */ + public Builder creationTime(Integer creationTime) { + return creationTime(Output.of(creationTime)); + } + + /** + * @param deactivated Whether this private endpoint is deactivated. + * + * @return builder + * + */ + public Builder deactivated(@Nullable Output deactivated) { + $.deactivated = deactivated; + return this; + } + + /** + * @param deactivated Whether this private endpoint is deactivated. + * + * @return builder + * + */ + public Builder deactivated(Boolean deactivated) { + return deactivated(Output.of(deactivated)); + } + + /** + * @param deactivatedAt Time in epoch milliseconds when this object was deactivated. + * + * @return builder + * + */ + public Builder deactivatedAt(@Nullable Output deactivatedAt) { + $.deactivatedAt = deactivatedAt; + return this; + } + + /** + * @param deactivatedAt Time in epoch milliseconds when this object was deactivated. + * + * @return builder + * + */ + public Builder deactivatedAt(Integer deactivatedAt) { + return deactivatedAt(Output.of(deactivatedAt)); + } + + /** + * @param endpointName The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + * + * @return builder + * + */ + public Builder endpointName(@Nullable Output endpointName) { + $.endpointName = endpointName; + return this; + } + + /** + * @param endpointName The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + * + * @return builder + * + */ + public Builder endpointName(String endpointName) { + return endpointName(Output.of(endpointName)); + } + + /** + * @param groupId The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder groupId(Output groupId) { + $.groupId = groupId; + return this; + } + + /** + * @param groupId The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder groupId(String groupId) { + return groupId(Output.of(groupId)); + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(Output networkConnectivityConfigId) { + $.networkConnectivityConfigId = networkConnectivityConfigId; + return this; + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(String networkConnectivityConfigId) { + return networkConnectivityConfigId(Output.of(networkConnectivityConfigId)); + } + + /** + * @param resourceId The Azure resource ID of the target resource. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder resourceId(Output resourceId) { + $.resourceId = resourceId; + return this; + } + + /** + * @param resourceId The Azure resource ID of the target resource. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder resourceId(String resourceId) { + return resourceId(Output.of(resourceId)); + } + + /** + * @param ruleId the ID of a private endpoint rule. + * + * @return builder + * + */ + public Builder ruleId(@Nullable Output ruleId) { + $.ruleId = ruleId; + return this; + } + + /** + * @param ruleId the ID of a private endpoint rule. + * + * @return builder + * + */ + public Builder ruleId(String ruleId) { + return ruleId(Output.of(ruleId)); + } + + /** + * @param updatedTime Time in epoch milliseconds when this object was updated. + * + * @return builder + * + */ + public Builder updatedTime(@Nullable Output updatedTime) { + $.updatedTime = updatedTime; + return this; + } + + /** + * @param updatedTime Time in epoch milliseconds when this object was updated. + * + * @return builder + * + */ + public Builder updatedTime(Integer updatedTime) { + return updatedTime(Output.of(updatedTime)); + } + + public MwsNccPrivateEndpointRuleArgs build() { + if ($.groupId == null) { + throw new MissingRequiredPropertyException("MwsNccPrivateEndpointRuleArgs", "groupId"); + } + if ($.networkConnectivityConfigId == null) { + throw new MissingRequiredPropertyException("MwsNccPrivateEndpointRuleArgs", "networkConnectivityConfigId"); + } + if ($.resourceId == null) { + throw new MissingRequiredPropertyException("MwsNccPrivateEndpointRuleArgs", "resourceId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/MwsNetworkConnectivityConfig.java b/sdk/java/src/main/java/com/pulumi/databricks/MwsNetworkConnectivityConfig.java new file mode 100644 index 00000000..e31ce361 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/MwsNetworkConnectivityConfig.java @@ -0,0 +1,203 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.databricks.MwsNetworkConnectivityConfigArgs; +import com.pulumi.databricks.Utilities; +import com.pulumi.databricks.inputs.MwsNetworkConnectivityConfigState; +import com.pulumi.databricks.outputs.MwsNetworkConnectivityConfigEgressConfig; +import java.lang.Integer; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + * + * > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. + * + * Allows you to create a [Network Connectivity Config] that can be used as part of a databricks.MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-firewall). + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.databricks.MwsNetworkConnectivityConfig; + * import com.pulumi.databricks.MwsNetworkConnectivityConfigArgs; + * import com.pulumi.databricks.MwsNccBinding; + * import com.pulumi.databricks.MwsNccBindingArgs; + * 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) { + * final var config = ctx.config(); + * final var region = config.get("region"); + * final var prefix = config.get("prefix"); + * var ncc = new MwsNetworkConnectivityConfig("ncc", MwsNetworkConnectivityConfigArgs.builder() + * .name(String.format("Network Connectivity Config for %s", prefix)) + * .region(region) + * .build()); + * + * var nccBinding = new MwsNccBinding("nccBinding", MwsNccBindingArgs.builder() + * .networkConnectivityConfigId(ncc.networkConnectivityConfigId()) + * .workspaceId(databricksWorkspaceId) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ## Related Resources + * + * The following resources are used in the context: + * + * * databricks.MwsWorkspaces to set up Databricks workspaces. + * * databricks.MwsNccBinding to attach an NCC to a workspace. + * * databricks.MwsNccPrivateEndpointRule to create a private endpoint rule. + * + * ## Import + * + * This resource can be imported by Databricks account ID and Network Connectivity Config ID. + * + * ```sh + * $ pulumi import databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig ncc <account_id>/<network_connectivity_config_id> + * ``` + * + */ +@ResourceType(type="databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig") +public class MwsNetworkConnectivityConfig extends com.pulumi.resources.CustomResource { + @Export(name="accountId", refs={String.class}, tree="[0]") + private Output accountId; + + public Output accountId() { + return this.accountId; + } + @Export(name="creationTime", refs={Integer.class}, tree="[0]") + private Output creationTime; + + public Output creationTime() { + return this.creationTime; + } + @Export(name="egressConfig", refs={MwsNetworkConnectivityConfigEgressConfig.class}, tree="[0]") + private Output egressConfig; + + public Output egressConfig() { + return this.egressConfig; + } + /** + * Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + public Output name() { + return this.name; + } + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account + * + */ + @Export(name="networkConnectivityConfigId", refs={String.class}, tree="[0]") + private Output networkConnectivityConfigId; + + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account + * + */ + public Output networkConnectivityConfigId() { + return this.networkConnectivityConfigId; + } + /** + * Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + * + */ + @Export(name="region", refs={String.class}, tree="[0]") + private Output region; + + /** + * @return Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + * + */ + public Output region() { + return this.region; + } + @Export(name="updatedTime", refs={Integer.class}, tree="[0]") + private Output updatedTime; + + public Output updatedTime() { + return this.updatedTime; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public MwsNetworkConnectivityConfig(String name) { + this(name, MwsNetworkConnectivityConfigArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public MwsNetworkConnectivityConfig(String name, MwsNetworkConnectivityConfigArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public MwsNetworkConnectivityConfig(String name, MwsNetworkConnectivityConfigArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig", name, args == null ? MwsNetworkConnectivityConfigArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private MwsNetworkConnectivityConfig(String name, Output id, @Nullable MwsNetworkConnectivityConfigState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static MwsNetworkConnectivityConfig get(String name, Output id, @Nullable MwsNetworkConnectivityConfigState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new MwsNetworkConnectivityConfig(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/MwsNetworkConnectivityConfigArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/MwsNetworkConnectivityConfigArgs.java new file mode 100644 index 00000000..5a48d917 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/MwsNetworkConnectivityConfigArgs.java @@ -0,0 +1,231 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.databricks.inputs.MwsNetworkConnectivityConfigEgressConfigArgs; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNetworkConnectivityConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final MwsNetworkConnectivityConfigArgs Empty = new MwsNetworkConnectivityConfigArgs(); + + @Import(name="accountId") + private @Nullable Output accountId; + + public Optional> accountId() { + return Optional.ofNullable(this.accountId); + } + + @Import(name="creationTime") + private @Nullable Output creationTime; + + public Optional> creationTime() { + return Optional.ofNullable(this.creationTime); + } + + @Import(name="egressConfig") + private @Nullable Output egressConfig; + + public Optional> egressConfig() { + return Optional.ofNullable(this.egressConfig); + } + + /** + * Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account + * + */ + @Import(name="networkConnectivityConfigId") + private @Nullable Output networkConnectivityConfigId; + + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account + * + */ + public Optional> networkConnectivityConfigId() { + return Optional.ofNullable(this.networkConnectivityConfigId); + } + + /** + * Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + * + */ + @Import(name="region", required=true) + private Output region; + + /** + * @return Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + * + */ + public Output region() { + return this.region; + } + + @Import(name="updatedTime") + private @Nullable Output updatedTime; + + public Optional> updatedTime() { + return Optional.ofNullable(this.updatedTime); + } + + private MwsNetworkConnectivityConfigArgs() {} + + private MwsNetworkConnectivityConfigArgs(MwsNetworkConnectivityConfigArgs $) { + this.accountId = $.accountId; + this.creationTime = $.creationTime; + this.egressConfig = $.egressConfig; + this.name = $.name; + this.networkConnectivityConfigId = $.networkConnectivityConfigId; + this.region = $.region; + this.updatedTime = $.updatedTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNetworkConnectivityConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNetworkConnectivityConfigArgs $; + + public Builder() { + $ = new MwsNetworkConnectivityConfigArgs(); + } + + public Builder(MwsNetworkConnectivityConfigArgs defaults) { + $ = new MwsNetworkConnectivityConfigArgs(Objects.requireNonNull(defaults)); + } + + public Builder accountId(@Nullable Output accountId) { + $.accountId = accountId; + return this; + } + + public Builder accountId(String accountId) { + return accountId(Output.of(accountId)); + } + + public Builder creationTime(@Nullable Output creationTime) { + $.creationTime = creationTime; + return this; + } + + public Builder creationTime(Integer creationTime) { + return creationTime(Output.of(creationTime)); + } + + public Builder egressConfig(@Nullable Output egressConfig) { + $.egressConfig = egressConfig; + return this; + } + + public Builder egressConfig(MwsNetworkConnectivityConfigEgressConfigArgs egressConfig) { + return egressConfig(Output.of(egressConfig)); + } + + /** + * @param name Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(@Nullable Output networkConnectivityConfigId) { + $.networkConnectivityConfigId = networkConnectivityConfigId; + return this; + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(String networkConnectivityConfigId) { + return networkConnectivityConfigId(Output.of(networkConnectivityConfigId)); + } + + /** + * @param region Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder region(Output region) { + $.region = region; + return this; + } + + /** + * @param region Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder region(String region) { + return region(Output.of(region)); + } + + public Builder updatedTime(@Nullable Output updatedTime) { + $.updatedTime = updatedTime; + return this; + } + + public Builder updatedTime(Integer updatedTime) { + return updatedTime(Output.of(updatedTime)); + } + + public MwsNetworkConnectivityConfigArgs build() { + if ($.region == null) { + throw new MissingRequiredPropertyException("MwsNetworkConnectivityConfigArgs", "region"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetCurrentMetastoreArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetCurrentMetastoreArgs.java index 53a37867..926fbd8e 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetCurrentMetastoreArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetCurrentMetastoreArgs.java @@ -17,14 +17,14 @@ public final class GetCurrentMetastoreArgs extends com.pulumi.resources.InvokeAr public static final GetCurrentMetastoreArgs Empty = new GetCurrentMetastoreArgs(); /** - * metastore ID. + * metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace * */ @Import(name="id") private @Nullable Output id; /** - * @return metastore ID. + * @return metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace * */ public Optional> id() { @@ -72,7 +72,7 @@ public Builder(GetCurrentMetastoreArgs defaults) { } /** - * @param id metastore ID. + * @param id metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace * * @return builder * @@ -83,7 +83,7 @@ public Builder id(@Nullable Output id) { } /** - * @param id metastore ID. + * @param id metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetCurrentMetastorePlainArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetCurrentMetastorePlainArgs.java index 0a9a45e0..c950f4a3 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetCurrentMetastorePlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetCurrentMetastorePlainArgs.java @@ -16,14 +16,14 @@ public final class GetCurrentMetastorePlainArgs extends com.pulumi.resources.Inv public static final GetCurrentMetastorePlainArgs Empty = new GetCurrentMetastorePlainArgs(); /** - * metastore ID. + * metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace * */ @Import(name="id") private @Nullable String id; /** - * @return metastore ID. + * @return metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace * */ public Optional id() { @@ -71,7 +71,7 @@ public Builder(GetCurrentMetastorePlainArgs defaults) { } /** - * @param id metastore ID. + * @param id metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNccBindingState.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNccBindingState.java new file mode 100644 index 00000000..2c1e3dd7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNccBindingState.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNccBindingState extends com.pulumi.resources.ResourceArgs { + + public static final MwsNccBindingState Empty = new MwsNccBindingState(); + + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. + * + */ + @Import(name="networkConnectivityConfigId") + private @Nullable Output networkConnectivityConfigId; + + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account. + * + */ + public Optional> networkConnectivityConfigId() { + return Optional.ofNullable(this.networkConnectivityConfigId); + } + + /** + * Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + * + */ + @Import(name="workspaceId") + private @Nullable Output workspaceId; + + /** + * @return Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + * + */ + public Optional> workspaceId() { + return Optional.ofNullable(this.workspaceId); + } + + private MwsNccBindingState() {} + + private MwsNccBindingState(MwsNccBindingState $) { + this.networkConnectivityConfigId = $.networkConnectivityConfigId; + this.workspaceId = $.workspaceId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNccBindingState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNccBindingState $; + + public Builder() { + $ = new MwsNccBindingState(); + } + + public Builder(MwsNccBindingState defaults) { + $ = new MwsNccBindingState(Objects.requireNonNull(defaults)); + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account. + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(@Nullable Output networkConnectivityConfigId) { + $.networkConnectivityConfigId = networkConnectivityConfigId; + return this; + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account. + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(String networkConnectivityConfigId) { + return networkConnectivityConfigId(Output.of(networkConnectivityConfigId)); + } + + /** + * @param workspaceId Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder workspaceId(@Nullable Output workspaceId) { + $.workspaceId = workspaceId; + return this; + } + + /** + * @param workspaceId Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder workspaceId(Integer workspaceId) { + return workspaceId(Output.of(workspaceId)); + } + + public MwsNccBindingState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNccPrivateEndpointRuleState.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNccPrivateEndpointRuleState.java new file mode 100644 index 00000000..a53d5d87 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNccPrivateEndpointRuleState.java @@ -0,0 +1,422 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNccPrivateEndpointRuleState extends com.pulumi.resources.ResourceArgs { + + public static final MwsNccPrivateEndpointRuleState Empty = new MwsNccPrivateEndpointRuleState(); + + /** + * The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + * + */ + @Import(name="connectionState") + private @Nullable Output connectionState; + + /** + * @return The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + * + */ + public Optional> connectionState() { + return Optional.ofNullable(this.connectionState); + } + + /** + * Time in epoch milliseconds when this object was created. + * + */ + @Import(name="creationTime") + private @Nullable Output creationTime; + + /** + * @return Time in epoch milliseconds when this object was created. + * + */ + public Optional> creationTime() { + return Optional.ofNullable(this.creationTime); + } + + /** + * Whether this private endpoint is deactivated. + * + */ + @Import(name="deactivated") + private @Nullable Output deactivated; + + /** + * @return Whether this private endpoint is deactivated. + * + */ + public Optional> deactivated() { + return Optional.ofNullable(this.deactivated); + } + + /** + * Time in epoch milliseconds when this object was deactivated. + * + */ + @Import(name="deactivatedAt") + private @Nullable Output deactivatedAt; + + /** + * @return Time in epoch milliseconds when this object was deactivated. + * + */ + public Optional> deactivatedAt() { + return Optional.ofNullable(this.deactivatedAt); + } + + /** + * The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + * + */ + @Import(name="endpointName") + private @Nullable Output endpointName; + + /** + * @return The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + * + */ + public Optional> endpointName() { + return Optional.ofNullable(this.endpointName); + } + + /** + * The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + * + */ + @Import(name="groupId") + private @Nullable Output groupId; + + /** + * @return The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + * + */ + public Optional> groupId() { + return Optional.ofNullable(this.groupId); + } + + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + @Import(name="networkConnectivityConfigId") + private @Nullable Output networkConnectivityConfigId; + + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + public Optional> networkConnectivityConfigId() { + return Optional.ofNullable(this.networkConnectivityConfigId); + } + + /** + * The Azure resource ID of the target resource. Change forces creation of a new resource. + * + */ + @Import(name="resourceId") + private @Nullable Output resourceId; + + /** + * @return The Azure resource ID of the target resource. Change forces creation of a new resource. + * + */ + public Optional> resourceId() { + return Optional.ofNullable(this.resourceId); + } + + /** + * the ID of a private endpoint rule. + * + */ + @Import(name="ruleId") + private @Nullable Output ruleId; + + /** + * @return the ID of a private endpoint rule. + * + */ + public Optional> ruleId() { + return Optional.ofNullable(this.ruleId); + } + + /** + * Time in epoch milliseconds when this object was updated. + * + */ + @Import(name="updatedTime") + private @Nullable Output updatedTime; + + /** + * @return Time in epoch milliseconds when this object was updated. + * + */ + public Optional> updatedTime() { + return Optional.ofNullable(this.updatedTime); + } + + private MwsNccPrivateEndpointRuleState() {} + + private MwsNccPrivateEndpointRuleState(MwsNccPrivateEndpointRuleState $) { + this.connectionState = $.connectionState; + this.creationTime = $.creationTime; + this.deactivated = $.deactivated; + this.deactivatedAt = $.deactivatedAt; + this.endpointName = $.endpointName; + this.groupId = $.groupId; + this.networkConnectivityConfigId = $.networkConnectivityConfigId; + this.resourceId = $.resourceId; + this.ruleId = $.ruleId; + this.updatedTime = $.updatedTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNccPrivateEndpointRuleState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNccPrivateEndpointRuleState $; + + public Builder() { + $ = new MwsNccPrivateEndpointRuleState(); + } + + public Builder(MwsNccPrivateEndpointRuleState defaults) { + $ = new MwsNccPrivateEndpointRuleState(Objects.requireNonNull(defaults)); + } + + /** + * @param connectionState The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + * + * @return builder + * + */ + public Builder connectionState(@Nullable Output connectionState) { + $.connectionState = connectionState; + return this; + } + + /** + * @param connectionState The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + * + * @return builder + * + */ + public Builder connectionState(String connectionState) { + return connectionState(Output.of(connectionState)); + } + + /** + * @param creationTime Time in epoch milliseconds when this object was created. + * + * @return builder + * + */ + public Builder creationTime(@Nullable Output creationTime) { + $.creationTime = creationTime; + return this; + } + + /** + * @param creationTime Time in epoch milliseconds when this object was created. + * + * @return builder + * + */ + public Builder creationTime(Integer creationTime) { + return creationTime(Output.of(creationTime)); + } + + /** + * @param deactivated Whether this private endpoint is deactivated. + * + * @return builder + * + */ + public Builder deactivated(@Nullable Output deactivated) { + $.deactivated = deactivated; + return this; + } + + /** + * @param deactivated Whether this private endpoint is deactivated. + * + * @return builder + * + */ + public Builder deactivated(Boolean deactivated) { + return deactivated(Output.of(deactivated)); + } + + /** + * @param deactivatedAt Time in epoch milliseconds when this object was deactivated. + * + * @return builder + * + */ + public Builder deactivatedAt(@Nullable Output deactivatedAt) { + $.deactivatedAt = deactivatedAt; + return this; + } + + /** + * @param deactivatedAt Time in epoch milliseconds when this object was deactivated. + * + * @return builder + * + */ + public Builder deactivatedAt(Integer deactivatedAt) { + return deactivatedAt(Output.of(deactivatedAt)); + } + + /** + * @param endpointName The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + * + * @return builder + * + */ + public Builder endpointName(@Nullable Output endpointName) { + $.endpointName = endpointName; + return this; + } + + /** + * @param endpointName The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + * + * @return builder + * + */ + public Builder endpointName(String endpointName) { + return endpointName(Output.of(endpointName)); + } + + /** + * @param groupId The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder groupId(@Nullable Output groupId) { + $.groupId = groupId; + return this; + } + + /** + * @param groupId The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder groupId(String groupId) { + return groupId(Output.of(groupId)); + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(@Nullable Output networkConnectivityConfigId) { + $.networkConnectivityConfigId = networkConnectivityConfigId; + return this; + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(String networkConnectivityConfigId) { + return networkConnectivityConfigId(Output.of(networkConnectivityConfigId)); + } + + /** + * @param resourceId The Azure resource ID of the target resource. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder resourceId(@Nullable Output resourceId) { + $.resourceId = resourceId; + return this; + } + + /** + * @param resourceId The Azure resource ID of the target resource. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder resourceId(String resourceId) { + return resourceId(Output.of(resourceId)); + } + + /** + * @param ruleId the ID of a private endpoint rule. + * + * @return builder + * + */ + public Builder ruleId(@Nullable Output ruleId) { + $.ruleId = ruleId; + return this; + } + + /** + * @param ruleId the ID of a private endpoint rule. + * + * @return builder + * + */ + public Builder ruleId(String ruleId) { + return ruleId(Output.of(ruleId)); + } + + /** + * @param updatedTime Time in epoch milliseconds when this object was updated. + * + * @return builder + * + */ + public Builder updatedTime(@Nullable Output updatedTime) { + $.updatedTime = updatedTime; + return this; + } + + /** + * @param updatedTime Time in epoch milliseconds when this object was updated. + * + * @return builder + * + */ + public Builder updatedTime(Integer updatedTime) { + return updatedTime(Output.of(updatedTime)); + } + + public MwsNccPrivateEndpointRuleState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigArgs.java new file mode 100644 index 00000000..9d912200 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.databricks.inputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs; +import com.pulumi.databricks.inputs.MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNetworkConnectivityConfigEgressConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final MwsNetworkConnectivityConfigEgressConfigArgs Empty = new MwsNetworkConnectivityConfigEgressConfigArgs(); + + @Import(name="defaultRules") + private @Nullable Output defaultRules; + + public Optional> defaultRules() { + return Optional.ofNullable(this.defaultRules); + } + + @Import(name="targetRules") + private @Nullable Output targetRules; + + public Optional> targetRules() { + return Optional.ofNullable(this.targetRules); + } + + private MwsNetworkConnectivityConfigEgressConfigArgs() {} + + private MwsNetworkConnectivityConfigEgressConfigArgs(MwsNetworkConnectivityConfigEgressConfigArgs $) { + this.defaultRules = $.defaultRules; + this.targetRules = $.targetRules; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNetworkConnectivityConfigEgressConfigArgs $; + + public Builder() { + $ = new MwsNetworkConnectivityConfigEgressConfigArgs(); + } + + public Builder(MwsNetworkConnectivityConfigEgressConfigArgs defaults) { + $ = new MwsNetworkConnectivityConfigEgressConfigArgs(Objects.requireNonNull(defaults)); + } + + public Builder defaultRules(@Nullable Output defaultRules) { + $.defaultRules = defaultRules; + return this; + } + + public Builder defaultRules(MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs defaultRules) { + return defaultRules(Output.of(defaultRules)); + } + + public Builder targetRules(@Nullable Output targetRules) { + $.targetRules = targetRules; + return this; + } + + public Builder targetRules(MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs targetRules) { + return targetRules(Output.of(targetRules)); + } + + public MwsNetworkConnectivityConfigEgressConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs.java new file mode 100644 index 00000000..70d81da8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs.java @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.databricks.inputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs; +import com.pulumi.databricks.inputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs extends com.pulumi.resources.ResourceArgs { + + public static final MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs Empty = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs(); + + @Import(name="awsStableIpRule") + private @Nullable Output awsStableIpRule; + + public Optional> awsStableIpRule() { + return Optional.ofNullable(this.awsStableIpRule); + } + + /** + * This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + * + */ + @Import(name="azureServiceEndpointRule") + private @Nullable Output azureServiceEndpointRule; + + /** + * @return This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + * + */ + public Optional> azureServiceEndpointRule() { + return Optional.ofNullable(this.azureServiceEndpointRule); + } + + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs() {} + + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs(MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs $) { + this.awsStableIpRule = $.awsStableIpRule; + this.azureServiceEndpointRule = $.azureServiceEndpointRule; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs $; + + public Builder() { + $ = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs(); + } + + public Builder(MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs defaults) { + $ = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs(Objects.requireNonNull(defaults)); + } + + public Builder awsStableIpRule(@Nullable Output awsStableIpRule) { + $.awsStableIpRule = awsStableIpRule; + return this; + } + + public Builder awsStableIpRule(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs awsStableIpRule) { + return awsStableIpRule(Output.of(awsStableIpRule)); + } + + /** + * @param azureServiceEndpointRule This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + * + * @return builder + * + */ + public Builder azureServiceEndpointRule(@Nullable Output azureServiceEndpointRule) { + $.azureServiceEndpointRule = azureServiceEndpointRule; + return this; + } + + /** + * @param azureServiceEndpointRule This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + * + * @return builder + * + */ + public Builder azureServiceEndpointRule(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs azureServiceEndpointRule) { + return azureServiceEndpointRule(Output.of(azureServiceEndpointRule)); + } + + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs.java new file mode 100644 index 00000000..bb170c85 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs.java @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs Empty = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs(); + + @Import(name="cidrBlocks") + private @Nullable Output> cidrBlocks; + + public Optional>> cidrBlocks() { + return Optional.ofNullable(this.cidrBlocks); + } + + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs() {} + + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs $) { + this.cidrBlocks = $.cidrBlocks; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs $; + + public Builder() { + $ = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs(); + } + + public Builder(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs defaults) { + $ = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs(Objects.requireNonNull(defaults)); + } + + public Builder cidrBlocks(@Nullable Output> cidrBlocks) { + $.cidrBlocks = cidrBlocks; + return this; + } + + public Builder cidrBlocks(List cidrBlocks) { + return cidrBlocks(Output.of(cidrBlocks)); + } + + public Builder cidrBlocks(String... cidrBlocks) { + return cidrBlocks(List.of(cidrBlocks)); + } + + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs.java new file mode 100644 index 00000000..38453ef6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs.java @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs Empty = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs(); + + @Import(name="subnets") + private @Nullable Output> subnets; + + public Optional>> subnets() { + return Optional.ofNullable(this.subnets); + } + + @Import(name="targetRegion") + private @Nullable Output targetRegion; + + public Optional> targetRegion() { + return Optional.ofNullable(this.targetRegion); + } + + @Import(name="targetServices") + private @Nullable Output> targetServices; + + public Optional>> targetServices() { + return Optional.ofNullable(this.targetServices); + } + + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs() {} + + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs $) { + this.subnets = $.subnets; + this.targetRegion = $.targetRegion; + this.targetServices = $.targetServices; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs $; + + public Builder() { + $ = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs(); + } + + public Builder(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs defaults) { + $ = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs(Objects.requireNonNull(defaults)); + } + + public Builder subnets(@Nullable Output> subnets) { + $.subnets = subnets; + return this; + } + + public Builder subnets(List subnets) { + return subnets(Output.of(subnets)); + } + + public Builder subnets(String... subnets) { + return subnets(List.of(subnets)); + } + + public Builder targetRegion(@Nullable Output targetRegion) { + $.targetRegion = targetRegion; + return this; + } + + public Builder targetRegion(String targetRegion) { + return targetRegion(Output.of(targetRegion)); + } + + public Builder targetServices(@Nullable Output> targetServices) { + $.targetServices = targetServices; + return this; + } + + public Builder targetServices(List targetServices) { + return targetServices(Output.of(targetServices)); + } + + public Builder targetServices(String... targetServices) { + return targetServices(List.of(targetServices)); + } + + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs.java new file mode 100644 index 00000000..ba85f615 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs.java @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.databricks.inputs.MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs extends com.pulumi.resources.ResourceArgs { + + public static final MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs Empty = new MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs(); + + @Import(name="azurePrivateEndpointRules") + private @Nullable Output> azurePrivateEndpointRules; + + public Optional>> azurePrivateEndpointRules() { + return Optional.ofNullable(this.azurePrivateEndpointRules); + } + + private MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs() {} + + private MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs(MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs $) { + this.azurePrivateEndpointRules = $.azurePrivateEndpointRules; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs $; + + public Builder() { + $ = new MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs(); + } + + public Builder(MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs defaults) { + $ = new MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs(Objects.requireNonNull(defaults)); + } + + public Builder azurePrivateEndpointRules(@Nullable Output> azurePrivateEndpointRules) { + $.azurePrivateEndpointRules = azurePrivateEndpointRules; + return this; + } + + public Builder azurePrivateEndpointRules(List azurePrivateEndpointRules) { + return azurePrivateEndpointRules(Output.of(azurePrivateEndpointRules)); + } + + public Builder azurePrivateEndpointRules(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs... azurePrivateEndpointRules) { + return azurePrivateEndpointRules(List.of(azurePrivateEndpointRules)); + } + + public MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs.java new file mode 100644 index 00000000..fb1b9819 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs.java @@ -0,0 +1,238 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs Empty = new MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs(); + + @Import(name="connectionState") + private @Nullable Output connectionState; + + public Optional> connectionState() { + return Optional.ofNullable(this.connectionState); + } + + @Import(name="creationTime") + private @Nullable Output creationTime; + + public Optional> creationTime() { + return Optional.ofNullable(this.creationTime); + } + + @Import(name="deactivated") + private @Nullable Output deactivated; + + public Optional> deactivated() { + return Optional.ofNullable(this.deactivated); + } + + @Import(name="deactivatedAt") + private @Nullable Output deactivatedAt; + + public Optional> deactivatedAt() { + return Optional.ofNullable(this.deactivatedAt); + } + + @Import(name="endpointName") + private @Nullable Output endpointName; + + public Optional> endpointName() { + return Optional.ofNullable(this.endpointName); + } + + @Import(name="groupId") + private @Nullable Output groupId; + + public Optional> groupId() { + return Optional.ofNullable(this.groupId); + } + + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account + * + */ + @Import(name="networkConnectivityConfigId") + private @Nullable Output networkConnectivityConfigId; + + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account + * + */ + public Optional> networkConnectivityConfigId() { + return Optional.ofNullable(this.networkConnectivityConfigId); + } + + @Import(name="resourceId") + private @Nullable Output resourceId; + + public Optional> resourceId() { + return Optional.ofNullable(this.resourceId); + } + + @Import(name="ruleId") + private @Nullable Output ruleId; + + public Optional> ruleId() { + return Optional.ofNullable(this.ruleId); + } + + @Import(name="updatedTime") + private @Nullable Output updatedTime; + + public Optional> updatedTime() { + return Optional.ofNullable(this.updatedTime); + } + + private MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs() {} + + private MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs $) { + this.connectionState = $.connectionState; + this.creationTime = $.creationTime; + this.deactivated = $.deactivated; + this.deactivatedAt = $.deactivatedAt; + this.endpointName = $.endpointName; + this.groupId = $.groupId; + this.networkConnectivityConfigId = $.networkConnectivityConfigId; + this.resourceId = $.resourceId; + this.ruleId = $.ruleId; + this.updatedTime = $.updatedTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs $; + + public Builder() { + $ = new MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs(); + } + + public Builder(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs defaults) { + $ = new MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs(Objects.requireNonNull(defaults)); + } + + public Builder connectionState(@Nullable Output connectionState) { + $.connectionState = connectionState; + return this; + } + + public Builder connectionState(String connectionState) { + return connectionState(Output.of(connectionState)); + } + + public Builder creationTime(@Nullable Output creationTime) { + $.creationTime = creationTime; + return this; + } + + public Builder creationTime(Integer creationTime) { + return creationTime(Output.of(creationTime)); + } + + public Builder deactivated(@Nullable Output deactivated) { + $.deactivated = deactivated; + return this; + } + + public Builder deactivated(Boolean deactivated) { + return deactivated(Output.of(deactivated)); + } + + public Builder deactivatedAt(@Nullable Output deactivatedAt) { + $.deactivatedAt = deactivatedAt; + return this; + } + + public Builder deactivatedAt(Integer deactivatedAt) { + return deactivatedAt(Output.of(deactivatedAt)); + } + + public Builder endpointName(@Nullable Output endpointName) { + $.endpointName = endpointName; + return this; + } + + public Builder endpointName(String endpointName) { + return endpointName(Output.of(endpointName)); + } + + public Builder groupId(@Nullable Output groupId) { + $.groupId = groupId; + return this; + } + + public Builder groupId(String groupId) { + return groupId(Output.of(groupId)); + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(@Nullable Output networkConnectivityConfigId) { + $.networkConnectivityConfigId = networkConnectivityConfigId; + return this; + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(String networkConnectivityConfigId) { + return networkConnectivityConfigId(Output.of(networkConnectivityConfigId)); + } + + public Builder resourceId(@Nullable Output resourceId) { + $.resourceId = resourceId; + return this; + } + + public Builder resourceId(String resourceId) { + return resourceId(Output.of(resourceId)); + } + + public Builder ruleId(@Nullable Output ruleId) { + $.ruleId = ruleId; + return this; + } + + public Builder ruleId(String ruleId) { + return ruleId(Output.of(ruleId)); + } + + public Builder updatedTime(@Nullable Output updatedTime) { + $.updatedTime = updatedTime; + return this; + } + + public Builder updatedTime(Integer updatedTime) { + return updatedTime(Output.of(updatedTime)); + } + + public MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigState.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigState.java new file mode 100644 index 00000000..7f110ee4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/MwsNetworkConnectivityConfigState.java @@ -0,0 +1,227 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.databricks.inputs.MwsNetworkConnectivityConfigEgressConfigArgs; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class MwsNetworkConnectivityConfigState extends com.pulumi.resources.ResourceArgs { + + public static final MwsNetworkConnectivityConfigState Empty = new MwsNetworkConnectivityConfigState(); + + @Import(name="accountId") + private @Nullable Output accountId; + + public Optional> accountId() { + return Optional.ofNullable(this.accountId); + } + + @Import(name="creationTime") + private @Nullable Output creationTime; + + public Optional> creationTime() { + return Optional.ofNullable(this.creationTime); + } + + @Import(name="egressConfig") + private @Nullable Output egressConfig; + + public Optional> egressConfig() { + return Optional.ofNullable(this.egressConfig); + } + + /** + * Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account + * + */ + @Import(name="networkConnectivityConfigId") + private @Nullable Output networkConnectivityConfigId; + + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account + * + */ + public Optional> networkConnectivityConfigId() { + return Optional.ofNullable(this.networkConnectivityConfigId); + } + + /** + * Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + * + */ + @Import(name="region") + private @Nullable Output region; + + /** + * @return Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + * + */ + public Optional> region() { + return Optional.ofNullable(this.region); + } + + @Import(name="updatedTime") + private @Nullable Output updatedTime; + + public Optional> updatedTime() { + return Optional.ofNullable(this.updatedTime); + } + + private MwsNetworkConnectivityConfigState() {} + + private MwsNetworkConnectivityConfigState(MwsNetworkConnectivityConfigState $) { + this.accountId = $.accountId; + this.creationTime = $.creationTime; + this.egressConfig = $.egressConfig; + this.name = $.name; + this.networkConnectivityConfigId = $.networkConnectivityConfigId; + this.region = $.region; + this.updatedTime = $.updatedTime; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MwsNetworkConnectivityConfigState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MwsNetworkConnectivityConfigState $; + + public Builder() { + $ = new MwsNetworkConnectivityConfigState(); + } + + public Builder(MwsNetworkConnectivityConfigState defaults) { + $ = new MwsNetworkConnectivityConfigState(Objects.requireNonNull(defaults)); + } + + public Builder accountId(@Nullable Output accountId) { + $.accountId = accountId; + return this; + } + + public Builder accountId(String accountId) { + return accountId(Output.of(accountId)); + } + + public Builder creationTime(@Nullable Output creationTime) { + $.creationTime = creationTime; + return this; + } + + public Builder creationTime(Integer creationTime) { + return creationTime(Output.of(creationTime)); + } + + public Builder egressConfig(@Nullable Output egressConfig) { + $.egressConfig = egressConfig; + return this; + } + + public Builder egressConfig(MwsNetworkConnectivityConfigEgressConfigArgs egressConfig) { + return egressConfig(Output.of(egressConfig)); + } + + /** + * @param name Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(@Nullable Output networkConnectivityConfigId) { + $.networkConnectivityConfigId = networkConnectivityConfigId; + return this; + } + + /** + * @param networkConnectivityConfigId Canonical unique identifier of Network Connectivity Config in Databricks Account + * + * @return builder + * + */ + public Builder networkConnectivityConfigId(String networkConnectivityConfigId) { + return networkConnectivityConfigId(Output.of(networkConnectivityConfigId)); + } + + /** + * @param region Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder region(@Nullable Output region) { + $.region = region; + return this; + } + + /** + * @param region Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + * + * @return builder + * + */ + public Builder region(String region) { + return region(Output.of(region)); + } + + public Builder updatedTime(@Nullable Output updatedTime) { + $.updatedTime = updatedTime; + return this; + } + + public Builder updatedTime(Integer updatedTime) { + return updatedTime(Output.of(updatedTime)); + } + + public MwsNetworkConnectivityConfigState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetCurrentMetastoreResult.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetCurrentMetastoreResult.java index 84585596..7e2e24ba 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetCurrentMetastoreResult.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetCurrentMetastoreResult.java @@ -12,7 +12,7 @@ @CustomType public final class GetCurrentMetastoreResult { /** - * @return metastore ID. + * @return metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace * */ private String id; @@ -24,7 +24,7 @@ public final class GetCurrentMetastoreResult { private GetCurrentMetastoreResult() {} /** - * @return metastore ID. + * @return metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace * */ public String id() { diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfig.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfig.java new file mode 100644 index 00000000..e9bd686c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfig.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.databricks.outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRules; +import com.pulumi.databricks.outputs.MwsNetworkConnectivityConfigEgressConfigTargetRules; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MwsNetworkConnectivityConfigEgressConfig { + private @Nullable MwsNetworkConnectivityConfigEgressConfigDefaultRules defaultRules; + private @Nullable MwsNetworkConnectivityConfigEgressConfigTargetRules targetRules; + + private MwsNetworkConnectivityConfigEgressConfig() {} + public Optional defaultRules() { + return Optional.ofNullable(this.defaultRules); + } + public Optional targetRules() { + return Optional.ofNullable(this.targetRules); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MwsNetworkConnectivityConfigEgressConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable MwsNetworkConnectivityConfigEgressConfigDefaultRules defaultRules; + private @Nullable MwsNetworkConnectivityConfigEgressConfigTargetRules targetRules; + public Builder() {} + public Builder(MwsNetworkConnectivityConfigEgressConfig defaults) { + Objects.requireNonNull(defaults); + this.defaultRules = defaults.defaultRules; + this.targetRules = defaults.targetRules; + } + + @CustomType.Setter + public Builder defaultRules(@Nullable MwsNetworkConnectivityConfigEgressConfigDefaultRules defaultRules) { + + this.defaultRules = defaultRules; + return this; + } + @CustomType.Setter + public Builder targetRules(@Nullable MwsNetworkConnectivityConfigEgressConfigTargetRules targetRules) { + + this.targetRules = targetRules; + return this; + } + public MwsNetworkConnectivityConfigEgressConfig build() { + final var _resultValue = new MwsNetworkConnectivityConfigEgressConfig(); + _resultValue.defaultRules = defaultRules; + _resultValue.targetRules = targetRules; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRules.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRules.java new file mode 100644 index 00000000..0d4f45a2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRules.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.databricks.outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule; +import com.pulumi.databricks.outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MwsNetworkConnectivityConfigEgressConfigDefaultRules { + private @Nullable MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule awsStableIpRule; + /** + * @return This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + * + */ + private @Nullable MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule azureServiceEndpointRule; + + private MwsNetworkConnectivityConfigEgressConfigDefaultRules() {} + public Optional awsStableIpRule() { + return Optional.ofNullable(this.awsStableIpRule); + } + /** + * @return This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + * + */ + public Optional azureServiceEndpointRule() { + return Optional.ofNullable(this.azureServiceEndpointRule); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigDefaultRules defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule awsStableIpRule; + private @Nullable MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule azureServiceEndpointRule; + public Builder() {} + public Builder(MwsNetworkConnectivityConfigEgressConfigDefaultRules defaults) { + Objects.requireNonNull(defaults); + this.awsStableIpRule = defaults.awsStableIpRule; + this.azureServiceEndpointRule = defaults.azureServiceEndpointRule; + } + + @CustomType.Setter + public Builder awsStableIpRule(@Nullable MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule awsStableIpRule) { + + this.awsStableIpRule = awsStableIpRule; + return this; + } + @CustomType.Setter + public Builder azureServiceEndpointRule(@Nullable MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule azureServiceEndpointRule) { + + this.azureServiceEndpointRule = azureServiceEndpointRule; + return this; + } + public MwsNetworkConnectivityConfigEgressConfigDefaultRules build() { + final var _resultValue = new MwsNetworkConnectivityConfigEgressConfigDefaultRules(); + _resultValue.awsStableIpRule = awsStableIpRule; + _resultValue.azureServiceEndpointRule = azureServiceEndpointRule; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule.java new file mode 100644 index 00000000..96e38f75 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule.java @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule { + private @Nullable List cidrBlocks; + + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule() {} + public List cidrBlocks() { + return this.cidrBlocks == null ? List.of() : this.cidrBlocks; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List cidrBlocks; + public Builder() {} + public Builder(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule defaults) { + Objects.requireNonNull(defaults); + this.cidrBlocks = defaults.cidrBlocks; + } + + @CustomType.Setter + public Builder cidrBlocks(@Nullable List cidrBlocks) { + + this.cidrBlocks = cidrBlocks; + return this; + } + public Builder cidrBlocks(String... cidrBlocks) { + return cidrBlocks(List.of(cidrBlocks)); + } + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule build() { + final var _resultValue = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule(); + _resultValue.cidrBlocks = cidrBlocks; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule.java new file mode 100644 index 00000000..9d0f5dbb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule { + private @Nullable List subnets; + private @Nullable String targetRegion; + private @Nullable List targetServices; + + private MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule() {} + public List subnets() { + return this.subnets == null ? List.of() : this.subnets; + } + public Optional targetRegion() { + return Optional.ofNullable(this.targetRegion); + } + public List targetServices() { + return this.targetServices == null ? List.of() : this.targetServices; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List subnets; + private @Nullable String targetRegion; + private @Nullable List targetServices; + public Builder() {} + public Builder(MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule defaults) { + Objects.requireNonNull(defaults); + this.subnets = defaults.subnets; + this.targetRegion = defaults.targetRegion; + this.targetServices = defaults.targetServices; + } + + @CustomType.Setter + public Builder subnets(@Nullable List subnets) { + + this.subnets = subnets; + return this; + } + public Builder subnets(String... subnets) { + return subnets(List.of(subnets)); + } + @CustomType.Setter + public Builder targetRegion(@Nullable String targetRegion) { + + this.targetRegion = targetRegion; + return this; + } + @CustomType.Setter + public Builder targetServices(@Nullable List targetServices) { + + this.targetServices = targetServices; + return this; + } + public Builder targetServices(String... targetServices) { + return targetServices(List.of(targetServices)); + } + public MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule build() { + final var _resultValue = new MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule(); + _resultValue.subnets = subnets; + _resultValue.targetRegion = targetRegion; + _resultValue.targetServices = targetServices; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigTargetRules.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigTargetRules.java new file mode 100644 index 00000000..75bd43fb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigTargetRules.java @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.databricks.outputs.MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class MwsNetworkConnectivityConfigEgressConfigTargetRules { + private @Nullable List azurePrivateEndpointRules; + + private MwsNetworkConnectivityConfigEgressConfigTargetRules() {} + public List azurePrivateEndpointRules() { + return this.azurePrivateEndpointRules == null ? List.of() : this.azurePrivateEndpointRules; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigTargetRules defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List azurePrivateEndpointRules; + public Builder() {} + public Builder(MwsNetworkConnectivityConfigEgressConfigTargetRules defaults) { + Objects.requireNonNull(defaults); + this.azurePrivateEndpointRules = defaults.azurePrivateEndpointRules; + } + + @CustomType.Setter + public Builder azurePrivateEndpointRules(@Nullable List azurePrivateEndpointRules) { + + this.azurePrivateEndpointRules = azurePrivateEndpointRules; + return this; + } + public Builder azurePrivateEndpointRules(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule... azurePrivateEndpointRules) { + return azurePrivateEndpointRules(List.of(azurePrivateEndpointRules)); + } + public MwsNetworkConnectivityConfigEgressConfigTargetRules build() { + final var _resultValue = new MwsNetworkConnectivityConfigEgressConfigTargetRules(); + _resultValue.azurePrivateEndpointRules = azurePrivateEndpointRules; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule.java new file mode 100644 index 00000000..840fb47f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule.java @@ -0,0 +1,176 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.databricks.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule { + private @Nullable String connectionState; + private @Nullable Integer creationTime; + private @Nullable Boolean deactivated; + private @Nullable Integer deactivatedAt; + private @Nullable String endpointName; + private @Nullable String groupId; + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account + * + */ + private @Nullable String networkConnectivityConfigId; + private @Nullable String resourceId; + private @Nullable String ruleId; + private @Nullable Integer updatedTime; + + private MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule() {} + public Optional connectionState() { + return Optional.ofNullable(this.connectionState); + } + public Optional creationTime() { + return Optional.ofNullable(this.creationTime); + } + public Optional deactivated() { + return Optional.ofNullable(this.deactivated); + } + public Optional deactivatedAt() { + return Optional.ofNullable(this.deactivatedAt); + } + public Optional endpointName() { + return Optional.ofNullable(this.endpointName); + } + public Optional groupId() { + return Optional.ofNullable(this.groupId); + } + /** + * @return Canonical unique identifier of Network Connectivity Config in Databricks Account + * + */ + public Optional networkConnectivityConfigId() { + return Optional.ofNullable(this.networkConnectivityConfigId); + } + public Optional resourceId() { + return Optional.ofNullable(this.resourceId); + } + public Optional ruleId() { + return Optional.ofNullable(this.ruleId); + } + public Optional updatedTime() { + return Optional.ofNullable(this.updatedTime); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String connectionState; + private @Nullable Integer creationTime; + private @Nullable Boolean deactivated; + private @Nullable Integer deactivatedAt; + private @Nullable String endpointName; + private @Nullable String groupId; + private @Nullable String networkConnectivityConfigId; + private @Nullable String resourceId; + private @Nullable String ruleId; + private @Nullable Integer updatedTime; + public Builder() {} + public Builder(MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule defaults) { + Objects.requireNonNull(defaults); + this.connectionState = defaults.connectionState; + this.creationTime = defaults.creationTime; + this.deactivated = defaults.deactivated; + this.deactivatedAt = defaults.deactivatedAt; + this.endpointName = defaults.endpointName; + this.groupId = defaults.groupId; + this.networkConnectivityConfigId = defaults.networkConnectivityConfigId; + this.resourceId = defaults.resourceId; + this.ruleId = defaults.ruleId; + this.updatedTime = defaults.updatedTime; + } + + @CustomType.Setter + public Builder connectionState(@Nullable String connectionState) { + + this.connectionState = connectionState; + return this; + } + @CustomType.Setter + public Builder creationTime(@Nullable Integer creationTime) { + + this.creationTime = creationTime; + return this; + } + @CustomType.Setter + public Builder deactivated(@Nullable Boolean deactivated) { + + this.deactivated = deactivated; + return this; + } + @CustomType.Setter + public Builder deactivatedAt(@Nullable Integer deactivatedAt) { + + this.deactivatedAt = deactivatedAt; + return this; + } + @CustomType.Setter + public Builder endpointName(@Nullable String endpointName) { + + this.endpointName = endpointName; + return this; + } + @CustomType.Setter + public Builder groupId(@Nullable String groupId) { + + this.groupId = groupId; + return this; + } + @CustomType.Setter + public Builder networkConnectivityConfigId(@Nullable String networkConnectivityConfigId) { + + this.networkConnectivityConfigId = networkConnectivityConfigId; + return this; + } + @CustomType.Setter + public Builder resourceId(@Nullable String resourceId) { + + this.resourceId = resourceId; + return this; + } + @CustomType.Setter + public Builder ruleId(@Nullable String ruleId) { + + this.ruleId = ruleId; + return this; + } + @CustomType.Setter + public Builder updatedTime(@Nullable Integer updatedTime) { + + this.updatedTime = updatedTime; + return this; + } + public MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule build() { + final var _resultValue = new MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule(); + _resultValue.connectionState = connectionState; + _resultValue.creationTime = creationTime; + _resultValue.deactivated = deactivated; + _resultValue.deactivatedAt = deactivatedAt; + _resultValue.endpointName = endpointName; + _resultValue.groupId = groupId; + _resultValue.networkConnectivityConfigId = networkConnectivityConfigId; + _resultValue.resourceId = resourceId; + _resultValue.ruleId = ruleId; + _resultValue.updatedTime = updatedTime; + return _resultValue; + } + } +} diff --git a/sdk/nodejs/getCurrentMetastore.ts b/sdk/nodejs/getCurrentMetastore.ts index 73cb2101..ed2a3a27 100644 --- a/sdk/nodejs/getCurrentMetastore.ts +++ b/sdk/nodejs/getCurrentMetastore.ts @@ -49,7 +49,7 @@ export function getCurrentMetastore(args?: GetCurrentMetastoreArgs, opts?: pulum */ export interface GetCurrentMetastoreArgs { /** - * metastore ID. + * metastore ID. Will be `noMetastore` if there is no metastore assigned for the current workspace */ id?: string; /** @@ -63,7 +63,7 @@ export interface GetCurrentMetastoreArgs { */ export interface GetCurrentMetastoreResult { /** - * metastore ID. + * metastore ID. Will be `noMetastore` if there is no metastore assigned for the current workspace */ readonly id: string; /** @@ -108,7 +108,7 @@ export function getCurrentMetastoreOutput(args?: GetCurrentMetastoreOutputArgs, */ export interface GetCurrentMetastoreOutputArgs { /** - * metastore ID. + * metastore ID. Will be `noMetastore` if there is no metastore assigned for the current workspace */ id?: pulumi.Input; /** diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index c81415bf..56cb4f0a 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -425,6 +425,21 @@ export type MwsLogDelivery = import("./mwsLogDelivery").MwsLogDelivery; export const MwsLogDelivery: typeof import("./mwsLogDelivery").MwsLogDelivery = null as any; utilities.lazyLoad(exports, ["MwsLogDelivery"], () => require("./mwsLogDelivery")); +export { MwsNccBindingArgs, MwsNccBindingState } from "./mwsNccBinding"; +export type MwsNccBinding = import("./mwsNccBinding").MwsNccBinding; +export const MwsNccBinding: typeof import("./mwsNccBinding").MwsNccBinding = null as any; +utilities.lazyLoad(exports, ["MwsNccBinding"], () => require("./mwsNccBinding")); + +export { MwsNccPrivateEndpointRuleArgs, MwsNccPrivateEndpointRuleState } from "./mwsNccPrivateEndpointRule"; +export type MwsNccPrivateEndpointRule = import("./mwsNccPrivateEndpointRule").MwsNccPrivateEndpointRule; +export const MwsNccPrivateEndpointRule: typeof import("./mwsNccPrivateEndpointRule").MwsNccPrivateEndpointRule = null as any; +utilities.lazyLoad(exports, ["MwsNccPrivateEndpointRule"], () => require("./mwsNccPrivateEndpointRule")); + +export { MwsNetworkConnectivityConfigArgs, MwsNetworkConnectivityConfigState } from "./mwsNetworkConnectivityConfig"; +export type MwsNetworkConnectivityConfig = import("./mwsNetworkConnectivityConfig").MwsNetworkConnectivityConfig; +export const MwsNetworkConnectivityConfig: typeof import("./mwsNetworkConnectivityConfig").MwsNetworkConnectivityConfig = null as any; +utilities.lazyLoad(exports, ["MwsNetworkConnectivityConfig"], () => require("./mwsNetworkConnectivityConfig")); + export { MwsNetworksArgs, MwsNetworksState } from "./mwsNetworks"; export type MwsNetworks = import("./mwsNetworks").MwsNetworks; export const MwsNetworks: typeof import("./mwsNetworks").MwsNetworks = null as any; @@ -747,6 +762,12 @@ const _module = { return new MwsCustomerManagedKeys(name, undefined, { urn }) case "databricks:index/mwsLogDelivery:MwsLogDelivery": return new MwsLogDelivery(name, undefined, { urn }) + case "databricks:index/mwsNccBinding:MwsNccBinding": + return new MwsNccBinding(name, undefined, { urn }) + case "databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule": + return new MwsNccPrivateEndpointRule(name, undefined, { urn }) + case "databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig": + return new MwsNetworkConnectivityConfig(name, undefined, { urn }) case "databricks:index/mwsNetworks:MwsNetworks": return new MwsNetworks(name, undefined, { urn }) case "databricks:index/mwsPermissionAssignment:MwsPermissionAssignment": @@ -881,6 +902,9 @@ pulumi.runtime.registerResourceModule("databricks", "index/mount", _module) pulumi.runtime.registerResourceModule("databricks", "index/mwsCredentials", _module) pulumi.runtime.registerResourceModule("databricks", "index/mwsCustomerManagedKeys", _module) pulumi.runtime.registerResourceModule("databricks", "index/mwsLogDelivery", _module) +pulumi.runtime.registerResourceModule("databricks", "index/mwsNccBinding", _module) +pulumi.runtime.registerResourceModule("databricks", "index/mwsNccPrivateEndpointRule", _module) +pulumi.runtime.registerResourceModule("databricks", "index/mwsNetworkConnectivityConfig", _module) pulumi.runtime.registerResourceModule("databricks", "index/mwsNetworks", _module) pulumi.runtime.registerResourceModule("databricks", "index/mwsPermissionAssignment", _module) pulumi.runtime.registerResourceModule("databricks", "index/mwsPrivateAccessSettings", _module) diff --git a/sdk/nodejs/mwsNccBinding.ts b/sdk/nodejs/mwsNccBinding.ts new file mode 100644 index 00000000..f50c8c8c --- /dev/null +++ b/sdk/nodejs/mwsNccBinding.ts @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + * + * > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. + * + * Allows you to attach a Network Connectivity Config object to a databricks.MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/sql/admin/serverless-firewall). + * + * The NCC and workspace must be in the same region. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as databricks from "@pulumi/databricks"; + * + * const config = new pulumi.Config(); + * const region = config.requireObject("region"); + * const prefix = config.requireObject("prefix"); + * const ncc = new databricks.MwsNetworkConnectivityConfig("ncc", { + * name: `Network Connectivity Config for ${prefix}`, + * region: region, + * }); + * const nccBinding = new databricks.MwsNccBinding("ncc_binding", { + * networkConnectivityConfigId: ncc.networkConnectivityConfigId, + * workspaceId: databricksWorkspaceId, + * }); + * ``` + * + * ## Related Resources + * + * The following resources are used in the context: + * + * * databricks.MwsWorkspaces to set up Databricks workspaces. + * * databricks.MwsNetworkConnectivityConfig to create Network Connectivity Config objects. + */ +export class MwsNccBinding extends pulumi.CustomResource { + /** + * Get an existing MwsNccBinding 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. + */ + public static get(name: string, id: pulumi.Input, state?: MwsNccBindingState, opts?: pulumi.CustomResourceOptions): MwsNccBinding { + return new MwsNccBinding(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'databricks:index/mwsNccBinding:MwsNccBinding'; + + /** + * Returns true if the given object is an instance of MwsNccBinding. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is MwsNccBinding { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MwsNccBinding.__pulumiType; + } + + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. + */ + public readonly networkConnectivityConfigId!: pulumi.Output; + /** + * Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + */ + public readonly workspaceId!: pulumi.Output; + + /** + * Create a MwsNccBinding 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: MwsNccBindingArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: MwsNccBindingArgs | MwsNccBindingState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as MwsNccBindingState | undefined; + resourceInputs["networkConnectivityConfigId"] = state ? state.networkConnectivityConfigId : undefined; + resourceInputs["workspaceId"] = state ? state.workspaceId : undefined; + } else { + const args = argsOrState as MwsNccBindingArgs | undefined; + if ((!args || args.networkConnectivityConfigId === undefined) && !opts.urn) { + throw new Error("Missing required property 'networkConnectivityConfigId'"); + } + if ((!args || args.workspaceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'workspaceId'"); + } + resourceInputs["networkConnectivityConfigId"] = args ? args.networkConnectivityConfigId : undefined; + resourceInputs["workspaceId"] = args ? args.workspaceId : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(MwsNccBinding.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering MwsNccBinding resources. + */ +export interface MwsNccBindingState { + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. + */ + networkConnectivityConfigId?: pulumi.Input; + /** + * Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + */ + workspaceId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a MwsNccBinding resource. + */ +export interface MwsNccBindingArgs { + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. + */ + networkConnectivityConfigId: pulumi.Input; + /** + * Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + */ + workspaceId: pulumi.Input; +} diff --git a/sdk/nodejs/mwsNccPrivateEndpointRule.ts b/sdk/nodejs/mwsNccPrivateEndpointRule.ts new file mode 100644 index 00000000..5a7e0fa4 --- /dev/null +++ b/sdk/nodejs/mwsNccPrivateEndpointRule.ts @@ -0,0 +1,261 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + * + * > **Note** This feature is only available in Azure. + * + * Allows you to create a private endpoint in a Network Connectivity Config that can be used to [configure private connectivity from serverless compute](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-private-link). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as databricks from "@pulumi/databricks"; + * + * const config = new pulumi.Config(); + * const region = config.requireObject("region"); + * const prefix = config.requireObject("prefix"); + * const ncc = new databricks.MwsNetworkConnectivityConfig("ncc", { + * name: `Network Connectivity Config for ${prefix}`, + * region: region, + * }); + * const storage = new databricks.MwsNccPrivateEndpointRule("storage", { + * networkConnectivityConfigId: ncc.networkConnectivityConfigId, + * resourceId: "/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa", + * groupId: "blob", + * }); + * ``` + * + * ## Related Resources + * + * The following resources are used in the context: + * + * * databricks.MwsNetworkConnectivityConfig to create Network Connectivity Config objects. + * * databricks.MwsNccBinding to attach an NCC to a workspace. + * + * ## Import + * + * This resource can be imported by Databricks account ID and Network Connectivity Config ID. + * + * ```sh + * $ pulumi import databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule rule / + * ``` + */ +export class MwsNccPrivateEndpointRule extends pulumi.CustomResource { + /** + * Get an existing MwsNccPrivateEndpointRule 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. + */ + public static get(name: string, id: pulumi.Input, state?: MwsNccPrivateEndpointRuleState, opts?: pulumi.CustomResourceOptions): MwsNccPrivateEndpointRule { + return new MwsNccPrivateEndpointRule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule'; + + /** + * Returns true if the given object is an instance of MwsNccPrivateEndpointRule. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is MwsNccPrivateEndpointRule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MwsNccPrivateEndpointRule.__pulumiType; + } + + /** + * The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + */ + public readonly connectionState!: pulumi.Output; + /** + * Time in epoch milliseconds when this object was created. + */ + public readonly creationTime!: pulumi.Output; + /** + * Whether this private endpoint is deactivated. + */ + public readonly deactivated!: pulumi.Output; + /** + * Time in epoch milliseconds when this object was deactivated. + */ + public readonly deactivatedAt!: pulumi.Output; + /** + * The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + */ + public readonly endpointName!: pulumi.Output; + /** + * The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + */ + public readonly groupId!: pulumi.Output; + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + */ + public readonly networkConnectivityConfigId!: pulumi.Output; + /** + * The Azure resource ID of the target resource. Change forces creation of a new resource. + */ + public readonly resourceId!: pulumi.Output; + /** + * the ID of a private endpoint rule. + */ + public readonly ruleId!: pulumi.Output; + /** + * Time in epoch milliseconds when this object was updated. + */ + public readonly updatedTime!: pulumi.Output; + + /** + * Create a MwsNccPrivateEndpointRule 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: MwsNccPrivateEndpointRuleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: MwsNccPrivateEndpointRuleArgs | MwsNccPrivateEndpointRuleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as MwsNccPrivateEndpointRuleState | undefined; + resourceInputs["connectionState"] = state ? state.connectionState : undefined; + resourceInputs["creationTime"] = state ? state.creationTime : undefined; + resourceInputs["deactivated"] = state ? state.deactivated : undefined; + resourceInputs["deactivatedAt"] = state ? state.deactivatedAt : undefined; + resourceInputs["endpointName"] = state ? state.endpointName : undefined; + resourceInputs["groupId"] = state ? state.groupId : undefined; + resourceInputs["networkConnectivityConfigId"] = state ? state.networkConnectivityConfigId : undefined; + resourceInputs["resourceId"] = state ? state.resourceId : undefined; + resourceInputs["ruleId"] = state ? state.ruleId : undefined; + resourceInputs["updatedTime"] = state ? state.updatedTime : undefined; + } else { + const args = argsOrState as MwsNccPrivateEndpointRuleArgs | undefined; + if ((!args || args.groupId === undefined) && !opts.urn) { + throw new Error("Missing required property 'groupId'"); + } + if ((!args || args.networkConnectivityConfigId === undefined) && !opts.urn) { + throw new Error("Missing required property 'networkConnectivityConfigId'"); + } + if ((!args || args.resourceId === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceId'"); + } + resourceInputs["connectionState"] = args ? args.connectionState : undefined; + resourceInputs["creationTime"] = args ? args.creationTime : undefined; + resourceInputs["deactivated"] = args ? args.deactivated : undefined; + resourceInputs["deactivatedAt"] = args ? args.deactivatedAt : undefined; + resourceInputs["endpointName"] = args ? args.endpointName : undefined; + resourceInputs["groupId"] = args ? args.groupId : undefined; + resourceInputs["networkConnectivityConfigId"] = args ? args.networkConnectivityConfigId : undefined; + resourceInputs["resourceId"] = args ? args.resourceId : undefined; + resourceInputs["ruleId"] = args ? args.ruleId : undefined; + resourceInputs["updatedTime"] = args ? args.updatedTime : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(MwsNccPrivateEndpointRule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering MwsNccPrivateEndpointRule resources. + */ +export interface MwsNccPrivateEndpointRuleState { + /** + * The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + */ + connectionState?: pulumi.Input; + /** + * Time in epoch milliseconds when this object was created. + */ + creationTime?: pulumi.Input; + /** + * Whether this private endpoint is deactivated. + */ + deactivated?: pulumi.Input; + /** + * Time in epoch milliseconds when this object was deactivated. + */ + deactivatedAt?: pulumi.Input; + /** + * The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + */ + endpointName?: pulumi.Input; + /** + * The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + */ + groupId?: pulumi.Input; + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + */ + networkConnectivityConfigId?: pulumi.Input; + /** + * The Azure resource ID of the target resource. Change forces creation of a new resource. + */ + resourceId?: pulumi.Input; + /** + * the ID of a private endpoint rule. + */ + ruleId?: pulumi.Input; + /** + * Time in epoch milliseconds when this object was updated. + */ + updatedTime?: pulumi.Input; +} + +/** + * The set of arguments for constructing a MwsNccPrivateEndpointRule resource. + */ +export interface MwsNccPrivateEndpointRuleArgs { + /** + * The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + * The possible values are: + */ + connectionState?: pulumi.Input; + /** + * Time in epoch milliseconds when this object was created. + */ + creationTime?: pulumi.Input; + /** + * Whether this private endpoint is deactivated. + */ + deactivated?: pulumi.Input; + /** + * Time in epoch milliseconds when this object was deactivated. + */ + deactivatedAt?: pulumi.Input; + /** + * The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + */ + endpointName?: pulumi.Input; + /** + * The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + */ + groupId: pulumi.Input; + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + */ + networkConnectivityConfigId: pulumi.Input; + /** + * The Azure resource ID of the target resource. Change forces creation of a new resource. + */ + resourceId: pulumi.Input; + /** + * the ID of a private endpoint rule. + */ + ruleId?: pulumi.Input; + /** + * Time in epoch milliseconds when this object was updated. + */ + updatedTime?: pulumi.Input; +} diff --git a/sdk/nodejs/mwsNetworkConnectivityConfig.ts b/sdk/nodejs/mwsNetworkConnectivityConfig.ts new file mode 100644 index 00000000..b708596f --- /dev/null +++ b/sdk/nodejs/mwsNetworkConnectivityConfig.ts @@ -0,0 +1,176 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + * + * > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. + * + * Allows you to create a [Network Connectivity Config] that can be used as part of a databricks.MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-firewall). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as databricks from "@pulumi/databricks"; + * + * const config = new pulumi.Config(); + * const region = config.requireObject("region"); + * const prefix = config.requireObject("prefix"); + * const ncc = new databricks.MwsNetworkConnectivityConfig("ncc", { + * name: `Network Connectivity Config for ${prefix}`, + * region: region, + * }); + * const nccBinding = new databricks.MwsNccBinding("ncc_binding", { + * networkConnectivityConfigId: ncc.networkConnectivityConfigId, + * workspaceId: databricksWorkspaceId, + * }); + * ``` + * + * ## Related Resources + * + * The following resources are used in the context: + * + * * databricks.MwsWorkspaces to set up Databricks workspaces. + * * databricks.MwsNccBinding to attach an NCC to a workspace. + * * databricks.MwsNccPrivateEndpointRule to create a private endpoint rule. + * + * ## Import + * + * This resource can be imported by Databricks account ID and Network Connectivity Config ID. + * + * ```sh + * $ pulumi import databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig ncc / + * ``` + */ +export class MwsNetworkConnectivityConfig extends pulumi.CustomResource { + /** + * Get an existing MwsNetworkConnectivityConfig 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. + */ + public static get(name: string, id: pulumi.Input, state?: MwsNetworkConnectivityConfigState, opts?: pulumi.CustomResourceOptions): MwsNetworkConnectivityConfig { + return new MwsNetworkConnectivityConfig(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig'; + + /** + * Returns true if the given object is an instance of MwsNetworkConnectivityConfig. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is MwsNetworkConnectivityConfig { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MwsNetworkConnectivityConfig.__pulumiType; + } + + public readonly accountId!: pulumi.Output; + public readonly creationTime!: pulumi.Output; + public readonly egressConfig!: pulumi.Output; + /** + * Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + */ + public readonly name!: pulumi.Output; + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account + */ + public readonly networkConnectivityConfigId!: pulumi.Output; + /** + * Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + */ + public readonly region!: pulumi.Output; + public readonly updatedTime!: pulumi.Output; + + /** + * Create a MwsNetworkConnectivityConfig 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: MwsNetworkConnectivityConfigArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: MwsNetworkConnectivityConfigArgs | MwsNetworkConnectivityConfigState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as MwsNetworkConnectivityConfigState | undefined; + resourceInputs["accountId"] = state ? state.accountId : undefined; + resourceInputs["creationTime"] = state ? state.creationTime : undefined; + resourceInputs["egressConfig"] = state ? state.egressConfig : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["networkConnectivityConfigId"] = state ? state.networkConnectivityConfigId : undefined; + resourceInputs["region"] = state ? state.region : undefined; + resourceInputs["updatedTime"] = state ? state.updatedTime : undefined; + } else { + const args = argsOrState as MwsNetworkConnectivityConfigArgs | undefined; + if ((!args || args.region === undefined) && !opts.urn) { + throw new Error("Missing required property 'region'"); + } + resourceInputs["accountId"] = args ? args.accountId : undefined; + resourceInputs["creationTime"] = args ? args.creationTime : undefined; + resourceInputs["egressConfig"] = args ? args.egressConfig : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["networkConnectivityConfigId"] = args ? args.networkConnectivityConfigId : undefined; + resourceInputs["region"] = args ? args.region : undefined; + resourceInputs["updatedTime"] = args ? args.updatedTime : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(MwsNetworkConnectivityConfig.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering MwsNetworkConnectivityConfig resources. + */ +export interface MwsNetworkConnectivityConfigState { + accountId?: pulumi.Input; + creationTime?: pulumi.Input; + egressConfig?: pulumi.Input; + /** + * Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + */ + name?: pulumi.Input; + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account + */ + networkConnectivityConfigId?: pulumi.Input; + /** + * Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + */ + region?: pulumi.Input; + updatedTime?: pulumi.Input; +} + +/** + * The set of arguments for constructing a MwsNetworkConnectivityConfig resource. + */ +export interface MwsNetworkConnectivityConfigArgs { + accountId?: pulumi.Input; + creationTime?: pulumi.Input; + egressConfig?: pulumi.Input; + /** + * Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + */ + name?: pulumi.Input; + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account + */ + networkConnectivityConfigId?: pulumi.Input; + /** + * Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + */ + region: pulumi.Input; + updatedTime?: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 21d7d445..859b867e 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -100,6 +100,9 @@ "mwsCredentials.ts", "mwsCustomerManagedKeys.ts", "mwsLogDelivery.ts", + "mwsNccBinding.ts", + "mwsNccPrivateEndpointRule.ts", + "mwsNetworkConnectivityConfig.ts", "mwsNetworks.ts", "mwsPermissionAssignment.ts", "mwsPrivateAccessSettings.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 9d3de3bc..350d5a5d 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -7155,6 +7155,49 @@ export interface MwsCustomerManagedKeysGcpKeyInfo { kmsKeyId: pulumi.Input; } +export interface MwsNetworkConnectivityConfigEgressConfig { + defaultRules?: pulumi.Input; + targetRules?: pulumi.Input; +} + +export interface MwsNetworkConnectivityConfigEgressConfigDefaultRules { + awsStableIpRule?: pulumi.Input; + /** + * This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + */ + azureServiceEndpointRule?: pulumi.Input; +} + +export interface MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule { + cidrBlocks?: pulumi.Input[]>; +} + +export interface MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule { + subnets?: pulumi.Input[]>; + targetRegion?: pulumi.Input; + targetServices?: pulumi.Input[]>; +} + +export interface MwsNetworkConnectivityConfigEgressConfigTargetRules { + azurePrivateEndpointRules?: pulumi.Input[]>; +} + +export interface MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule { + connectionState?: pulumi.Input; + creationTime?: pulumi.Input; + deactivated?: pulumi.Input; + deactivatedAt?: pulumi.Input; + endpointName?: pulumi.Input; + groupId?: pulumi.Input; + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account + */ + networkConnectivityConfigId?: pulumi.Input; + resourceId?: pulumi.Input; + ruleId?: pulumi.Input; + updatedTime?: pulumi.Input; +} + export interface MwsNetworksErrorMessage { errorMessage?: pulumi.Input; errorType?: pulumi.Input; diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 526cbbf4..a368c2a9 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -5126,6 +5126,49 @@ export interface MwsCustomerManagedKeysGcpKeyInfo { kmsKeyId: string; } +export interface MwsNetworkConnectivityConfigEgressConfig { + defaultRules?: outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRules; + targetRules?: outputs.MwsNetworkConnectivityConfigEgressConfigTargetRules; +} + +export interface MwsNetworkConnectivityConfigEgressConfigDefaultRules { + awsStableIpRule?: outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule; + /** + * This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + */ + azureServiceEndpointRule?: outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule; +} + +export interface MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule { + cidrBlocks?: string[]; +} + +export interface MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule { + subnets?: string[]; + targetRegion?: string; + targetServices?: string[]; +} + +export interface MwsNetworkConnectivityConfigEgressConfigTargetRules { + azurePrivateEndpointRules?: outputs.MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule[]; +} + +export interface MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule { + connectionState?: string; + creationTime?: number; + deactivated?: boolean; + deactivatedAt?: number; + endpointName?: string; + groupId?: string; + /** + * Canonical unique identifier of Network Connectivity Config in Databricks Account + */ + networkConnectivityConfigId?: string; + resourceId?: string; + ruleId?: string; + updatedTime?: number; +} + export interface MwsNetworksErrorMessage { errorMessage?: string; errorType?: string; diff --git a/sdk/python/pulumi_databricks/__init__.py b/sdk/python/pulumi_databricks/__init__.py index bce15f59..337825d3 100644 --- a/sdk/python/pulumi_databricks/__init__.py +++ b/sdk/python/pulumi_databricks/__init__.py @@ -89,6 +89,9 @@ from .mws_credentials import * from .mws_customer_managed_keys import * from .mws_log_delivery import * +from .mws_ncc_binding import * +from .mws_ncc_private_endpoint_rule import * +from .mws_network_connectivity_config import * from .mws_networks import * from .mws_permission_assignment import * from .mws_private_access_settings import * @@ -460,6 +463,30 @@ "databricks:index/mwsLogDelivery:MwsLogDelivery": "MwsLogDelivery" } }, + { + "pkg": "databricks", + "mod": "index/mwsNccBinding", + "fqn": "pulumi_databricks", + "classes": { + "databricks:index/mwsNccBinding:MwsNccBinding": "MwsNccBinding" + } + }, + { + "pkg": "databricks", + "mod": "index/mwsNccPrivateEndpointRule", + "fqn": "pulumi_databricks", + "classes": { + "databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule": "MwsNccPrivateEndpointRule" + } + }, + { + "pkg": "databricks", + "mod": "index/mwsNetworkConnectivityConfig", + "fqn": "pulumi_databricks", + "classes": { + "databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig": "MwsNetworkConnectivityConfig" + } + }, { "pkg": "databricks", "mod": "index/mwsNetworks", diff --git a/sdk/python/pulumi_databricks/_inputs.py b/sdk/python/pulumi_databricks/_inputs.py index d62c7826..4fc369d0 100644 --- a/sdk/python/pulumi_databricks/_inputs.py +++ b/sdk/python/pulumi_databricks/_inputs.py @@ -287,6 +287,12 @@ 'MountWasbArgs', 'MwsCustomerManagedKeysAwsKeyInfoArgs', 'MwsCustomerManagedKeysGcpKeyInfoArgs', + 'MwsNetworkConnectivityConfigEgressConfigArgs', + 'MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs', + 'MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs', + 'MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs', + 'MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs', + 'MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs', 'MwsNetworksErrorMessageArgs', 'MwsNetworksGcpNetworkInfoArgs', 'MwsNetworksVpcEndpointsArgs', @@ -15324,6 +15330,276 @@ def kms_key_id(self, value: pulumi.Input[str]): pulumi.set(self, "kms_key_id", value) +@pulumi.input_type +class MwsNetworkConnectivityConfigEgressConfigArgs: + def __init__(__self__, *, + default_rules: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs']] = None, + target_rules: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs']] = None): + if default_rules is not None: + pulumi.set(__self__, "default_rules", default_rules) + if target_rules is not None: + pulumi.set(__self__, "target_rules", target_rules) + + @property + @pulumi.getter(name="defaultRules") + def default_rules(self) -> Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs']]: + return pulumi.get(self, "default_rules") + + @default_rules.setter + def default_rules(self, value: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs']]): + pulumi.set(self, "default_rules", value) + + @property + @pulumi.getter(name="targetRules") + def target_rules(self) -> Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs']]: + return pulumi.get(self, "target_rules") + + @target_rules.setter + def target_rules(self, value: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs']]): + pulumi.set(self, "target_rules", value) + + +@pulumi.input_type +class MwsNetworkConnectivityConfigEgressConfigDefaultRulesArgs: + def __init__(__self__, *, + aws_stable_ip_rule: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs']] = None, + azure_service_endpoint_rule: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs']] = None): + """ + :param pulumi.Input['MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs'] azure_service_endpoint_rule: This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + """ + if aws_stable_ip_rule is not None: + pulumi.set(__self__, "aws_stable_ip_rule", aws_stable_ip_rule) + if azure_service_endpoint_rule is not None: + pulumi.set(__self__, "azure_service_endpoint_rule", azure_service_endpoint_rule) + + @property + @pulumi.getter(name="awsStableIpRule") + def aws_stable_ip_rule(self) -> Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs']]: + return pulumi.get(self, "aws_stable_ip_rule") + + @aws_stable_ip_rule.setter + def aws_stable_ip_rule(self, value: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs']]): + pulumi.set(self, "aws_stable_ip_rule", value) + + @property + @pulumi.getter(name="azureServiceEndpointRule") + def azure_service_endpoint_rule(self) -> Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs']]: + """ + This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + """ + return pulumi.get(self, "azure_service_endpoint_rule") + + @azure_service_endpoint_rule.setter + def azure_service_endpoint_rule(self, value: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs']]): + pulumi.set(self, "azure_service_endpoint_rule", value) + + +@pulumi.input_type +class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRuleArgs: + def __init__(__self__, *, + cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + if cidr_blocks is not None: + pulumi.set(__self__, "cidr_blocks", cidr_blocks) + + @property + @pulumi.getter(name="cidrBlocks") + def cidr_blocks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "cidr_blocks") + + @cidr_blocks.setter + def cidr_blocks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "cidr_blocks", value) + + +@pulumi.input_type +class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs: + def __init__(__self__, *, + subnets: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + target_region: Optional[pulumi.Input[str]] = None, + target_services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + if subnets is not None: + pulumi.set(__self__, "subnets", subnets) + if target_region is not None: + pulumi.set(__self__, "target_region", target_region) + if target_services is not None: + pulumi.set(__self__, "target_services", target_services) + + @property + @pulumi.getter + def subnets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "subnets") + + @subnets.setter + def subnets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "subnets", value) + + @property + @pulumi.getter(name="targetRegion") + def target_region(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "target_region") + + @target_region.setter + def target_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "target_region", value) + + @property + @pulumi.getter(name="targetServices") + def target_services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "target_services") + + @target_services.setter + def target_services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "target_services", value) + + +@pulumi.input_type +class MwsNetworkConnectivityConfigEgressConfigTargetRulesArgs: + def __init__(__self__, *, + azure_private_endpoint_rules: Optional[pulumi.Input[Sequence[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs']]]] = None): + if azure_private_endpoint_rules is not None: + pulumi.set(__self__, "azure_private_endpoint_rules", azure_private_endpoint_rules) + + @property + @pulumi.getter(name="azurePrivateEndpointRules") + def azure_private_endpoint_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs']]]]: + return pulumi.get(self, "azure_private_endpoint_rules") + + @azure_private_endpoint_rules.setter + def azure_private_endpoint_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs']]]]): + pulumi.set(self, "azure_private_endpoint_rules", value) + + +@pulumi.input_type +class MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRuleArgs: + def __init__(__self__, *, + connection_state: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + deactivated: Optional[pulumi.Input[bool]] = None, + deactivated_at: Optional[pulumi.Input[int]] = None, + endpoint_name: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + rule_id: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account + """ + if connection_state is not None: + pulumi.set(__self__, "connection_state", connection_state) + if creation_time is not None: + pulumi.set(__self__, "creation_time", creation_time) + if deactivated is not None: + pulumi.set(__self__, "deactivated", deactivated) + if deactivated_at is not None: + pulumi.set(__self__, "deactivated_at", deactivated_at) + if endpoint_name is not None: + pulumi.set(__self__, "endpoint_name", endpoint_name) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + if network_connectivity_config_id is not None: + pulumi.set(__self__, "network_connectivity_config_id", network_connectivity_config_id) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if rule_id is not None: + pulumi.set(__self__, "rule_id", rule_id) + if updated_time is not None: + pulumi.set(__self__, "updated_time", updated_time) + + @property + @pulumi.getter(name="connectionState") + def connection_state(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "connection_state") + + @connection_state.setter + def connection_state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connection_state", value) + + @property + @pulumi.getter(name="creationTime") + def creation_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "creation_time") + + @creation_time.setter + def creation_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "creation_time", value) + + @property + @pulumi.getter + def deactivated(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "deactivated") + + @deactivated.setter + def deactivated(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deactivated", value) + + @property + @pulumi.getter(name="deactivatedAt") + def deactivated_at(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "deactivated_at") + + @deactivated_at.setter + def deactivated_at(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "deactivated_at", value) + + @property + @pulumi.getter(name="endpointName") + def endpoint_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "endpoint_name") + + @endpoint_name.setter + def endpoint_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "endpoint_name", value) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "group_id") + + @group_id.setter + def group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_id", value) + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> Optional[pulumi.Input[str]]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account + """ + return pulumi.get(self, "network_connectivity_config_id") + + @network_connectivity_config_id.setter + def network_connectivity_config_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_connectivity_config_id", value) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_id", value) + + @property + @pulumi.getter(name="ruleId") + def rule_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "rule_id") + + @rule_id.setter + def rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rule_id", value) + + @property + @pulumi.getter(name="updatedTime") + def updated_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "updated_time") + + @updated_time.setter + def updated_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "updated_time", value) + + @pulumi.input_type class MwsNetworksErrorMessageArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_databricks/get_current_metastore.py b/sdk/python/pulumi_databricks/get_current_metastore.py index d1baf954..f6912bfd 100644 --- a/sdk/python/pulumi_databricks/get_current_metastore.py +++ b/sdk/python/pulumi_databricks/get_current_metastore.py @@ -35,7 +35,7 @@ def __init__(__self__, id=None, metastore_info=None): @pulumi.getter def id(self) -> str: """ - metastore ID. + metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace """ return pulumi.get(self, "id") @@ -90,7 +90,7 @@ def get_current_metastore(id: Optional[str] = None, * Catalog to manage catalogs within Unity Catalog. - :param str id: metastore ID. + :param str id: metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace :param pulumi.InputType['GetCurrentMetastoreMetastoreInfoArgs'] metastore_info: summary about a metastore attached to the current workspace returned by [Get a metastore summary API](https://docs.databricks.com/api/workspace/metastores/summary). This contains the following attributes (check the API page for up-to-date details): """ __args__ = dict() @@ -137,7 +137,7 @@ def get_current_metastore_output(id: Optional[pulumi.Input[Optional[str]]] = Non * Catalog to manage catalogs within Unity Catalog. - :param str id: metastore ID. + :param str id: metastore ID. Will be `no_metastore` if there is no metastore assigned for the current workspace :param pulumi.InputType['GetCurrentMetastoreMetastoreInfoArgs'] metastore_info: summary about a metastore attached to the current workspace returned by [Get a metastore summary API](https://docs.databricks.com/api/workspace/metastores/summary). This contains the following attributes (check the API page for up-to-date details): """ ... diff --git a/sdk/python/pulumi_databricks/mws_ncc_binding.py b/sdk/python/pulumi_databricks/mws_ncc_binding.py new file mode 100644 index 00000000..474bc41c --- /dev/null +++ b/sdk/python/pulumi_databricks/mws_ncc_binding.py @@ -0,0 +1,254 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['MwsNccBindingArgs', 'MwsNccBinding'] + +@pulumi.input_type +class MwsNccBindingArgs: + def __init__(__self__, *, + network_connectivity_config_id: pulumi.Input[str], + workspace_id: pulumi.Input[int]): + """ + The set of arguments for constructing a MwsNccBinding resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account. + :param pulumi.Input[int] workspace_id: Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + """ + pulumi.set(__self__, "network_connectivity_config_id", network_connectivity_config_id) + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> pulumi.Input[str]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account. + """ + return pulumi.get(self, "network_connectivity_config_id") + + @network_connectivity_config_id.setter + def network_connectivity_config_id(self, value: pulumi.Input[str]): + pulumi.set(self, "network_connectivity_config_id", value) + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> pulumi.Input[int]: + """ + Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + """ + return pulumi.get(self, "workspace_id") + + @workspace_id.setter + def workspace_id(self, value: pulumi.Input[int]): + pulumi.set(self, "workspace_id", value) + + +@pulumi.input_type +class _MwsNccBindingState: + def __init__(__self__, *, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering MwsNccBinding resources. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account. + :param pulumi.Input[int] workspace_id: Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + """ + if network_connectivity_config_id is not None: + pulumi.set(__self__, "network_connectivity_config_id", network_connectivity_config_id) + if workspace_id is not None: + pulumi.set(__self__, "workspace_id", workspace_id) + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> Optional[pulumi.Input[str]]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account. + """ + return pulumi.get(self, "network_connectivity_config_id") + + @network_connectivity_config_id.setter + def network_connectivity_config_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_connectivity_config_id", value) + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> Optional[pulumi.Input[int]]: + """ + Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + """ + return pulumi.get(self, "workspace_id") + + @workspace_id.setter + def workspace_id(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "workspace_id", value) + + +class MwsNccBinding(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + + > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. + + Allows you to attach a Network Connectivity Config object to a MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/sql/admin/serverless-firewall). + + The NCC and workspace must be in the same region. + + ## Example Usage + + ```python + import pulumi + import pulumi_databricks as databricks + + config = pulumi.Config() + region = config.require_object("region") + prefix = config.require_object("prefix") + ncc = databricks.MwsNetworkConnectivityConfig("ncc", + name=f"Network Connectivity Config for {prefix}", + region=region) + ncc_binding = databricks.MwsNccBinding("ncc_binding", + network_connectivity_config_id=ncc.network_connectivity_config_id, + workspace_id=databricks_workspace_id) + ``` + + ## Related Resources + + The following resources are used in the context: + + * MwsWorkspaces to set up Databricks workspaces. + * MwsNetworkConnectivityConfig to create Network Connectivity Config objects. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account. + :param pulumi.Input[int] workspace_id: Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MwsNccBindingArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + + > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. + + Allows you to attach a Network Connectivity Config object to a MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/sql/admin/serverless-firewall). + + The NCC and workspace must be in the same region. + + ## Example Usage + + ```python + import pulumi + import pulumi_databricks as databricks + + config = pulumi.Config() + region = config.require_object("region") + prefix = config.require_object("prefix") + ncc = databricks.MwsNetworkConnectivityConfig("ncc", + name=f"Network Connectivity Config for {prefix}", + region=region) + ncc_binding = databricks.MwsNccBinding("ncc_binding", + network_connectivity_config_id=ncc.network_connectivity_config_id, + workspace_id=databricks_workspace_id) + ``` + + ## Related Resources + + The following resources are used in the context: + + * MwsWorkspaces to set up Databricks workspaces. + * MwsNetworkConnectivityConfig to create Network Connectivity Config objects. + + :param str resource_name: The name of the resource. + :param MwsNccBindingArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(MwsNccBindingArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[int]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = MwsNccBindingArgs.__new__(MwsNccBindingArgs) + + if network_connectivity_config_id is None and not opts.urn: + raise TypeError("Missing required property 'network_connectivity_config_id'") + __props__.__dict__["network_connectivity_config_id"] = network_connectivity_config_id + if workspace_id is None and not opts.urn: + raise TypeError("Missing required property 'workspace_id'") + __props__.__dict__["workspace_id"] = workspace_id + super(MwsNccBinding, __self__).__init__( + 'databricks:index/mwsNccBinding:MwsNccBinding', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + workspace_id: Optional[pulumi.Input[int]] = None) -> 'MwsNccBinding': + """ + Get an existing MwsNccBinding resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account. + :param pulumi.Input[int] workspace_id: Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MwsNccBindingState.__new__(_MwsNccBindingState) + + __props__.__dict__["network_connectivity_config_id"] = network_connectivity_config_id + __props__.__dict__["workspace_id"] = workspace_id + return MwsNccBinding(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> pulumi.Output[str]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account. + """ + return pulumi.get(self, "network_connectivity_config_id") + + @property + @pulumi.getter(name="workspaceId") + def workspace_id(self) -> pulumi.Output[int]: + """ + Identifier of the workspace to attach the NCC to. Change forces creation of a new resource. + """ + return pulumi.get(self, "workspace_id") + diff --git a/sdk/python/pulumi_databricks/mws_ncc_private_endpoint_rule.py b/sdk/python/pulumi_databricks/mws_ncc_private_endpoint_rule.py new file mode 100644 index 00000000..802625e0 --- /dev/null +++ b/sdk/python/pulumi_databricks/mws_ncc_private_endpoint_rule.py @@ -0,0 +1,652 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['MwsNccPrivateEndpointRuleArgs', 'MwsNccPrivateEndpointRule'] + +@pulumi.input_type +class MwsNccPrivateEndpointRuleArgs: + def __init__(__self__, *, + group_id: pulumi.Input[str], + network_connectivity_config_id: pulumi.Input[str], + resource_id: pulumi.Input[str], + connection_state: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + deactivated: Optional[pulumi.Input[bool]] = None, + deactivated_at: Optional[pulumi.Input[int]] = None, + endpoint_name: Optional[pulumi.Input[str]] = None, + rule_id: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a MwsNccPrivateEndpointRule resource. + :param pulumi.Input[str] group_id: The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + :param pulumi.Input[str] resource_id: The Azure resource ID of the target resource. Change forces creation of a new resource. + :param pulumi.Input[str] connection_state: The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + The possible values are: + :param pulumi.Input[int] creation_time: Time in epoch milliseconds when this object was created. + :param pulumi.Input[bool] deactivated: Whether this private endpoint is deactivated. + :param pulumi.Input[int] deactivated_at: Time in epoch milliseconds when this object was deactivated. + :param pulumi.Input[str] endpoint_name: The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + :param pulumi.Input[str] rule_id: the ID of a private endpoint rule. + :param pulumi.Input[int] updated_time: Time in epoch milliseconds when this object was updated. + """ + pulumi.set(__self__, "group_id", group_id) + pulumi.set(__self__, "network_connectivity_config_id", network_connectivity_config_id) + pulumi.set(__self__, "resource_id", resource_id) + if connection_state is not None: + pulumi.set(__self__, "connection_state", connection_state) + if creation_time is not None: + pulumi.set(__self__, "creation_time", creation_time) + if deactivated is not None: + pulumi.set(__self__, "deactivated", deactivated) + if deactivated_at is not None: + pulumi.set(__self__, "deactivated_at", deactivated_at) + if endpoint_name is not None: + pulumi.set(__self__, "endpoint_name", endpoint_name) + if rule_id is not None: + pulumi.set(__self__, "rule_id", rule_id) + if updated_time is not None: + pulumi.set(__self__, "updated_time", updated_time) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Input[str]: + """ + The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + """ + return pulumi.get(self, "group_id") + + @group_id.setter + def group_id(self, value: pulumi.Input[str]): + pulumi.set(self, "group_id", value) + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> pulumi.Input[str]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + """ + return pulumi.get(self, "network_connectivity_config_id") + + @network_connectivity_config_id.setter + def network_connectivity_config_id(self, value: pulumi.Input[str]): + pulumi.set(self, "network_connectivity_config_id", value) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Input[str]: + """ + The Azure resource ID of the target resource. Change forces creation of a new resource. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_id", value) + + @property + @pulumi.getter(name="connectionState") + def connection_state(self) -> Optional[pulumi.Input[str]]: + """ + The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + The possible values are: + """ + return pulumi.get(self, "connection_state") + + @connection_state.setter + def connection_state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connection_state", value) + + @property + @pulumi.getter(name="creationTime") + def creation_time(self) -> Optional[pulumi.Input[int]]: + """ + Time in epoch milliseconds when this object was created. + """ + return pulumi.get(self, "creation_time") + + @creation_time.setter + def creation_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "creation_time", value) + + @property + @pulumi.getter + def deactivated(self) -> Optional[pulumi.Input[bool]]: + """ + Whether this private endpoint is deactivated. + """ + return pulumi.get(self, "deactivated") + + @deactivated.setter + def deactivated(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deactivated", value) + + @property + @pulumi.getter(name="deactivatedAt") + def deactivated_at(self) -> Optional[pulumi.Input[int]]: + """ + Time in epoch milliseconds when this object was deactivated. + """ + return pulumi.get(self, "deactivated_at") + + @deactivated_at.setter + def deactivated_at(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "deactivated_at", value) + + @property + @pulumi.getter(name="endpointName") + def endpoint_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + """ + return pulumi.get(self, "endpoint_name") + + @endpoint_name.setter + def endpoint_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "endpoint_name", value) + + @property + @pulumi.getter(name="ruleId") + def rule_id(self) -> Optional[pulumi.Input[str]]: + """ + the ID of a private endpoint rule. + """ + return pulumi.get(self, "rule_id") + + @rule_id.setter + def rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rule_id", value) + + @property + @pulumi.getter(name="updatedTime") + def updated_time(self) -> Optional[pulumi.Input[int]]: + """ + Time in epoch milliseconds when this object was updated. + """ + return pulumi.get(self, "updated_time") + + @updated_time.setter + def updated_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "updated_time", value) + + +@pulumi.input_type +class _MwsNccPrivateEndpointRuleState: + def __init__(__self__, *, + connection_state: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + deactivated: Optional[pulumi.Input[bool]] = None, + deactivated_at: Optional[pulumi.Input[int]] = None, + endpoint_name: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + rule_id: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering MwsNccPrivateEndpointRule resources. + :param pulumi.Input[str] connection_state: The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + The possible values are: + :param pulumi.Input[int] creation_time: Time in epoch milliseconds when this object was created. + :param pulumi.Input[bool] deactivated: Whether this private endpoint is deactivated. + :param pulumi.Input[int] deactivated_at: Time in epoch milliseconds when this object was deactivated. + :param pulumi.Input[str] endpoint_name: The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + :param pulumi.Input[str] group_id: The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + :param pulumi.Input[str] resource_id: The Azure resource ID of the target resource. Change forces creation of a new resource. + :param pulumi.Input[str] rule_id: the ID of a private endpoint rule. + :param pulumi.Input[int] updated_time: Time in epoch milliseconds when this object was updated. + """ + if connection_state is not None: + pulumi.set(__self__, "connection_state", connection_state) + if creation_time is not None: + pulumi.set(__self__, "creation_time", creation_time) + if deactivated is not None: + pulumi.set(__self__, "deactivated", deactivated) + if deactivated_at is not None: + pulumi.set(__self__, "deactivated_at", deactivated_at) + if endpoint_name is not None: + pulumi.set(__self__, "endpoint_name", endpoint_name) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + if network_connectivity_config_id is not None: + pulumi.set(__self__, "network_connectivity_config_id", network_connectivity_config_id) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if rule_id is not None: + pulumi.set(__self__, "rule_id", rule_id) + if updated_time is not None: + pulumi.set(__self__, "updated_time", updated_time) + + @property + @pulumi.getter(name="connectionState") + def connection_state(self) -> Optional[pulumi.Input[str]]: + """ + The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + The possible values are: + """ + return pulumi.get(self, "connection_state") + + @connection_state.setter + def connection_state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "connection_state", value) + + @property + @pulumi.getter(name="creationTime") + def creation_time(self) -> Optional[pulumi.Input[int]]: + """ + Time in epoch milliseconds when this object was created. + """ + return pulumi.get(self, "creation_time") + + @creation_time.setter + def creation_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "creation_time", value) + + @property + @pulumi.getter + def deactivated(self) -> Optional[pulumi.Input[bool]]: + """ + Whether this private endpoint is deactivated. + """ + return pulumi.get(self, "deactivated") + + @deactivated.setter + def deactivated(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deactivated", value) + + @property + @pulumi.getter(name="deactivatedAt") + def deactivated_at(self) -> Optional[pulumi.Input[int]]: + """ + Time in epoch milliseconds when this object was deactivated. + """ + return pulumi.get(self, "deactivated_at") + + @deactivated_at.setter + def deactivated_at(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "deactivated_at", value) + + @property + @pulumi.getter(name="endpointName") + def endpoint_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + """ + return pulumi.get(self, "endpoint_name") + + @endpoint_name.setter + def endpoint_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "endpoint_name", value) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[pulumi.Input[str]]: + """ + The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + """ + return pulumi.get(self, "group_id") + + @group_id.setter + def group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_id", value) + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> Optional[pulumi.Input[str]]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + """ + return pulumi.get(self, "network_connectivity_config_id") + + @network_connectivity_config_id.setter + def network_connectivity_config_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_connectivity_config_id", value) + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[str]]: + """ + The Azure resource ID of the target resource. Change forces creation of a new resource. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_id", value) + + @property + @pulumi.getter(name="ruleId") + def rule_id(self) -> Optional[pulumi.Input[str]]: + """ + the ID of a private endpoint rule. + """ + return pulumi.get(self, "rule_id") + + @rule_id.setter + def rule_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rule_id", value) + + @property + @pulumi.getter(name="updatedTime") + def updated_time(self) -> Optional[pulumi.Input[int]]: + """ + Time in epoch milliseconds when this object was updated. + """ + return pulumi.get(self, "updated_time") + + @updated_time.setter + def updated_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "updated_time", value) + + +class MwsNccPrivateEndpointRule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + connection_state: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + deactivated: Optional[pulumi.Input[bool]] = None, + deactivated_at: Optional[pulumi.Input[int]] = None, + endpoint_name: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + rule_id: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + + > **Note** This feature is only available in Azure. + + Allows you to create a private endpoint in a Network Connectivity Config that can be used to [configure private connectivity from serverless compute](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-private-link). + + ## Example Usage + + ```python + import pulumi + import pulumi_databricks as databricks + + config = pulumi.Config() + region = config.require_object("region") + prefix = config.require_object("prefix") + ncc = databricks.MwsNetworkConnectivityConfig("ncc", + name=f"Network Connectivity Config for {prefix}", + region=region) + storage = databricks.MwsNccPrivateEndpointRule("storage", + network_connectivity_config_id=ncc.network_connectivity_config_id, + resource_id="/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa", + group_id="blob") + ``` + + ## Related Resources + + The following resources are used in the context: + + * MwsNetworkConnectivityConfig to create Network Connectivity Config objects. + * MwsNccBinding to attach an NCC to a workspace. + + ## Import + + This resource can be imported by Databricks account ID and Network Connectivity Config ID. + + ```sh + $ pulumi import databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule rule / + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] connection_state: The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + The possible values are: + :param pulumi.Input[int] creation_time: Time in epoch milliseconds when this object was created. + :param pulumi.Input[bool] deactivated: Whether this private endpoint is deactivated. + :param pulumi.Input[int] deactivated_at: Time in epoch milliseconds when this object was deactivated. + :param pulumi.Input[str] endpoint_name: The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + :param pulumi.Input[str] group_id: The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + :param pulumi.Input[str] resource_id: The Azure resource ID of the target resource. Change forces creation of a new resource. + :param pulumi.Input[str] rule_id: the ID of a private endpoint rule. + :param pulumi.Input[int] updated_time: Time in epoch milliseconds when this object was updated. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MwsNccPrivateEndpointRuleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + + > **Note** This feature is only available in Azure. + + Allows you to create a private endpoint in a Network Connectivity Config that can be used to [configure private connectivity from serverless compute](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-private-link). + + ## Example Usage + + ```python + import pulumi + import pulumi_databricks as databricks + + config = pulumi.Config() + region = config.require_object("region") + prefix = config.require_object("prefix") + ncc = databricks.MwsNetworkConnectivityConfig("ncc", + name=f"Network Connectivity Config for {prefix}", + region=region) + storage = databricks.MwsNccPrivateEndpointRule("storage", + network_connectivity_config_id=ncc.network_connectivity_config_id, + resource_id="/subscriptions/653bb673-1234-abcd-a90b-d064d5d53ca4/resourcegroups/example-resource-group/providers/Microsoft.Storage/storageAccounts/examplesa", + group_id="blob") + ``` + + ## Related Resources + + The following resources are used in the context: + + * MwsNetworkConnectivityConfig to create Network Connectivity Config objects. + * MwsNccBinding to attach an NCC to a workspace. + + ## Import + + This resource can be imported by Databricks account ID and Network Connectivity Config ID. + + ```sh + $ pulumi import databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule rule / + ``` + + :param str resource_name: The name of the resource. + :param MwsNccPrivateEndpointRuleArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(MwsNccPrivateEndpointRuleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + connection_state: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + deactivated: Optional[pulumi.Input[bool]] = None, + deactivated_at: Optional[pulumi.Input[int]] = None, + endpoint_name: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + rule_id: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = MwsNccPrivateEndpointRuleArgs.__new__(MwsNccPrivateEndpointRuleArgs) + + __props__.__dict__["connection_state"] = connection_state + __props__.__dict__["creation_time"] = creation_time + __props__.__dict__["deactivated"] = deactivated + __props__.__dict__["deactivated_at"] = deactivated_at + __props__.__dict__["endpoint_name"] = endpoint_name + if group_id is None and not opts.urn: + raise TypeError("Missing required property 'group_id'") + __props__.__dict__["group_id"] = group_id + if network_connectivity_config_id is None and not opts.urn: + raise TypeError("Missing required property 'network_connectivity_config_id'") + __props__.__dict__["network_connectivity_config_id"] = network_connectivity_config_id + if resource_id is None and not opts.urn: + raise TypeError("Missing required property 'resource_id'") + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["rule_id"] = rule_id + __props__.__dict__["updated_time"] = updated_time + super(MwsNccPrivateEndpointRule, __self__).__init__( + 'databricks:index/mwsNccPrivateEndpointRule:MwsNccPrivateEndpointRule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + connection_state: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + deactivated: Optional[pulumi.Input[bool]] = None, + deactivated_at: Optional[pulumi.Input[int]] = None, + endpoint_name: Optional[pulumi.Input[str]] = None, + group_id: Optional[pulumi.Input[str]] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + resource_id: Optional[pulumi.Input[str]] = None, + rule_id: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None) -> 'MwsNccPrivateEndpointRule': + """ + Get an existing MwsNccPrivateEndpointRule resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] connection_state: The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + The possible values are: + :param pulumi.Input[int] creation_time: Time in epoch milliseconds when this object was created. + :param pulumi.Input[bool] deactivated: Whether this private endpoint is deactivated. + :param pulumi.Input[int] deactivated_at: Time in epoch milliseconds when this object was deactivated. + :param pulumi.Input[str] endpoint_name: The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + :param pulumi.Input[str] group_id: The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + :param pulumi.Input[str] resource_id: The Azure resource ID of the target resource. Change forces creation of a new resource. + :param pulumi.Input[str] rule_id: the ID of a private endpoint rule. + :param pulumi.Input[int] updated_time: Time in epoch milliseconds when this object was updated. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MwsNccPrivateEndpointRuleState.__new__(_MwsNccPrivateEndpointRuleState) + + __props__.__dict__["connection_state"] = connection_state + __props__.__dict__["creation_time"] = creation_time + __props__.__dict__["deactivated"] = deactivated + __props__.__dict__["deactivated_at"] = deactivated_at + __props__.__dict__["endpoint_name"] = endpoint_name + __props__.__dict__["group_id"] = group_id + __props__.__dict__["network_connectivity_config_id"] = network_connectivity_config_id + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["rule_id"] = rule_id + __props__.__dict__["updated_time"] = updated_time + return MwsNccPrivateEndpointRule(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="connectionState") + def connection_state(self) -> pulumi.Output[str]: + """ + The current status of this private endpoint. The private endpoint rules are effective only if the connection state is ESTABLISHED. Remember that you must approve new endpoints on your resources in the Azure portal before they take effect. + The possible values are: + """ + return pulumi.get(self, "connection_state") + + @property + @pulumi.getter(name="creationTime") + def creation_time(self) -> pulumi.Output[int]: + """ + Time in epoch milliseconds when this object was created. + """ + return pulumi.get(self, "creation_time") + + @property + @pulumi.getter + def deactivated(self) -> pulumi.Output[Optional[bool]]: + """ + Whether this private endpoint is deactivated. + """ + return pulumi.get(self, "deactivated") + + @property + @pulumi.getter(name="deactivatedAt") + def deactivated_at(self) -> pulumi.Output[Optional[int]]: + """ + Time in epoch milliseconds when this object was deactivated. + """ + return pulumi.get(self, "deactivated_at") + + @property + @pulumi.getter(name="endpointName") + def endpoint_name(self) -> pulumi.Output[str]: + """ + The name of the Azure private endpoint resource, e.g. "databricks-088781b3-77fa-4132-b429-1af0d91bc593-pe-3cb31234" + """ + return pulumi.get(self, "endpoint_name") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Output[str]: + """ + The sub-resource type (group ID) of the target resource. Must be one of `blob`, `dfs`, `sqlServer` or `mysqlServer`. Note that to connect to workspace root storage (root DBFS), you need two endpoints, one for blob and one for dfs. Change forces creation of a new resource. + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> pulumi.Output[str]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + """ + return pulumi.get(self, "network_connectivity_config_id") + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Output[str]: + """ + The Azure resource ID of the target resource. Change forces creation of a new resource. + """ + return pulumi.get(self, "resource_id") + + @property + @pulumi.getter(name="ruleId") + def rule_id(self) -> pulumi.Output[str]: + """ + the ID of a private endpoint rule. + """ + return pulumi.get(self, "rule_id") + + @property + @pulumi.getter(name="updatedTime") + def updated_time(self) -> pulumi.Output[int]: + """ + Time in epoch milliseconds when this object was updated. + """ + return pulumi.get(self, "updated_time") + diff --git a/sdk/python/pulumi_databricks/mws_network_connectivity_config.py b/sdk/python/pulumi_databricks/mws_network_connectivity_config.py new file mode 100644 index 00000000..c8021b51 --- /dev/null +++ b/sdk/python/pulumi_databricks/mws_network_connectivity_config.py @@ -0,0 +1,452 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['MwsNetworkConnectivityConfigArgs', 'MwsNetworkConnectivityConfig'] + +@pulumi.input_type +class MwsNetworkConnectivityConfigArgs: + def __init__(__self__, *, + region: pulumi.Input[str], + account_id: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + egress_config: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None): + """ + The set of arguments for constructing a MwsNetworkConnectivityConfig resource. + :param pulumi.Input[str] region: Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + :param pulumi.Input[str] name: Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account + """ + pulumi.set(__self__, "region", region) + if account_id is not None: + pulumi.set(__self__, "account_id", account_id) + if creation_time is not None: + pulumi.set(__self__, "creation_time", creation_time) + if egress_config is not None: + pulumi.set(__self__, "egress_config", egress_config) + if name is not None: + pulumi.set(__self__, "name", name) + if network_connectivity_config_id is not None: + pulumi.set(__self__, "network_connectivity_config_id", network_connectivity_config_id) + if updated_time is not None: + pulumi.set(__self__, "updated_time", updated_time) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + """ + Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "account_id", value) + + @property + @pulumi.getter(name="creationTime") + def creation_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "creation_time") + + @creation_time.setter + def creation_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "creation_time", value) + + @property + @pulumi.getter(name="egressConfig") + def egress_config(self) -> Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigArgs']]: + return pulumi.get(self, "egress_config") + + @egress_config.setter + def egress_config(self, value: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigArgs']]): + pulumi.set(self, "egress_config", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> Optional[pulumi.Input[str]]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account + """ + return pulumi.get(self, "network_connectivity_config_id") + + @network_connectivity_config_id.setter + def network_connectivity_config_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_connectivity_config_id", value) + + @property + @pulumi.getter(name="updatedTime") + def updated_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "updated_time") + + @updated_time.setter + def updated_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "updated_time", value) + + +@pulumi.input_type +class _MwsNetworkConnectivityConfigState: + def __init__(__self__, *, + account_id: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + egress_config: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None): + """ + Input properties used for looking up and filtering MwsNetworkConnectivityConfig resources. + :param pulumi.Input[str] name: Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account + :param pulumi.Input[str] region: Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + """ + if account_id is not None: + pulumi.set(__self__, "account_id", account_id) + if creation_time is not None: + pulumi.set(__self__, "creation_time", creation_time) + if egress_config is not None: + pulumi.set(__self__, "egress_config", egress_config) + if name is not None: + pulumi.set(__self__, "name", name) + if network_connectivity_config_id is not None: + pulumi.set(__self__, "network_connectivity_config_id", network_connectivity_config_id) + if region is not None: + pulumi.set(__self__, "region", region) + if updated_time is not None: + pulumi.set(__self__, "updated_time", updated_time) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "account_id", value) + + @property + @pulumi.getter(name="creationTime") + def creation_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "creation_time") + + @creation_time.setter + def creation_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "creation_time", value) + + @property + @pulumi.getter(name="egressConfig") + def egress_config(self) -> Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigArgs']]: + return pulumi.get(self, "egress_config") + + @egress_config.setter + def egress_config(self, value: Optional[pulumi.Input['MwsNetworkConnectivityConfigEgressConfigArgs']]): + pulumi.set(self, "egress_config", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> Optional[pulumi.Input[str]]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account + """ + return pulumi.get(self, "network_connectivity_config_id") + + @network_connectivity_config_id.setter + def network_connectivity_config_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_connectivity_config_id", value) + + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter(name="updatedTime") + def updated_time(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "updated_time") + + @updated_time.setter + def updated_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "updated_time", value) + + +class MwsNetworkConnectivityConfig(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + egress_config: Optional[pulumi.Input[pulumi.InputType['MwsNetworkConnectivityConfigEgressConfigArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None, + __props__=None): + """ + > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + + > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. + + Allows you to create a [Network Connectivity Config] that can be used as part of a MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-firewall). + + ## Example Usage + + ```python + import pulumi + import pulumi_databricks as databricks + + config = pulumi.Config() + region = config.require_object("region") + prefix = config.require_object("prefix") + ncc = databricks.MwsNetworkConnectivityConfig("ncc", + name=f"Network Connectivity Config for {prefix}", + region=region) + ncc_binding = databricks.MwsNccBinding("ncc_binding", + network_connectivity_config_id=ncc.network_connectivity_config_id, + workspace_id=databricks_workspace_id) + ``` + + ## Related Resources + + The following resources are used in the context: + + * MwsWorkspaces to set up Databricks workspaces. + * MwsNccBinding to attach an NCC to a workspace. + * MwsNccPrivateEndpointRule to create a private endpoint rule. + + ## Import + + This resource can be imported by Databricks account ID and Network Connectivity Config ID. + + ```sh + $ pulumi import databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig ncc / + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account + :param pulumi.Input[str] region: Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: MwsNetworkConnectivityConfigArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + > **Note** Initialize provider with `alias = "account"`, `host = "https://accounts.azuredatabricks.net"` and use `provider = databricks.account` for all `databricks_mws_*` resources. + + > **Public Preview** This feature is available for AWS & Azure only, and is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html) in AWS. + + Allows you to create a [Network Connectivity Config] that can be used as part of a MwsWorkspaces resource to create a [Databricks Workspace that leverages serverless network connectivity configs](https://learn.microsoft.com/en-us/azure/databricks/security/network/serverless-network-security/serverless-firewall). + + ## Example Usage + + ```python + import pulumi + import pulumi_databricks as databricks + + config = pulumi.Config() + region = config.require_object("region") + prefix = config.require_object("prefix") + ncc = databricks.MwsNetworkConnectivityConfig("ncc", + name=f"Network Connectivity Config for {prefix}", + region=region) + ncc_binding = databricks.MwsNccBinding("ncc_binding", + network_connectivity_config_id=ncc.network_connectivity_config_id, + workspace_id=databricks_workspace_id) + ``` + + ## Related Resources + + The following resources are used in the context: + + * MwsWorkspaces to set up Databricks workspaces. + * MwsNccBinding to attach an NCC to a workspace. + * MwsNccPrivateEndpointRule to create a private endpoint rule. + + ## Import + + This resource can be imported by Databricks account ID and Network Connectivity Config ID. + + ```sh + $ pulumi import databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig ncc / + ``` + + :param str resource_name: The name of the resource. + :param MwsNetworkConnectivityConfigArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(MwsNetworkConnectivityConfigArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + egress_config: Optional[pulumi.Input[pulumi.InputType['MwsNetworkConnectivityConfigEgressConfigArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = MwsNetworkConnectivityConfigArgs.__new__(MwsNetworkConnectivityConfigArgs) + + __props__.__dict__["account_id"] = account_id + __props__.__dict__["creation_time"] = creation_time + __props__.__dict__["egress_config"] = egress_config + __props__.__dict__["name"] = name + __props__.__dict__["network_connectivity_config_id"] = network_connectivity_config_id + if region is None and not opts.urn: + raise TypeError("Missing required property 'region'") + __props__.__dict__["region"] = region + __props__.__dict__["updated_time"] = updated_time + super(MwsNetworkConnectivityConfig, __self__).__init__( + 'databricks:index/mwsNetworkConnectivityConfig:MwsNetworkConnectivityConfig', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + creation_time: Optional[pulumi.Input[int]] = None, + egress_config: Optional[pulumi.Input[pulumi.InputType['MwsNetworkConnectivityConfigEgressConfigArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + network_connectivity_config_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + updated_time: Optional[pulumi.Input[int]] = None) -> 'MwsNetworkConnectivityConfig': + """ + Get an existing MwsNetworkConnectivityConfig resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + :param pulumi.Input[str] network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account + :param pulumi.Input[str] region: Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _MwsNetworkConnectivityConfigState.__new__(_MwsNetworkConnectivityConfigState) + + __props__.__dict__["account_id"] = account_id + __props__.__dict__["creation_time"] = creation_time + __props__.__dict__["egress_config"] = egress_config + __props__.__dict__["name"] = name + __props__.__dict__["network_connectivity_config_id"] = network_connectivity_config_id + __props__.__dict__["region"] = region + __props__.__dict__["updated_time"] = updated_time + return MwsNetworkConnectivityConfig(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "account_id") + + @property + @pulumi.getter(name="creationTime") + def creation_time(self) -> pulumi.Output[int]: + return pulumi.get(self, "creation_time") + + @property + @pulumi.getter(name="egressConfig") + def egress_config(self) -> pulumi.Output['outputs.MwsNetworkConnectivityConfigEgressConfig']: + return pulumi.get(self, "egress_config") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of Network Connectivity Config in Databricks Account. Change forces creation of a new resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> pulumi.Output[str]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account + """ + return pulumi.get(self, "network_connectivity_config_id") + + @property + @pulumi.getter + def region(self) -> pulumi.Output[str]: + """ + Region of the Network Connectivity Config. NCCs can only be referenced by your workspaces in the same region. Change forces creation of a new resource. + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="updatedTime") + def updated_time(self) -> pulumi.Output[int]: + return pulumi.get(self, "updated_time") + diff --git a/sdk/python/pulumi_databricks/outputs.py b/sdk/python/pulumi_databricks/outputs.py index c8bf7f57..a3ba9735 100644 --- a/sdk/python/pulumi_databricks/outputs.py +++ b/sdk/python/pulumi_databricks/outputs.py @@ -288,6 +288,12 @@ 'MountWasb', 'MwsCustomerManagedKeysAwsKeyInfo', 'MwsCustomerManagedKeysGcpKeyInfo', + 'MwsNetworkConnectivityConfigEgressConfig', + 'MwsNetworkConnectivityConfigEgressConfigDefaultRules', + 'MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule', + 'MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule', + 'MwsNetworkConnectivityConfigEgressConfigTargetRules', + 'MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule', 'MwsNetworksErrorMessage', 'MwsNetworksGcpNetworkInfo', 'MwsNetworksVpcEndpoints', @@ -14996,6 +15002,324 @@ def kms_key_id(self) -> str: return pulumi.get(self, "kms_key_id") +@pulumi.output_type +class MwsNetworkConnectivityConfigEgressConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultRules": + suggest = "default_rules" + elif key == "targetRules": + suggest = "target_rules" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MwsNetworkConnectivityConfigEgressConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MwsNetworkConnectivityConfigEgressConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MwsNetworkConnectivityConfigEgressConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_rules: Optional['outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRules'] = None, + target_rules: Optional['outputs.MwsNetworkConnectivityConfigEgressConfigTargetRules'] = None): + if default_rules is not None: + pulumi.set(__self__, "default_rules", default_rules) + if target_rules is not None: + pulumi.set(__self__, "target_rules", target_rules) + + @property + @pulumi.getter(name="defaultRules") + def default_rules(self) -> Optional['outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRules']: + return pulumi.get(self, "default_rules") + + @property + @pulumi.getter(name="targetRules") + def target_rules(self) -> Optional['outputs.MwsNetworkConnectivityConfigEgressConfigTargetRules']: + return pulumi.get(self, "target_rules") + + +@pulumi.output_type +class MwsNetworkConnectivityConfigEgressConfigDefaultRules(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "awsStableIpRule": + suggest = "aws_stable_ip_rule" + elif key == "azureServiceEndpointRule": + suggest = "azure_service_endpoint_rule" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MwsNetworkConnectivityConfigEgressConfigDefaultRules. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MwsNetworkConnectivityConfigEgressConfigDefaultRules.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MwsNetworkConnectivityConfigEgressConfigDefaultRules.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aws_stable_ip_rule: Optional['outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule'] = None, + azure_service_endpoint_rule: Optional['outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule'] = None): + """ + :param 'MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRuleArgs' azure_service_endpoint_rule: This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + """ + if aws_stable_ip_rule is not None: + pulumi.set(__self__, "aws_stable_ip_rule", aws_stable_ip_rule) + if azure_service_endpoint_rule is not None: + pulumi.set(__self__, "azure_service_endpoint_rule", azure_service_endpoint_rule) + + @property + @pulumi.getter(name="awsStableIpRule") + def aws_stable_ip_rule(self) -> Optional['outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule']: + return pulumi.get(self, "aws_stable_ip_rule") + + @property + @pulumi.getter(name="azureServiceEndpointRule") + def azure_service_endpoint_rule(self) -> Optional['outputs.MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule']: + """ + This provides a list of subnets. These subnets need to be allowed in your Azure resources in order for Databricks to access. See `default_rules.azure_service_endpoint_rule.target_services` for the supported Azure services. + """ + return pulumi.get(self, "azure_service_endpoint_rule") + + +@pulumi.output_type +class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cidrBlocks": + suggest = "cidr_blocks" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MwsNetworkConnectivityConfigEgressConfigDefaultRulesAwsStableIpRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cidr_blocks: Optional[Sequence[str]] = None): + if cidr_blocks is not None: + pulumi.set(__self__, "cidr_blocks", cidr_blocks) + + @property + @pulumi.getter(name="cidrBlocks") + def cidr_blocks(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "cidr_blocks") + + +@pulumi.output_type +class MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "targetRegion": + suggest = "target_region" + elif key == "targetServices": + suggest = "target_services" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MwsNetworkConnectivityConfigEgressConfigDefaultRulesAzureServiceEndpointRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + subnets: Optional[Sequence[str]] = None, + target_region: Optional[str] = None, + target_services: Optional[Sequence[str]] = None): + if subnets is not None: + pulumi.set(__self__, "subnets", subnets) + if target_region is not None: + pulumi.set(__self__, "target_region", target_region) + if target_services is not None: + pulumi.set(__self__, "target_services", target_services) + + @property + @pulumi.getter + def subnets(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "subnets") + + @property + @pulumi.getter(name="targetRegion") + def target_region(self) -> Optional[str]: + return pulumi.get(self, "target_region") + + @property + @pulumi.getter(name="targetServices") + def target_services(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "target_services") + + +@pulumi.output_type +class MwsNetworkConnectivityConfigEgressConfigTargetRules(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "azurePrivateEndpointRules": + suggest = "azure_private_endpoint_rules" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MwsNetworkConnectivityConfigEgressConfigTargetRules. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MwsNetworkConnectivityConfigEgressConfigTargetRules.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MwsNetworkConnectivityConfigEgressConfigTargetRules.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + azure_private_endpoint_rules: Optional[Sequence['outputs.MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule']] = None): + if azure_private_endpoint_rules is not None: + pulumi.set(__self__, "azure_private_endpoint_rules", azure_private_endpoint_rules) + + @property + @pulumi.getter(name="azurePrivateEndpointRules") + def azure_private_endpoint_rules(self) -> Optional[Sequence['outputs.MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule']]: + return pulumi.get(self, "azure_private_endpoint_rules") + + +@pulumi.output_type +class MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "connectionState": + suggest = "connection_state" + elif key == "creationTime": + suggest = "creation_time" + elif key == "deactivatedAt": + suggest = "deactivated_at" + elif key == "endpointName": + suggest = "endpoint_name" + elif key == "groupId": + suggest = "group_id" + elif key == "networkConnectivityConfigId": + suggest = "network_connectivity_config_id" + elif key == "resourceId": + suggest = "resource_id" + elif key == "ruleId": + suggest = "rule_id" + elif key == "updatedTime": + suggest = "updated_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MwsNetworkConnectivityConfigEgressConfigTargetRulesAzurePrivateEndpointRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + connection_state: Optional[str] = None, + creation_time: Optional[int] = None, + deactivated: Optional[bool] = None, + deactivated_at: Optional[int] = None, + endpoint_name: Optional[str] = None, + group_id: Optional[str] = None, + network_connectivity_config_id: Optional[str] = None, + resource_id: Optional[str] = None, + rule_id: Optional[str] = None, + updated_time: Optional[int] = None): + """ + :param str network_connectivity_config_id: Canonical unique identifier of Network Connectivity Config in Databricks Account + """ + if connection_state is not None: + pulumi.set(__self__, "connection_state", connection_state) + if creation_time is not None: + pulumi.set(__self__, "creation_time", creation_time) + if deactivated is not None: + pulumi.set(__self__, "deactivated", deactivated) + if deactivated_at is not None: + pulumi.set(__self__, "deactivated_at", deactivated_at) + if endpoint_name is not None: + pulumi.set(__self__, "endpoint_name", endpoint_name) + if group_id is not None: + pulumi.set(__self__, "group_id", group_id) + if network_connectivity_config_id is not None: + pulumi.set(__self__, "network_connectivity_config_id", network_connectivity_config_id) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if rule_id is not None: + pulumi.set(__self__, "rule_id", rule_id) + if updated_time is not None: + pulumi.set(__self__, "updated_time", updated_time) + + @property + @pulumi.getter(name="connectionState") + def connection_state(self) -> Optional[str]: + return pulumi.get(self, "connection_state") + + @property + @pulumi.getter(name="creationTime") + def creation_time(self) -> Optional[int]: + return pulumi.get(self, "creation_time") + + @property + @pulumi.getter + def deactivated(self) -> Optional[bool]: + return pulumi.get(self, "deactivated") + + @property + @pulumi.getter(name="deactivatedAt") + def deactivated_at(self) -> Optional[int]: + return pulumi.get(self, "deactivated_at") + + @property + @pulumi.getter(name="endpointName") + def endpoint_name(self) -> Optional[str]: + return pulumi.get(self, "endpoint_name") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[str]: + return pulumi.get(self, "group_id") + + @property + @pulumi.getter(name="networkConnectivityConfigId") + def network_connectivity_config_id(self) -> Optional[str]: + """ + Canonical unique identifier of Network Connectivity Config in Databricks Account + """ + return pulumi.get(self, "network_connectivity_config_id") + + @property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[str]: + return pulumi.get(self, "resource_id") + + @property + @pulumi.getter(name="ruleId") + def rule_id(self) -> Optional[str]: + return pulumi.get(self, "rule_id") + + @property + @pulumi.getter(name="updatedTime") + def updated_time(self) -> Optional[int]: + return pulumi.get(self, "updated_time") + + @pulumi.output_type class MwsNetworksErrorMessage(dict): @staticmethod