From 11f5cf5c6127f707daed1f1fda68b2a76692ec84 Mon Sep 17 00:00:00 2001 From: Pulumi Bot <30351955+pulumi-bot@users.noreply.github.com> Date: Wed, 29 Jan 2025 10:21:07 -0700 Subject: [PATCH] Upgrade terraform-provider-databricks to v1.64.1 (#718) This PR was generated via `$ upgrade-provider pulumi/pulumi-databricks --kind=all --target-version=1.64.1`. --- - Upgrading terraform-provider-databricks from 1.63.0 to 1.64.1. Fixes #717 Fixes #713 --- ...perty-on-guardrails-to-avoid-name-cl.patch | 26 +-- .../pulumi-resource-databricks/schema.json | 100 +++++---- provider/go.mod | 5 +- provider/go.sum | 8 +- sdk/dotnet/App.cs | 9 + sdk/dotnet/GetMwsWorkspaces.cs | 53 +---- ...pointAiGatewayGuardrailInputPropertyPii.cs | 4 +- ...tAiGatewayGuardrailInputPropertyPiiArgs.cs | 4 +- ...intsEndpointAiGatewayGuardrailOutputPii.cs | 4 +- ...EndpointAiGatewayGuardrailOutputPiiArgs.cs | 4 +- ...yExternalModelGoogleCloudVertexAiConfig.cs | 8 +- ...ernalModelGoogleCloudVertexAiConfigArgs.cs | 8 +- .../JobTaskForEachTaskTaskSparkJarTaskArgs.cs | 3 + ...bTaskForEachTaskTaskSparkJarTaskGetArgs.cs | 3 + sdk/dotnet/Inputs/JobTaskSparkJarTaskArgs.cs | 3 + .../Inputs/JobTaskSparkJarTaskGetArgs.cs | 3 + ...lServingAiGatewayGuardrailsInputPiiArgs.cs | 4 +- ...rvingAiGatewayGuardrailsInputPiiGetArgs.cs | 4 +- ...ServingAiGatewayGuardrailsOutputPiiArgs.cs | 4 +- ...vingAiGatewayGuardrailsOutputPiiGetArgs.cs | 4 +- ...ernalModelGoogleCloudVertexAiConfigArgs.cs | 8 +- ...alModelGoogleCloudVertexAiConfigGetArgs.cs | 8 +- sdk/dotnet/InstanceProfile.cs | 4 +- sdk/dotnet/ModelServing.cs | 14 +- sdk/dotnet/Notebook.cs | 4 +- ...iGatewayGuardrailInputPropertyPiiResult.cs | 4 +- ...dpointAiGatewayGuardrailOutputPiiResult.cs | 4 +- ...nalModelGoogleCloudVertexAiConfigResult.cs | 8 +- .../JobTaskForEachTaskTaskSparkJarTask.cs | 6 +- sdk/dotnet/Outputs/JobTaskSparkJarTask.cs | 6 +- ...ModelServingAiGatewayGuardrailsInputPii.cs | 4 +- ...odelServingAiGatewayGuardrailsOutputPii.cs | 4 +- ...yExternalModelGoogleCloudVertexAiConfig.cs | 8 +- sdk/dotnet/Recipient.cs | 18 ++ sdk/dotnet/Token.cs | 6 +- sdk/go/databricks/app.go | 13 +- sdk/go/databricks/getMwsWorkspaces.go | 34 +-- sdk/go/databricks/instanceProfile.go | 4 +- sdk/go/databricks/modelServing.go | 28 +-- sdk/go/databricks/notebook.go | 12 +- sdk/go/databricks/pulumiTypes.go | 72 ++++-- sdk/go/databricks/pulumiTypes1.go | 36 +-- sdk/go/databricks/recipient.go | 15 ++ sdk/go/databricks/token.go | 12 +- .../main/java/com/pulumi/databricks/App.java | 7 + .../java/com/pulumi/databricks/AppArgs.java | 18 ++ .../databricks/DatabricksFunctions.java | 23 +- .../pulumi/databricks/InstanceProfile.java | 4 +- .../com/pulumi/databricks/ModelServing.java | 16 +- .../pulumi/databricks/ModelServingArgs.java | 22 +- .../java/com/pulumi/databricks/Notebook.java | 12 +- .../java/com/pulumi/databricks/Recipient.java | 14 ++ .../com/pulumi/databricks/RecipientArgs.java | 38 ++++ .../java/com/pulumi/databricks/Token.java | 4 +- .../java/com/pulumi/databricks/TokenArgs.java | 8 +- .../pulumi/databricks/inputs/AppState.java | 18 ++ .../inputs/GetMwsWorkspacesArgs.java | 84 ------- .../inputs/GetMwsWorkspacesPlainArgs.java | 73 ------- ...intAiGatewayGuardrailInputPropertyPii.java | 16 +- ...iGatewayGuardrailInputPropertyPiiArgs.java | 16 +- ...tsEndpointAiGatewayGuardrailOutputPii.java | 16 +- ...dpointAiGatewayGuardrailOutputPiiArgs.java | 16 +- ...xternalModelGoogleCloudVertexAiConfig.java | 27 ++- ...nalModelGoogleCloudVertexAiConfigArgs.java | 27 ++- ...obTaskForEachTaskTaskSparkJarTaskArgs.java | 18 ++ .../inputs/JobTaskSparkJarTaskArgs.java | 18 ++ ...ervingAiGatewayGuardrailsInputPiiArgs.java | 16 +- ...rvingAiGatewayGuardrailsOutputPiiArgs.java | 16 +- ...nalModelGoogleCloudVertexAiConfigArgs.java | 27 ++- .../databricks/inputs/ModelServingState.java | 8 +- .../databricks/inputs/RecipientState.java | 37 ++++ .../pulumi/databricks/inputs/TokenState.java | 8 +- ...intAiGatewayGuardrailInputPropertyPii.java | 17 +- ...tsEndpointAiGatewayGuardrailOutputPii.java | 17 +- ...xternalModelGoogleCloudVertexAiConfig.java | 29 ++- .../JobTaskForEachTaskTaskSparkJarTask.java | 14 ++ .../outputs/JobTaskSparkJarTask.java | 14 ++ ...delServingAiGatewayGuardrailsInputPii.java | 17 +- ...elServingAiGatewayGuardrailsOutputPii.java | 17 +- ...xternalModelGoogleCloudVertexAiConfig.java | 29 ++- sdk/nodejs/app.ts | 5 + sdk/nodejs/getMwsWorkspaces.ts | 28 +-- sdk/nodejs/index.ts | 2 +- sdk/nodejs/instanceProfile.ts | 4 +- sdk/nodejs/modelServing.ts | 15 +- sdk/nodejs/notebook.ts | 4 +- sdk/nodejs/recipient.ts | 14 ++ sdk/nodejs/token.ts | 6 +- sdk/nodejs/types/input.ts | 26 ++- sdk/nodejs/types/output.ts | 18 +- sdk/python/pulumi_databricks/_inputs.py | 206 ++++++++++-------- sdk/python/pulumi_databricks/app.py | 34 +++ .../pulumi_databricks/get_mws_workspaces.py | 14 +- .../pulumi_databricks/instance_profile.py | 8 +- sdk/python/pulumi_databricks/model_serving.py | 47 ++-- sdk/python/pulumi_databricks/notebook.py | 4 +- sdk/python/pulumi_databricks/outputs.py | 138 +++++++----- sdk/python/pulumi_databricks/recipient.py | 47 ++++ sdk/python/pulumi_databricks/token.py | 14 +- upstream | 2 +- 100 files changed, 1093 insertions(+), 897 deletions(-) delete mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/GetMwsWorkspacesArgs.java delete mode 100644 sdk/java/src/main/java/com/pulumi/databricks/inputs/GetMwsWorkspacesPlainArgs.java diff --git a/patches/0002-rename-input-property-on-guardrails-to-avoid-name-cl.patch b/patches/0002-rename-input-property-on-guardrails-to-avoid-name-cl.patch index 93cc05477..3fb1a8661 100644 --- a/patches/0002-rename-input-property-on-guardrails-to-avoid-name-cl.patch +++ b/patches/0002-rename-input-property-on-guardrails-to-avoid-name-cl.patch @@ -5,10 +5,10 @@ Subject: [PATCH] rename input property on guardrails to avoid name clash diff --git a/internal/service/serving_tf/legacy_model.go b/internal/service/serving_tf/legacy_model.go -index 5573d72a..7134783f 100755 +index 72d5bc3c..d08a7998 100755 --- a/internal/service/serving_tf/legacy_model.go +++ b/internal/service/serving_tf/legacy_model.go -@@ -479,7 +479,7 @@ func (o AiGatewayGuardrailPiiBehavior_SdkV2) Type(ctx context.Context) attr.Type +@@ -474,7 +474,7 @@ func (o AiGatewayGuardrailPiiBehavior_SdkV2) Type(ctx context.Context) attr.Type type AiGatewayGuardrails_SdkV2 struct { // Configuration for input guardrail filters. @@ -17,7 +17,7 @@ index 5573d72a..7134783f 100755 // Configuration for output guardrail filters. Output types.List `tfsdk:"output"` } -@@ -491,8 +491,8 @@ func (newState *AiGatewayGuardrails_SdkV2) SyncEffectiveFieldsDuringRead(existin +@@ -486,8 +486,8 @@ func (newState *AiGatewayGuardrails_SdkV2) SyncEffectiveFieldsDuringRead(existin } func (c AiGatewayGuardrails_SdkV2) ApplySchemaCustomizations(attrs map[string]tfschema.AttributeBuilder) map[string]tfschema.AttributeBuilder { @@ -28,7 +28,7 @@ index 5573d72a..7134783f 100755 attrs["output"] = attrs["output"].SetOptional() attrs["output"] = attrs["output"].(tfschema.ListNestedAttributeBuilder).AddValidator(listvalidator.SizeAtMost(1)).(tfschema.AttributeBuilder) -@@ -508,7 +508,7 @@ func (c AiGatewayGuardrails_SdkV2) ApplySchemaCustomizations(attrs map[string]tf +@@ -503,7 +503,7 @@ func (c AiGatewayGuardrails_SdkV2) ApplySchemaCustomizations(attrs map[string]tf // SDK values. func (a AiGatewayGuardrails_SdkV2) GetComplexFieldTypes(ctx context.Context) map[string]reflect.Type { return map[string]reflect.Type{ @@ -37,7 +37,7 @@ index 5573d72a..7134783f 100755 "output": reflect.TypeOf(AiGatewayGuardrailParameters_SdkV2{}), } } -@@ -520,7 +520,7 @@ func (o AiGatewayGuardrails_SdkV2) ToObjectValue(ctx context.Context) basetypes. +@@ -515,7 +515,7 @@ func (o AiGatewayGuardrails_SdkV2) ToObjectValue(ctx context.Context) basetypes. return types.ObjectValueMust( o.Type(ctx).(basetypes.ObjectType).AttrTypes, map[string]attr.Value{ @@ -46,7 +46,7 @@ index 5573d72a..7134783f 100755 "output": o.Output, }) } -@@ -529,7 +529,7 @@ func (o AiGatewayGuardrails_SdkV2) ToObjectValue(ctx context.Context) basetypes. +@@ -524,7 +524,7 @@ func (o AiGatewayGuardrails_SdkV2) ToObjectValue(ctx context.Context) basetypes. func (o AiGatewayGuardrails_SdkV2) Type(ctx context.Context) attr.Type { return types.ObjectType{ AttrTypes: map[string]attr.Type{ @@ -55,7 +55,7 @@ index 5573d72a..7134783f 100755 ElemType: AiGatewayGuardrailParameters_SdkV2{}.Type(ctx), }, "output": basetypes.ListType{ -@@ -561,7 +561,7 @@ func (o *AiGatewayGuardrails_SdkV2) GetInput(ctx context.Context) (AiGatewayGuar +@@ -556,7 +556,7 @@ func (o *AiGatewayGuardrails_SdkV2) GetInput(ctx context.Context) (AiGatewayGuar // SetInput sets the value of the Input field in AiGatewayGuardrails_SdkV2. func (o *AiGatewayGuardrails_SdkV2) SetInput(ctx context.Context, v AiGatewayGuardrailParameters_SdkV2) { vs := []attr.Value{v.ToObjectValue(ctx)} @@ -65,10 +65,10 @@ index 5573d72a..7134783f 100755 } diff --git a/internal/service/serving_tf/model.go b/internal/service/serving_tf/model.go -index 48076954..f77efbbb 100755 +index 28b17d84..ee25b32b 100755 --- a/internal/service/serving_tf/model.go +++ b/internal/service/serving_tf/model.go -@@ -474,7 +474,7 @@ func (o AiGatewayGuardrailPiiBehavior) Type(ctx context.Context) attr.Type { +@@ -469,7 +469,7 @@ func (o AiGatewayGuardrailPiiBehavior) Type(ctx context.Context) attr.Type { type AiGatewayGuardrails struct { // Configuration for input guardrail filters. @@ -77,7 +77,7 @@ index 48076954..f77efbbb 100755 // Configuration for output guardrail filters. Output types.Object `tfsdk:"output"` } -@@ -486,7 +486,7 @@ func (newState *AiGatewayGuardrails) SyncEffectiveFieldsDuringRead(existingState +@@ -481,7 +481,7 @@ func (newState *AiGatewayGuardrails) SyncEffectiveFieldsDuringRead(existingState } func (c AiGatewayGuardrails) ApplySchemaCustomizations(attrs map[string]tfschema.AttributeBuilder) map[string]tfschema.AttributeBuilder { @@ -86,7 +86,7 @@ index 48076954..f77efbbb 100755 attrs["output"] = attrs["output"].SetOptional() return attrs -@@ -501,7 +501,7 @@ func (c AiGatewayGuardrails) ApplySchemaCustomizations(attrs map[string]tfschema +@@ -496,7 +496,7 @@ func (c AiGatewayGuardrails) ApplySchemaCustomizations(attrs map[string]tfschema // SDK values. func (a AiGatewayGuardrails) GetComplexFieldTypes(ctx context.Context) map[string]reflect.Type { return map[string]reflect.Type{ @@ -95,7 +95,7 @@ index 48076954..f77efbbb 100755 "output": reflect.TypeOf(AiGatewayGuardrailParameters{}), } } -@@ -513,7 +513,7 @@ func (o AiGatewayGuardrails) ToObjectValue(ctx context.Context) basetypes.Object +@@ -508,7 +508,7 @@ func (o AiGatewayGuardrails) ToObjectValue(ctx context.Context) basetypes.Object return types.ObjectValueMust( o.Type(ctx).(basetypes.ObjectType).AttrTypes, map[string]attr.Value{ @@ -104,7 +104,7 @@ index 48076954..f77efbbb 100755 "output": o.Output, }) } -@@ -522,7 +522,7 @@ func (o AiGatewayGuardrails) ToObjectValue(ctx context.Context) basetypes.Object +@@ -517,7 +517,7 @@ func (o AiGatewayGuardrails) ToObjectValue(ctx context.Context) basetypes.Object func (o AiGatewayGuardrails) Type(ctx context.Context) attr.Type { return types.ObjectType{ AttrTypes: map[string]attr.Type{ diff --git a/provider/cmd/pulumi-resource-databricks/schema.json b/provider/cmd/pulumi-resource-databricks/schema.json index b5f0bea53..328ca23e2 100644 --- a/provider/cmd/pulumi-resource-databricks/schema.json +++ b/provider/cmd/pulumi-resource-databricks/schema.json @@ -4838,6 +4838,9 @@ "type": "string" }, "description": "(List) Parameters passed to the main method.\n" + }, + "runAsRepl": { + "type": "boolean" } }, "type": "object" @@ -5971,6 +5974,9 @@ "type": "string" }, "description": "(List) Parameters passed to the main method.\n" + }, + "runAsRepl": { + "type": "boolean" } }, "type": "object" @@ -6944,10 +6950,7 @@ "description": "a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported.\n" } }, - "type": "object", - "required": [ - "behavior" - ] + "type": "object" }, "databricks:index/ModelServingAiGatewayGuardrailsOutput:ModelServingAiGatewayGuardrailsOutput": { "properties": { @@ -6983,10 +6986,7 @@ "description": "a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported.\n" } }, - "type": "object", - "required": [ - "behavior" - ] + "type": "object" }, "databricks:index/ModelServingAiGatewayInferenceTableConfig:ModelServingAiGatewayInferenceTableConfig": { "properties": { @@ -7334,7 +7334,11 @@ "description": "This is the region for the Google Cloud Vertex AI Service.\n" } }, - "type": "object" + "type": "object", + "required": [ + "projectId", + "region" + ] }, "databricks:index/ModelServingConfigServedEntityExternalModelOpenaiConfig:ModelServingConfigServedEntityExternalModelOpenaiConfig": { "properties": { @@ -18467,10 +18471,7 @@ "type": "string" } }, - "type": "object", - "required": [ - "behavior" - ] + "type": "object" }, "databricks:index/getServingEndpointsEndpointAiGatewayGuardrailOutput:getServingEndpointsEndpointAiGatewayGuardrailOutput": { "properties": { @@ -18504,10 +18505,7 @@ "type": "string" } }, - "type": "object", - "required": [ - "behavior" - ] + "type": "object" }, "databricks:index/getServingEndpointsEndpointAiGatewayInferenceTableConfig:getServingEndpointsEndpointAiGatewayInferenceTableConfig": { "properties": { @@ -18759,7 +18757,11 @@ "type": "string" } }, - "type": "object" + "type": "object", + "required": [ + "projectId", + "region" + ] }, "databricks:index/getServingEndpointsEndpointConfigServedEntityExternalModelOpenaiConfig:getServingEndpointsEndpointConfigServedEntityExternalModelOpenaiConfig": { "properties": { @@ -20154,6 +20156,9 @@ "type": "string", "description": "The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace.\n" }, + "noCompute": { + "type": "boolean" + }, "pendingDeployment": { "$ref": "#/types/databricks:index/AppPendingDeployment:AppPendingDeployment" }, @@ -20213,6 +20218,9 @@ "type": "string", "description": "The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace.\n" }, + "noCompute": { + "type": "boolean" + }, "resources": { "type": "array", "items": { @@ -20255,6 +20263,9 @@ "type": "string", "description": "The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace.\n" }, + "noCompute": { + "type": "boolean" + }, "pendingDeployment": { "$ref": "#/types/databricks:index/AppPendingDeployment:AppPendingDeployment" }, @@ -21991,8 +22002,7 @@ "items": { "type": "string" }, - "description": "OAuth scopes granted to the application. Supported scopes: `all-apis`, `sql`, `offline_access`, `openid`, `profile`, `email`.\n", - "willReplaceOnChanges": true + "description": "OAuth scopes granted to the application. Supported scopes: `all-apis`, `sql`, `offline_access`, `openid`, `profile`, `email`.\n" }, "tokenAccessPolicy": { "$ref": "#/types/databricks:index/CustomAppIntegrationTokenAccessPolicy:CustomAppIntegrationTokenAccessPolicy" @@ -22045,8 +22055,7 @@ "items": { "type": "string" }, - "description": "OAuth scopes granted to the application. Supported scopes: `all-apis`, `sql`, `offline_access`, `openid`, `profile`, `email`.\n", - "willReplaceOnChanges": true + "description": "OAuth scopes granted to the application. Supported scopes: `all-apis`, `sql`, `offline_access`, `openid`, `profile`, `email`.\n" }, "tokenAccessPolicy": { "$ref": "#/types/databricks:index/CustomAppIntegrationTokenAccessPolicy:CustomAppIntegrationTokenAccessPolicy" @@ -23986,7 +23995,7 @@ } }, "databricks:index/instanceProfile:InstanceProfile": { - "description": "This resource allows you to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount. The following example demonstrates how to create an instance profile and create a cluster with it. When creating a new `databricks.InstanceProfile`, Databricks validates that it has sufficient permissions to launch instances with the instance profile. This validation uses AWS dry-run mode for the [AWS EC2 RunInstances API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html).\n\n\u003e Please switch to databricks.StorageCredential with Unity Catalog to manage storage credentials, which provides a better and faster way for managing credential security.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst config = new pulumi.Config();\n// Role that you've specified on https://accounts.cloud.databricks.com/#aws\nconst crossaccountRoleName = config.require(\"crossaccountRoleName\");\nconst assumeRoleForEc2 = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"ec2.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst roleForS3Access = new aws.iam.Role(\"role_for_s3_access\", {\n name: \"shared-ec2-role-for-s3\",\n description: \"Role for shared access\",\n assumeRolePolicy: assumeRoleForEc2.then(assumeRoleForEc2 =\u003e assumeRoleForEc2.json),\n});\nconst passRoleForS3Access = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"iam:PassRole\"],\n resources: [roleForS3Access.arn],\n }],\n});\nconst passRoleForS3AccessPolicy = new aws.iam.Policy(\"pass_role_for_s3_access\", {\n name: \"shared-pass-role-for-s3-access\",\n path: \"/\",\n policy: passRoleForS3Access.apply(passRoleForS3Access =\u003e passRoleForS3Access.json),\n});\nconst crossAccount = new aws.iam.RolePolicyAttachment(\"cross_account\", {\n policyArn: passRoleForS3AccessPolicy.arn,\n role: crossaccountRoleName,\n});\nconst shared = new aws.iam.InstanceProfile(\"shared\", {\n name: \"shared-instance-profile\",\n role: roleForS3Access.name,\n});\nconst sharedInstanceProfile = new databricks.InstanceProfile(\"shared\", {instanceProfileArn: shared.arn});\nconst latest = databricks.getSparkVersion({});\nconst smallest = databricks.getNodeType({\n localDisk: true,\n});\nconst _this = new databricks.Cluster(\"this\", {\n clusterName: \"Shared Autoscaling\",\n sparkVersion: latest.then(latest =\u003e latest.id),\n nodeTypeId: smallest.then(smallest =\u003e smallest.id),\n autoterminationMinutes: 20,\n autoscale: {\n minWorkers: 1,\n maxWorkers: 50,\n },\n awsAttributes: {\n instanceProfileArn: sharedInstanceProfile.id,\n availability: \"SPOT\",\n zoneId: \"us-east-1\",\n firstOnDemand: 1,\n spotBidPricePercent: 100,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_databricks as databricks\n\nconfig = pulumi.Config()\n# Role that you've specified on https://accounts.cloud.databricks.com/#aws\ncrossaccount_role_name = config.require(\"crossaccountRoleName\")\nassume_role_for_ec2 = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"identifiers\": [\"ec2.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\nrole_for_s3_access = aws.iam.Role(\"role_for_s3_access\",\n name=\"shared-ec2-role-for-s3\",\n description=\"Role for shared access\",\n assume_role_policy=assume_role_for_ec2.json)\npass_role_for_s3_access = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"iam:PassRole\"],\n \"resources\": [role_for_s3_access.arn],\n}])\npass_role_for_s3_access_policy = aws.iam.Policy(\"pass_role_for_s3_access\",\n name=\"shared-pass-role-for-s3-access\",\n path=\"/\",\n policy=pass_role_for_s3_access.json)\ncross_account = aws.iam.RolePolicyAttachment(\"cross_account\",\n policy_arn=pass_role_for_s3_access_policy.arn,\n role=crossaccount_role_name)\nshared = aws.iam.InstanceProfile(\"shared\",\n name=\"shared-instance-profile\",\n role=role_for_s3_access.name)\nshared_instance_profile = databricks.InstanceProfile(\"shared\", instance_profile_arn=shared.arn)\nlatest = databricks.get_spark_version()\nsmallest = databricks.get_node_type(local_disk=True)\nthis = databricks.Cluster(\"this\",\n cluster_name=\"Shared Autoscaling\",\n spark_version=latest.id,\n node_type_id=smallest.id,\n autotermination_minutes=20,\n autoscale={\n \"min_workers\": 1,\n \"max_workers\": 50,\n },\n aws_attributes={\n \"instance_profile_arn\": shared_instance_profile.id,\n \"availability\": \"SPOT\",\n \"zone_id\": \"us-east-1\",\n \"first_on_demand\": 1,\n \"spot_bid_price_percent\": 100,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Databricks = Pulumi.Databricks;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // Role that you've specified on https://accounts.cloud.databricks.com/#aws\n var crossaccountRoleName = config.Require(\"crossaccountRoleName\");\n var assumeRoleForEc2 = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var roleForS3Access = new Aws.Iam.Role(\"role_for_s3_access\", new()\n {\n Name = \"shared-ec2-role-for-s3\",\n Description = \"Role for shared access\",\n AssumeRolePolicy = assumeRoleForEc2.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var passRoleForS3Access = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iam:PassRole\",\n },\n Resources = new[]\n {\n roleForS3Access.Arn,\n },\n },\n },\n });\n\n var passRoleForS3AccessPolicy = new Aws.Iam.Policy(\"pass_role_for_s3_access\", new()\n {\n Name = \"shared-pass-role-for-s3-access\",\n Path = \"/\",\n PolicyDocument = passRoleForS3Access.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var crossAccount = new Aws.Iam.RolePolicyAttachment(\"cross_account\", new()\n {\n PolicyArn = passRoleForS3AccessPolicy.Arn,\n Role = crossaccountRoleName,\n });\n\n var shared = new Aws.Iam.InstanceProfile(\"shared\", new()\n {\n Name = \"shared-instance-profile\",\n Role = roleForS3Access.Name,\n });\n\n var sharedInstanceProfile = new Databricks.InstanceProfile(\"shared\", new()\n {\n InstanceProfileArn = shared.Arn,\n });\n\n var latest = Databricks.GetSparkVersion.Invoke();\n\n var smallest = Databricks.GetNodeType.Invoke(new()\n {\n LocalDisk = true,\n });\n\n var @this = new Databricks.Cluster(\"this\", new()\n {\n ClusterName = \"Shared Autoscaling\",\n SparkVersion = latest.Apply(getSparkVersionResult =\u003e getSparkVersionResult.Id),\n NodeTypeId = smallest.Apply(getNodeTypeResult =\u003e getNodeTypeResult.Id),\n AutoterminationMinutes = 20,\n Autoscale = new Databricks.Inputs.ClusterAutoscaleArgs\n {\n MinWorkers = 1,\n MaxWorkers = 50,\n },\n AwsAttributes = new Databricks.Inputs.ClusterAwsAttributesArgs\n {\n InstanceProfileArn = sharedInstanceProfile.Id,\n Availability = \"SPOT\",\n ZoneId = \"us-east-1\",\n FirstOnDemand = 1,\n SpotBidPricePercent = 100,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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\t// Role that you've specified on https://accounts.cloud.databricks.com/#aws\n\t\tcrossaccountRoleName := cfg.Require(\"crossaccountRoleName\")\n\t\tassumeRoleForEc2, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\troleForS3Access, err := iam.NewRole(ctx, \"role_for_s3_access\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"shared-ec2-role-for-s3\"),\n\t\t\tDescription: pulumi.String(\"Role for shared access\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRoleForEc2.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpassRoleForS3Access := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"iam:PassRole\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\troleForS3Access.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tpassRoleForS3AccessPolicy, err := iam.NewPolicy(ctx, \"pass_role_for_s3_access\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"shared-pass-role-for-s3-access\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tPolicy: pulumi.String(passRoleForS3Access.ApplyT(func(passRoleForS3Access iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026passRoleForS3Access.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"cross_account\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: passRoleForS3AccessPolicy.Arn,\n\t\t\tRole: pulumi.String(crossaccountRoleName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshared, err := iam.NewInstanceProfile(ctx, \"shared\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"shared-instance-profile\"),\n\t\t\tRole: roleForS3Access.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsharedInstanceProfile, err := databricks.NewInstanceProfile(ctx, \"shared\", \u0026databricks.InstanceProfileArgs{\n\t\t\tInstanceProfileArn: shared.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatest, err := databricks.GetSparkVersion(ctx, \u0026databricks.GetSparkVersionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsmallest, err := databricks.GetNodeType(ctx, \u0026databricks.GetNodeTypeArgs{\n\t\t\tLocalDisk: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewCluster(ctx, \"this\", \u0026databricks.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"Shared Autoscaling\"),\n\t\t\tSparkVersion: pulumi.String(latest.Id),\n\t\t\tNodeTypeId: pulumi.String(smallest.Id),\n\t\t\tAutoterminationMinutes: pulumi.Int(20),\n\t\t\tAutoscale: \u0026databricks.ClusterAutoscaleArgs{\n\t\t\t\tMinWorkers: pulumi.Int(1),\n\t\t\t\tMaxWorkers: pulumi.Int(50),\n\t\t\t},\n\t\t\tAwsAttributes: \u0026databricks.ClusterAwsAttributesArgs{\n\t\t\t\tInstanceProfileArn: sharedInstanceProfile.ID(),\n\t\t\t\tAvailability: pulumi.String(\"SPOT\"),\n\t\t\t\tZoneId: pulumi.String(\"us-east-1\"),\n\t\t\t\tFirstOnDemand: pulumi.Int(1),\n\t\t\t\tSpotBidPricePercent: pulumi.Int(100),\n\t\t\t},\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport com.pulumi.databricks.InstanceProfile;\nimport com.pulumi.databricks.InstanceProfileArgs;\nimport com.pulumi.databricks.DatabricksFunctions;\nimport com.pulumi.databricks.inputs.GetSparkVersionArgs;\nimport com.pulumi.databricks.inputs.GetNodeTypeArgs;\nimport com.pulumi.databricks.Cluster;\nimport com.pulumi.databricks.ClusterArgs;\nimport com.pulumi.databricks.inputs.ClusterAutoscaleArgs;\nimport com.pulumi.databricks.inputs.ClusterAwsAttributesArgs;\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 crossaccountRoleName = config.get(\"crossaccountRoleName\");\n final var assumeRoleForEc2 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"ec2.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var roleForS3Access = new Role(\"roleForS3Access\", RoleArgs.builder()\n .name(\"shared-ec2-role-for-s3\")\n .description(\"Role for shared access\")\n .assumeRolePolicy(assumeRoleForEc2.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var passRoleForS3Access = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"iam:PassRole\")\n .resources(roleForS3Access.arn())\n .build())\n .build());\n\n var passRoleForS3AccessPolicy = new Policy(\"passRoleForS3AccessPolicy\", PolicyArgs.builder()\n .name(\"shared-pass-role-for-s3-access\")\n .path(\"/\")\n .policy(passRoleForS3Access.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(passRoleForS3Access -\u003e passRoleForS3Access.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var crossAccount = new RolePolicyAttachment(\"crossAccount\", RolePolicyAttachmentArgs.builder()\n .policyArn(passRoleForS3AccessPolicy.arn())\n .role(crossaccountRoleName)\n .build());\n\n var shared = new InstanceProfile(\"shared\", InstanceProfileArgs.builder()\n .name(\"shared-instance-profile\")\n .role(roleForS3Access.name())\n .build());\n\n var sharedInstanceProfile = new InstanceProfile(\"sharedInstanceProfile\", InstanceProfileArgs.builder()\n .instanceProfileArn(shared.arn())\n .build());\n\n final var latest = DatabricksFunctions.getSparkVersion();\n\n final var smallest = DatabricksFunctions.getNodeType(GetNodeTypeArgs.builder()\n .localDisk(true)\n .build());\n\n var this_ = new Cluster(\"this\", ClusterArgs.builder()\n .clusterName(\"Shared Autoscaling\")\n .sparkVersion(latest.applyValue(getSparkVersionResult -\u003e getSparkVersionResult.id()))\n .nodeTypeId(smallest.applyValue(getNodeTypeResult -\u003e getNodeTypeResult.id()))\n .autoterminationMinutes(20)\n .autoscale(ClusterAutoscaleArgs.builder()\n .minWorkers(1)\n .maxWorkers(50)\n .build())\n .awsAttributes(ClusterAwsAttributesArgs.builder()\n .instanceProfileArn(sharedInstanceProfile.id())\n .availability(\"SPOT\")\n .zoneId(\"us-east-1\")\n .firstOnDemand(1)\n .spotBidPricePercent(100)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n crossaccountRoleName:\n type: string\nresources:\n roleForS3Access:\n type: aws:iam:Role\n name: role_for_s3_access\n properties:\n name: shared-ec2-role-for-s3\n description: Role for shared access\n assumeRolePolicy: ${assumeRoleForEc2.json}\n passRoleForS3AccessPolicy:\n type: aws:iam:Policy\n name: pass_role_for_s3_access\n properties:\n name: shared-pass-role-for-s3-access\n path: /\n policy: ${passRoleForS3Access.json}\n crossAccount:\n type: aws:iam:RolePolicyAttachment\n name: cross_account\n properties:\n policyArn: ${passRoleForS3AccessPolicy.arn}\n role: ${crossaccountRoleName}\n shared:\n type: aws:iam:InstanceProfile\n properties:\n name: shared-instance-profile\n role: ${roleForS3Access.name}\n sharedInstanceProfile:\n type: databricks:InstanceProfile\n name: shared\n properties:\n instanceProfileArn: ${shared.arn}\n this:\n type: databricks:Cluster\n properties:\n clusterName: Shared Autoscaling\n sparkVersion: ${latest.id}\n nodeTypeId: ${smallest.id}\n autoterminationMinutes: 20\n autoscale:\n minWorkers: 1\n maxWorkers: 50\n awsAttributes:\n instanceProfileArn: ${sharedInstanceProfile.id}\n availability: SPOT\n zoneId: us-east-1\n firstOnDemand: 1\n spotBidPricePercent: 100\nvariables:\n assumeRoleForEc2:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - ec2.amazonaws.com\n type: Service\n passRoleForS3Access:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - iam:PassRole\n resources:\n - ${roleForS3Access.arn}\n latest:\n fn::invoke:\n function: databricks:getSparkVersion\n arguments: {}\n smallest:\n fn::invoke:\n function: databricks:getNodeType\n arguments:\n localDisk: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Usage with Cluster Policies\n\nIt is advised to keep all common configurations in Cluster Policies to maintain control of the environments launched, so `databricks.Cluster` above could be replaced with `databricks.ClusterPolicy`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst _this = new databricks.ClusterPolicy(\"this\", {\n name: \"Policy with predefined instance profile\",\n definition: JSON.stringify({\n \"aws_attributes.instance_profile_arn\": {\n type: \"fixed\",\n value: shared.arn,\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_databricks as databricks\n\nthis = databricks.ClusterPolicy(\"this\",\n name=\"Policy with predefined instance profile\",\n definition=json.dumps({\n \"aws_attributes.instance_profile_arn\": {\n \"type\": \"fixed\",\n \"value\": shared[\"arn\"],\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Databricks = Pulumi.Databricks;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Databricks.ClusterPolicy(\"this\", new()\n {\n Name = \"Policy with predefined instance profile\",\n Definition = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"aws_attributes.instance_profile_arn\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"fixed\",\n [\"value\"] = shared.Arn,\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"aws_attributes.instance_profile_arn\": map[string]interface{}{\n\t\t\t\t\"type\": \"fixed\",\n\t\t\t\t\"value\": shared.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = databricks.NewClusterPolicy(ctx, \"this\", \u0026databricks.ClusterPolicyArgs{\n\t\t\tName: pulumi.String(\"Policy with predefined instance profile\"),\n\t\t\tDefinition: pulumi.String(json0),\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.ClusterPolicy;\nimport com.pulumi.databricks.ClusterPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\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 var this_ = new ClusterPolicy(\"this\", ClusterPolicyArgs.builder()\n .name(\"Policy with predefined instance profile\")\n .definition(serializeJson(\n jsonObject(\n jsonProperty(\"aws_attributes.instance_profile_arn\", jsonObject(\n jsonProperty(\"type\", \"fixed\"),\n jsonProperty(\"value\", shared.arn())\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: databricks:ClusterPolicy\n properties:\n name: Policy with predefined instance profile\n definition:\n fn::toJSON:\n aws_attributes.instance_profile_arn:\n type: fixed\n value: ${shared.arn}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Granting access to all users\n\nYou can make instance profile available to all users by associating it with the special group called `users` through databricks.Group data source.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst _this = new databricks.InstanceProfile(\"this\", {instanceProfileArn: shared.arn});\nconst users = databricks.getGroup({\n displayName: \"users\",\n});\nconst all = new databricks.GroupInstanceProfile(\"all\", {\n groupId: users.then(users =\u003e users.id),\n instanceProfileId: _this.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_databricks as databricks\n\nthis = databricks.InstanceProfile(\"this\", instance_profile_arn=shared[\"arn\"])\nusers = databricks.get_group(display_name=\"users\")\nall = databricks.GroupInstanceProfile(\"all\",\n group_id=users.id,\n instance_profile_id=this.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 @this = new Databricks.InstanceProfile(\"this\", new()\n {\n InstanceProfileArn = shared.Arn,\n });\n\n var users = Databricks.GetGroup.Invoke(new()\n {\n DisplayName = \"users\",\n });\n\n var all = new Databricks.GroupInstanceProfile(\"all\", new()\n {\n GroupId = users.Apply(getGroupResult =\u003e getGroupResult.Id),\n InstanceProfileId = @this.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := databricks.NewInstanceProfile(ctx, \"this\", \u0026databricks.InstanceProfileArgs{\n\t\t\tInstanceProfileArn: pulumi.Any(shared.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tusers, err := databricks.LookupGroup(ctx, \u0026databricks.LookupGroupArgs{\n\t\t\tDisplayName: \"users\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewGroupInstanceProfile(ctx, \"all\", \u0026databricks.GroupInstanceProfileArgs{\n\t\t\tGroupId: pulumi.String(users.Id),\n\t\t\tInstanceProfileId: this.ID(),\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.InstanceProfile;\nimport com.pulumi.databricks.InstanceProfileArgs;\nimport com.pulumi.databricks.DatabricksFunctions;\nimport com.pulumi.databricks.inputs.GetGroupArgs;\nimport com.pulumi.databricks.GroupInstanceProfile;\nimport com.pulumi.databricks.GroupInstanceProfileArgs;\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 var this_ = new InstanceProfile(\"this\", InstanceProfileArgs.builder()\n .instanceProfileArn(shared.arn())\n .build());\n\n final var users = DatabricksFunctions.getGroup(GetGroupArgs.builder()\n .displayName(\"users\")\n .build());\n\n var all = new GroupInstanceProfile(\"all\", GroupInstanceProfileArgs.builder()\n .groupId(users.applyValue(getGroupResult -\u003e getGroupResult.id()))\n .instanceProfileId(this_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: databricks:InstanceProfile\n properties:\n instanceProfileArn: ${shared.arn}\n all:\n type: databricks:GroupInstanceProfile\n properties:\n groupId: ${users.id}\n instanceProfileId: ${this.id}\nvariables:\n users:\n fn::invoke:\n function: databricks:getGroup\n arguments:\n displayName: users\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Usage with Databricks SQL serverless\n\nWhen the instance profile ARN and its associated IAM role ARN don't match and the instance profile is intended for use with Databricks SQL serverless, the `iam_role_arn` parameter can be specified.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst sqlServerlessAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"AWS\",\n identifiers: [\"arn:aws:iam::790110701330:role/serverless-customer-resource-role\"],\n }],\n conditions: [{\n test: \"StringEquals\",\n variable: \"sts:ExternalID\",\n values: [\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\",\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\",\n ],\n }],\n }],\n});\nconst _this = new aws.iam.Role(\"this\", {\n name: \"my-databricks-sql-serverless-role\",\n assumeRolePolicy: sqlServerlessAssumeRole.then(sqlServerlessAssumeRole =\u003e sqlServerlessAssumeRole.json),\n});\nconst thisInstanceProfile = new aws.iam.InstanceProfile(\"this\", {\n name: \"my-databricks-sql-serverless-instance-profile\",\n role: _this.name,\n});\nconst thisInstanceProfile2 = new databricks.InstanceProfile(\"this\", {\n instanceProfileArn: thisInstanceProfile.arn,\n iamRoleArn: _this.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_databricks as databricks\n\nsql_serverless_assume_role = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"arn:aws:iam::790110701330:role/serverless-customer-resource-role\"],\n }],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"sts:ExternalID\",\n \"values\": [\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\",\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\",\n ],\n }],\n}])\nthis = aws.iam.Role(\"this\",\n name=\"my-databricks-sql-serverless-role\",\n assume_role_policy=sql_serverless_assume_role.json)\nthis_instance_profile = aws.iam.InstanceProfile(\"this\",\n name=\"my-databricks-sql-serverless-instance-profile\",\n role=this.name)\nthis_instance_profile2 = databricks.InstanceProfile(\"this\",\n instance_profile_arn=this_instance_profile.arn,\n iam_role_arn=this.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Databricks = Pulumi.Databricks;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sqlServerlessAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"arn:aws:iam::790110701330:role/serverless-customer-resource-role\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"sts:ExternalID\",\n Values = new[]\n {\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\",\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\",\n },\n },\n },\n },\n },\n });\n\n var @this = new Aws.Iam.Role(\"this\", new()\n {\n Name = \"my-databricks-sql-serverless-role\",\n AssumeRolePolicy = sqlServerlessAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var thisInstanceProfile = new Aws.Iam.InstanceProfile(\"this\", new()\n {\n Name = \"my-databricks-sql-serverless-instance-profile\",\n Role = @this.Name,\n });\n\n var thisInstanceProfile2 = new Databricks.InstanceProfile(\"this\", new()\n {\n InstanceProfileArn = thisInstanceProfile.Arn,\n IamRoleArn = @this.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsqlServerlessAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"arn:aws:iam::790110701330:role/serverless-customer-resource-role\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringEquals\",\n\t\t\t\t\t\t\tVariable: \"sts:ExternalID\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\",\n\t\t\t\t\t\t\t\t\"databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthis, err := iam.NewRole(ctx, \"this\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my-databricks-sql-serverless-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(sqlServerlessAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisInstanceProfile, err := iam.NewInstanceProfile(ctx, \"this\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"my-databricks-sql-serverless-instance-profile\"),\n\t\t\tRole: this.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewInstanceProfile(ctx, \"this\", \u0026databricks.InstanceProfileArgs{\n\t\t\tInstanceProfileArn: thisInstanceProfile.Arn,\n\t\t\tIamRoleArn: this.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport com.pulumi.databricks.InstanceProfile;\nimport com.pulumi.databricks.InstanceProfileArgs;\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 sqlServerlessAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"arn:aws:iam::790110701330:role/serverless-customer-resource-role\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"sts:ExternalID\")\n .values( \n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\",\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\")\n .build())\n .build())\n .build());\n\n var this_ = new Role(\"this\", RoleArgs.builder()\n .name(\"my-databricks-sql-serverless-role\")\n .assumeRolePolicy(sqlServerlessAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var thisInstanceProfile = new InstanceProfile(\"thisInstanceProfile\", InstanceProfileArgs.builder()\n .name(\"my-databricks-sql-serverless-instance-profile\")\n .role(this_.name())\n .build());\n\n var thisInstanceProfile2 = new InstanceProfile(\"thisInstanceProfile2\", InstanceProfileArgs.builder()\n .instanceProfileArn(thisInstanceProfile.arn())\n .iamRoleArn(this_.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:iam:Role\n properties:\n name: my-databricks-sql-serverless-role\n assumeRolePolicy: ${sqlServerlessAssumeRole.json}\n thisInstanceProfile:\n type: aws:iam:InstanceProfile\n name: this\n properties:\n name: my-databricks-sql-serverless-instance-profile\n role: ${this.name}\n thisInstanceProfile2:\n type: databricks:InstanceProfile\n name: this\n properties:\n instanceProfileArn: ${thisInstanceProfile.arn}\n iamRoleArn: ${this.arn}\nvariables:\n sqlServerlessAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::790110701330:role/serverless-customer-resource-role\n conditions:\n - test: StringEquals\n variable: sts:ExternalID\n values:\n - databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\n - databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe resource instance profile can be imported using the ARN of it\n\nbash\n\n```sh\n$ pulumi import databricks:index/instanceProfile:InstanceProfile this \u003cinstance-profile-arn\u003e\n```\n\n", + "description": "This resource allows you to manage AWS EC2 instance profiles that users can launch databricks.Cluster and access data, like databricks_mount. The following example demonstrates how to create an instance profile and create a cluster with it. When creating a new `databricks.InstanceProfile`, Databricks validates that it has sufficient permissions to launch instances with the instance profile. This validation uses AWS dry-run mode for the [AWS EC2 RunInstances API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html).\n\n\u003e Please switch to databricks.StorageCredential with Unity Catalog to manage storage credentials, which provides a better and faster way for managing credential security.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst config = new pulumi.Config();\n// Role that you've specified on https://accounts.cloud.databricks.com/#aws\nconst crossaccountRoleName = config.require(\"crossaccountRoleName\");\nconst assumeRoleForEc2 = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"ec2.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst roleForS3Access = new aws.iam.Role(\"role_for_s3_access\", {\n name: \"shared-ec2-role-for-s3\",\n description: \"Role for shared access\",\n assumeRolePolicy: assumeRoleForEc2.then(assumeRoleForEc2 =\u003e assumeRoleForEc2.json),\n});\nconst passRoleForS3Access = aws.iam.getPolicyDocumentOutput({\n statements: [{\n effect: \"Allow\",\n actions: [\"iam:PassRole\"],\n resources: [roleForS3Access.arn],\n }],\n});\nconst passRoleForS3AccessPolicy = new aws.iam.Policy(\"pass_role_for_s3_access\", {\n name: \"shared-pass-role-for-s3-access\",\n path: \"/\",\n policy: passRoleForS3Access.apply(passRoleForS3Access =\u003e passRoleForS3Access.json),\n});\nconst crossAccount = new aws.iam.RolePolicyAttachment(\"cross_account\", {\n policyArn: passRoleForS3AccessPolicy.arn,\n role: crossaccountRoleName,\n});\nconst shared = new aws.iam.InstanceProfile(\"shared\", {\n name: \"shared-instance-profile\",\n role: roleForS3Access.name,\n});\nconst sharedInstanceProfile = new databricks.InstanceProfile(\"shared\", {instanceProfileArn: shared.arn});\nconst latest = databricks.getSparkVersion({});\nconst smallest = databricks.getNodeType({\n localDisk: true,\n});\nconst _this = new databricks.Cluster(\"this\", {\n clusterName: \"Shared Autoscaling\",\n sparkVersion: latest.then(latest =\u003e latest.id),\n nodeTypeId: smallest.then(smallest =\u003e smallest.id),\n autoterminationMinutes: 20,\n autoscale: {\n minWorkers: 1,\n maxWorkers: 50,\n },\n awsAttributes: {\n instanceProfileArn: sharedInstanceProfile.id,\n availability: \"SPOT\",\n zoneId: \"us-east-1\",\n firstOnDemand: 1,\n spotBidPricePercent: 100,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_databricks as databricks\n\nconfig = pulumi.Config()\n# Role that you've specified on https://accounts.cloud.databricks.com/#aws\ncrossaccount_role_name = config.require(\"crossaccountRoleName\")\nassume_role_for_ec2 = aws.iam.get_policy_document(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"identifiers\": [\"ec2.amazonaws.com\"],\n \"type\": \"Service\",\n }],\n}])\nrole_for_s3_access = aws.iam.Role(\"role_for_s3_access\",\n name=\"shared-ec2-role-for-s3\",\n description=\"Role for shared access\",\n assume_role_policy=assume_role_for_ec2.json)\npass_role_for_s3_access = aws.iam.get_policy_document_output(statements=[{\n \"effect\": \"Allow\",\n \"actions\": [\"iam:PassRole\"],\n \"resources\": [role_for_s3_access.arn],\n}])\npass_role_for_s3_access_policy = aws.iam.Policy(\"pass_role_for_s3_access\",\n name=\"shared-pass-role-for-s3-access\",\n path=\"/\",\n policy=pass_role_for_s3_access.json)\ncross_account = aws.iam.RolePolicyAttachment(\"cross_account\",\n policy_arn=pass_role_for_s3_access_policy.arn,\n role=crossaccount_role_name)\nshared = aws.iam.InstanceProfile(\"shared\",\n name=\"shared-instance-profile\",\n role=role_for_s3_access.name)\nshared_instance_profile = databricks.InstanceProfile(\"shared\", instance_profile_arn=shared.arn)\nlatest = databricks.get_spark_version()\nsmallest = databricks.get_node_type(local_disk=True)\nthis = databricks.Cluster(\"this\",\n cluster_name=\"Shared Autoscaling\",\n spark_version=latest.id,\n node_type_id=smallest.id,\n autotermination_minutes=20,\n autoscale={\n \"min_workers\": 1,\n \"max_workers\": 50,\n },\n aws_attributes={\n \"instance_profile_arn\": shared_instance_profile.id,\n \"availability\": \"SPOT\",\n \"zone_id\": \"us-east-1\",\n \"first_on_demand\": 1,\n \"spot_bid_price_percent\": 100,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Databricks = Pulumi.Databricks;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // Role that you've specified on https://accounts.cloud.databricks.com/#aws\n var crossaccountRoleName = config.Require(\"crossaccountRoleName\");\n var assumeRoleForEc2 = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"ec2.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var roleForS3Access = new Aws.Iam.Role(\"role_for_s3_access\", new()\n {\n Name = \"shared-ec2-role-for-s3\",\n Description = \"Role for shared access\",\n AssumeRolePolicy = assumeRoleForEc2.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var passRoleForS3Access = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"iam:PassRole\",\n },\n Resources = new[]\n {\n roleForS3Access.Arn,\n },\n },\n },\n });\n\n var passRoleForS3AccessPolicy = new Aws.Iam.Policy(\"pass_role_for_s3_access\", new()\n {\n Name = \"shared-pass-role-for-s3-access\",\n Path = \"/\",\n PolicyDocument = passRoleForS3Access.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var crossAccount = new Aws.Iam.RolePolicyAttachment(\"cross_account\", new()\n {\n PolicyArn = passRoleForS3AccessPolicy.Arn,\n Role = crossaccountRoleName,\n });\n\n var shared = new Aws.Iam.InstanceProfile(\"shared\", new()\n {\n Name = \"shared-instance-profile\",\n Role = roleForS3Access.Name,\n });\n\n var sharedInstanceProfile = new Databricks.InstanceProfile(\"shared\", new()\n {\n InstanceProfileArn = shared.Arn,\n });\n\n var latest = Databricks.GetSparkVersion.Invoke();\n\n var smallest = Databricks.GetNodeType.Invoke(new()\n {\n LocalDisk = true,\n });\n\n var @this = new Databricks.Cluster(\"this\", new()\n {\n ClusterName = \"Shared Autoscaling\",\n SparkVersion = latest.Apply(getSparkVersionResult =\u003e getSparkVersionResult.Id),\n NodeTypeId = smallest.Apply(getNodeTypeResult =\u003e getNodeTypeResult.Id),\n AutoterminationMinutes = 20,\n Autoscale = new Databricks.Inputs.ClusterAutoscaleArgs\n {\n MinWorkers = 1,\n MaxWorkers = 50,\n },\n AwsAttributes = new Databricks.Inputs.ClusterAwsAttributesArgs\n {\n InstanceProfileArn = sharedInstanceProfile.Id,\n Availability = \"SPOT\",\n ZoneId = \"us-east-1\",\n FirstOnDemand = 1,\n SpotBidPricePercent = 100,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\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\t// Role that you've specified on https://accounts.cloud.databricks.com/#aws\n\t\tcrossaccountRoleName := cfg.Require(\"crossaccountRoleName\")\n\t\tassumeRoleForEc2, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"ec2.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\troleForS3Access, err := iam.NewRole(ctx, \"role_for_s3_access\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"shared-ec2-role-for-s3\"),\n\t\t\tDescription: pulumi.String(\"Role for shared access\"),\n\t\t\tAssumeRolePolicy: pulumi.String(assumeRoleForEc2.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tpassRoleForS3Access := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"iam:PassRole\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\troleForS3Access.Arn,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tpassRoleForS3AccessPolicy, err := iam.NewPolicy(ctx, \"pass_role_for_s3_access\", \u0026iam.PolicyArgs{\n\t\t\tName: pulumi.String(\"shared-pass-role-for-s3-access\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tPolicy: pulumi.String(passRoleForS3Access.ApplyT(func(passRoleForS3Access iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026passRoleForS3Access.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicyAttachment(ctx, \"cross_account\", \u0026iam.RolePolicyAttachmentArgs{\n\t\t\tPolicyArn: passRoleForS3AccessPolicy.Arn,\n\t\t\tRole: pulumi.String(crossaccountRoleName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tshared, err := iam.NewInstanceProfile(ctx, \"shared\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"shared-instance-profile\"),\n\t\t\tRole: roleForS3Access.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsharedInstanceProfile, err := databricks.NewInstanceProfile(ctx, \"shared\", \u0026databricks.InstanceProfileArgs{\n\t\t\tInstanceProfileArn: shared.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlatest, err := databricks.GetSparkVersion(ctx, \u0026databricks.GetSparkVersionArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsmallest, err := databricks.GetNodeType(ctx, \u0026databricks.GetNodeTypeArgs{\n\t\t\tLocalDisk: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewCluster(ctx, \"this\", \u0026databricks.ClusterArgs{\n\t\t\tClusterName: pulumi.String(\"Shared Autoscaling\"),\n\t\t\tSparkVersion: pulumi.String(latest.Id),\n\t\t\tNodeTypeId: pulumi.String(smallest.Id),\n\t\t\tAutoterminationMinutes: pulumi.Int(20),\n\t\t\tAutoscale: \u0026databricks.ClusterAutoscaleArgs{\n\t\t\t\tMinWorkers: pulumi.Int(1),\n\t\t\t\tMaxWorkers: pulumi.Int(50),\n\t\t\t},\n\t\t\tAwsAttributes: \u0026databricks.ClusterAwsAttributesArgs{\n\t\t\t\tInstanceProfileArn: sharedInstanceProfile.ID(),\n\t\t\t\tAvailability: pulumi.String(\"SPOT\"),\n\t\t\t\tZoneId: pulumi.String(\"us-east-1\"),\n\t\t\t\tFirstOnDemand: pulumi.Int(1),\n\t\t\t\tSpotBidPricePercent: pulumi.Int(100),\n\t\t\t},\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.Policy;\nimport com.pulumi.aws.iam.PolicyArgs;\nimport com.pulumi.aws.iam.RolePolicyAttachment;\nimport com.pulumi.aws.iam.RolePolicyAttachmentArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport com.pulumi.databricks.InstanceProfile;\nimport com.pulumi.databricks.InstanceProfileArgs;\nimport com.pulumi.databricks.DatabricksFunctions;\nimport com.pulumi.databricks.inputs.GetSparkVersionArgs;\nimport com.pulumi.databricks.inputs.GetNodeTypeArgs;\nimport com.pulumi.databricks.Cluster;\nimport com.pulumi.databricks.ClusterArgs;\nimport com.pulumi.databricks.inputs.ClusterAutoscaleArgs;\nimport com.pulumi.databricks.inputs.ClusterAwsAttributesArgs;\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 crossaccountRoleName = config.get(\"crossaccountRoleName\");\n final var assumeRoleForEc2 = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"ec2.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var roleForS3Access = new Role(\"roleForS3Access\", RoleArgs.builder()\n .name(\"shared-ec2-role-for-s3\")\n .description(\"Role for shared access\")\n .assumeRolePolicy(assumeRoleForEc2.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var passRoleForS3Access = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"iam:PassRole\")\n .resources(roleForS3Access.arn())\n .build())\n .build());\n\n var passRoleForS3AccessPolicy = new Policy(\"passRoleForS3AccessPolicy\", PolicyArgs.builder()\n .name(\"shared-pass-role-for-s3-access\")\n .path(\"/\")\n .policy(passRoleForS3Access.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(passRoleForS3Access -\u003e passRoleForS3Access.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .build());\n\n var crossAccount = new RolePolicyAttachment(\"crossAccount\", RolePolicyAttachmentArgs.builder()\n .policyArn(passRoleForS3AccessPolicy.arn())\n .role(crossaccountRoleName)\n .build());\n\n var shared = new InstanceProfile(\"shared\", InstanceProfileArgs.builder()\n .name(\"shared-instance-profile\")\n .role(roleForS3Access.name())\n .build());\n\n var sharedInstanceProfile = new InstanceProfile(\"sharedInstanceProfile\", InstanceProfileArgs.builder()\n .instanceProfileArn(shared.arn())\n .build());\n\n final var latest = DatabricksFunctions.getSparkVersion();\n\n final var smallest = DatabricksFunctions.getNodeType(GetNodeTypeArgs.builder()\n .localDisk(true)\n .build());\n\n var this_ = new Cluster(\"this\", ClusterArgs.builder()\n .clusterName(\"Shared Autoscaling\")\n .sparkVersion(latest.applyValue(getSparkVersionResult -\u003e getSparkVersionResult.id()))\n .nodeTypeId(smallest.applyValue(getNodeTypeResult -\u003e getNodeTypeResult.id()))\n .autoterminationMinutes(20)\n .autoscale(ClusterAutoscaleArgs.builder()\n .minWorkers(1)\n .maxWorkers(50)\n .build())\n .awsAttributes(ClusterAwsAttributesArgs.builder()\n .instanceProfileArn(sharedInstanceProfile.id())\n .availability(\"SPOT\")\n .zoneId(\"us-east-1\")\n .firstOnDemand(1)\n .spotBidPricePercent(100)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n crossaccountRoleName:\n type: string\nresources:\n roleForS3Access:\n type: aws:iam:Role\n name: role_for_s3_access\n properties:\n name: shared-ec2-role-for-s3\n description: Role for shared access\n assumeRolePolicy: ${assumeRoleForEc2.json}\n passRoleForS3AccessPolicy:\n type: aws:iam:Policy\n name: pass_role_for_s3_access\n properties:\n name: shared-pass-role-for-s3-access\n path: /\n policy: ${passRoleForS3Access.json}\n crossAccount:\n type: aws:iam:RolePolicyAttachment\n name: cross_account\n properties:\n policyArn: ${passRoleForS3AccessPolicy.arn}\n role: ${crossaccountRoleName}\n shared:\n type: aws:iam:InstanceProfile\n properties:\n name: shared-instance-profile\n role: ${roleForS3Access.name}\n sharedInstanceProfile:\n type: databricks:InstanceProfile\n name: shared\n properties:\n instanceProfileArn: ${shared.arn}\n this:\n type: databricks:Cluster\n properties:\n clusterName: Shared Autoscaling\n sparkVersion: ${latest.id}\n nodeTypeId: ${smallest.id}\n autoterminationMinutes: 20\n autoscale:\n minWorkers: 1\n maxWorkers: 50\n awsAttributes:\n instanceProfileArn: ${sharedInstanceProfile.id}\n availability: SPOT\n zoneId: us-east-1\n firstOnDemand: 1\n spotBidPricePercent: 100\nvariables:\n assumeRoleForEc2:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - ec2.amazonaws.com\n type: Service\n passRoleForS3Access:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - effect: Allow\n actions:\n - iam:PassRole\n resources:\n - ${roleForS3Access.arn}\n latest:\n fn::invoke:\n function: databricks:getSparkVersion\n arguments: {}\n smallest:\n fn::invoke:\n function: databricks:getNodeType\n arguments:\n localDisk: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Usage with Cluster Policies\n\nIt is advised to keep all common configurations in Cluster Policies to maintain control of the environments launched, so `databricks.Cluster` above could be replaced with `databricks.ClusterPolicy`:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst _this = new databricks.ClusterPolicy(\"this\", {\n name: \"Policy with predefined instance profile\",\n definition: JSON.stringify({\n \"aws_attributes.instance_profile_arn\": {\n type: \"fixed\",\n value: shared.id,\n },\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_databricks as databricks\n\nthis = databricks.ClusterPolicy(\"this\",\n name=\"Policy with predefined instance profile\",\n definition=json.dumps({\n \"aws_attributes.instance_profile_arn\": {\n \"type\": \"fixed\",\n \"value\": shared[\"id\"],\n },\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Databricks = Pulumi.Databricks;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @this = new Databricks.ClusterPolicy(\"this\", new()\n {\n Name = \"Policy with predefined instance profile\",\n Definition = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"aws_attributes.instance_profile_arn\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"type\"] = \"fixed\",\n [\"value\"] = shared.Id,\n },\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"aws_attributes.instance_profile_arn\": map[string]interface{}{\n\t\t\t\t\"type\": \"fixed\",\n\t\t\t\t\"value\": shared.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = databricks.NewClusterPolicy(ctx, \"this\", \u0026databricks.ClusterPolicyArgs{\n\t\t\tName: pulumi.String(\"Policy with predefined instance profile\"),\n\t\t\tDefinition: pulumi.String(json0),\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.ClusterPolicy;\nimport com.pulumi.databricks.ClusterPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\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 var this_ = new ClusterPolicy(\"this\", ClusterPolicyArgs.builder()\n .name(\"Policy with predefined instance profile\")\n .definition(serializeJson(\n jsonObject(\n jsonProperty(\"aws_attributes.instance_profile_arn\", jsonObject(\n jsonProperty(\"type\", \"fixed\"),\n jsonProperty(\"value\", shared.id())\n ))\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: databricks:ClusterPolicy\n properties:\n name: Policy with predefined instance profile\n definition:\n fn::toJSON:\n aws_attributes.instance_profile_arn:\n type: fixed\n value: ${shared.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Granting access to all users\n\nYou can make instance profile available to all users by associating it with the special group called `users` through databricks.Group data source.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst _this = new databricks.InstanceProfile(\"this\", {instanceProfileArn: shared.id});\nconst users = databricks.getGroup({\n displayName: \"users\",\n});\nconst all = new databricks.GroupInstanceProfile(\"all\", {\n groupId: users.then(users =\u003e users.id),\n instanceProfileId: _this.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_databricks as databricks\n\nthis = databricks.InstanceProfile(\"this\", instance_profile_arn=shared[\"id\"])\nusers = databricks.get_group(display_name=\"users\")\nall = databricks.GroupInstanceProfile(\"all\",\n group_id=users.id,\n instance_profile_id=this.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 @this = new Databricks.InstanceProfile(\"this\", new()\n {\n InstanceProfileArn = shared.Id,\n });\n\n var users = Databricks.GetGroup.Invoke(new()\n {\n DisplayName = \"users\",\n });\n\n var all = new Databricks.GroupInstanceProfile(\"all\", new()\n {\n GroupId = users.Apply(getGroupResult =\u003e getGroupResult.Id),\n InstanceProfileId = @this.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tthis, err := databricks.NewInstanceProfile(ctx, \"this\", \u0026databricks.InstanceProfileArgs{\n\t\t\tInstanceProfileArn: pulumi.Any(shared.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tusers, err := databricks.LookupGroup(ctx, \u0026databricks.LookupGroupArgs{\n\t\t\tDisplayName: \"users\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewGroupInstanceProfile(ctx, \"all\", \u0026databricks.GroupInstanceProfileArgs{\n\t\t\tGroupId: pulumi.String(users.Id),\n\t\t\tInstanceProfileId: this.ID(),\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.InstanceProfile;\nimport com.pulumi.databricks.InstanceProfileArgs;\nimport com.pulumi.databricks.DatabricksFunctions;\nimport com.pulumi.databricks.inputs.GetGroupArgs;\nimport com.pulumi.databricks.GroupInstanceProfile;\nimport com.pulumi.databricks.GroupInstanceProfileArgs;\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 var this_ = new InstanceProfile(\"this\", InstanceProfileArgs.builder()\n .instanceProfileArn(shared.id())\n .build());\n\n final var users = DatabricksFunctions.getGroup(GetGroupArgs.builder()\n .displayName(\"users\")\n .build());\n\n var all = new GroupInstanceProfile(\"all\", GroupInstanceProfileArgs.builder()\n .groupId(users.applyValue(getGroupResult -\u003e getGroupResult.id()))\n .instanceProfileId(this_.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: databricks:InstanceProfile\n properties:\n instanceProfileArn: ${shared.id}\n all:\n type: databricks:GroupInstanceProfile\n properties:\n groupId: ${users.id}\n instanceProfileId: ${this.id}\nvariables:\n users:\n fn::invoke:\n function: databricks:getGroup\n arguments:\n displayName: users\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Usage with Databricks SQL serverless\n\nWhen the instance profile ARN and its associated IAM role ARN don't match and the instance profile is intended for use with Databricks SQL serverless, the `iam_role_arn` parameter can be specified.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst sqlServerlessAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"AWS\",\n identifiers: [\"arn:aws:iam::790110701330:role/serverless-customer-resource-role\"],\n }],\n conditions: [{\n test: \"StringEquals\",\n variable: \"sts:ExternalID\",\n values: [\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\",\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\",\n ],\n }],\n }],\n});\nconst _this = new aws.iam.Role(\"this\", {\n name: \"my-databricks-sql-serverless-role\",\n assumeRolePolicy: sqlServerlessAssumeRole.then(sqlServerlessAssumeRole =\u003e sqlServerlessAssumeRole.json),\n});\nconst thisInstanceProfile = new aws.iam.InstanceProfile(\"this\", {\n name: \"my-databricks-sql-serverless-instance-profile\",\n role: _this.name,\n});\nconst thisInstanceProfile2 = new databricks.InstanceProfile(\"this\", {\n instanceProfileArn: thisInstanceProfile.arn,\n iamRoleArn: _this.arn,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_databricks as databricks\n\nsql_serverless_assume_role = aws.iam.get_policy_document(statements=[{\n \"actions\": [\"sts:AssumeRole\"],\n \"principals\": [{\n \"type\": \"AWS\",\n \"identifiers\": [\"arn:aws:iam::790110701330:role/serverless-customer-resource-role\"],\n }],\n \"conditions\": [{\n \"test\": \"StringEquals\",\n \"variable\": \"sts:ExternalID\",\n \"values\": [\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\",\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\",\n ],\n }],\n}])\nthis = aws.iam.Role(\"this\",\n name=\"my-databricks-sql-serverless-role\",\n assume_role_policy=sql_serverless_assume_role.json)\nthis_instance_profile = aws.iam.InstanceProfile(\"this\",\n name=\"my-databricks-sql-serverless-instance-profile\",\n role=this.name)\nthis_instance_profile2 = databricks.InstanceProfile(\"this\",\n instance_profile_arn=this_instance_profile.arn,\n iam_role_arn=this.arn)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Databricks = Pulumi.Databricks;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var sqlServerlessAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"AWS\",\n Identifiers = new[]\n {\n \"arn:aws:iam::790110701330:role/serverless-customer-resource-role\",\n },\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Variable = \"sts:ExternalID\",\n Values = new[]\n {\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\",\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\",\n },\n },\n },\n },\n },\n });\n\n var @this = new Aws.Iam.Role(\"this\", new()\n {\n Name = \"my-databricks-sql-serverless-role\",\n AssumeRolePolicy = sqlServerlessAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var thisInstanceProfile = new Aws.Iam.InstanceProfile(\"this\", new()\n {\n Name = \"my-databricks-sql-serverless-instance-profile\",\n Role = @this.Name,\n });\n\n var thisInstanceProfile2 = new Databricks.InstanceProfile(\"this\", new()\n {\n InstanceProfileArn = thisInstanceProfile.Arn,\n IamRoleArn = @this.Arn,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsqlServerlessAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"AWS\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"arn:aws:iam::790110701330:role/serverless-customer-resource-role\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tConditions: []iam.GetPolicyDocumentStatementCondition{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTest: \"StringEquals\",\n\t\t\t\t\t\t\tVariable: \"sts:ExternalID\",\n\t\t\t\t\t\t\tValues: []string{\n\t\t\t\t\t\t\t\t\"databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\",\n\t\t\t\t\t\t\t\t\"databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthis, err := iam.NewRole(ctx, \"this\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"my-databricks-sql-serverless-role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(sqlServerlessAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tthisInstanceProfile, err := iam.NewInstanceProfile(ctx, \"this\", \u0026iam.InstanceProfileArgs{\n\t\t\tName: pulumi.String(\"my-databricks-sql-serverless-instance-profile\"),\n\t\t\tRole: this.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = databricks.NewInstanceProfile(ctx, \"this\", \u0026databricks.InstanceProfileArgs{\n\t\t\tInstanceProfileArn: thisInstanceProfile.Arn,\n\t\t\tIamRoleArn: this.Arn,\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.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.InstanceProfile;\nimport com.pulumi.aws.iam.InstanceProfileArgs;\nimport com.pulumi.databricks.InstanceProfile;\nimport com.pulumi.databricks.InstanceProfileArgs;\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 sqlServerlessAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"AWS\")\n .identifiers(\"arn:aws:iam::790110701330:role/serverless-customer-resource-role\")\n .build())\n .conditions(GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .variable(\"sts:ExternalID\")\n .values( \n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\",\n \"databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\")\n .build())\n .build())\n .build());\n\n var this_ = new Role(\"this\", RoleArgs.builder()\n .name(\"my-databricks-sql-serverless-role\")\n .assumeRolePolicy(sqlServerlessAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var thisInstanceProfile = new InstanceProfile(\"thisInstanceProfile\", InstanceProfileArgs.builder()\n .name(\"my-databricks-sql-serverless-instance-profile\")\n .role(this_.name())\n .build());\n\n var thisInstanceProfile2 = new InstanceProfile(\"thisInstanceProfile2\", InstanceProfileArgs.builder()\n .instanceProfileArn(thisInstanceProfile.arn())\n .iamRoleArn(this_.arn())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n this:\n type: aws:iam:Role\n properties:\n name: my-databricks-sql-serverless-role\n assumeRolePolicy: ${sqlServerlessAssumeRole.json}\n thisInstanceProfile:\n type: aws:iam:InstanceProfile\n name: this\n properties:\n name: my-databricks-sql-serverless-instance-profile\n role: ${this.name}\n thisInstanceProfile2:\n type: databricks:InstanceProfile\n name: this\n properties:\n instanceProfileArn: ${thisInstanceProfile.arn}\n iamRoleArn: ${this.arn}\nvariables:\n sqlServerlessAssumeRole:\n fn::invoke:\n function: aws:iam:getPolicyDocument\n arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: AWS\n identifiers:\n - arn:aws:iam::790110701330:role/serverless-customer-resource-role\n conditions:\n - test: StringEquals\n variable: sts:ExternalID\n values:\n - databricks-serverless-\u003cYOUR_WORKSPACE_ID1\u003e\n - databricks-serverless-\u003cYOUR_WORKSPACE_ID2\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe resource instance profile can be imported using the ARN of it\n\nbash\n\n```sh\n$ pulumi import databricks:index/instanceProfile:InstanceProfile this \u003cinstance-profile-arn\u003e\n```\n\n", "properties": { "iamRoleArn": { "type": "string", @@ -25835,7 +25844,7 @@ }, "config": { "$ref": "#/types/databricks:index/ModelServingConfig:ModelServingConfig", - "description": "The model serving endpoint configuration.\n" + "description": "The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated.\n" }, "name": { "type": "string", @@ -25865,7 +25874,6 @@ } }, "required": [ - "config", "name", "servingEndpointId" ], @@ -25876,7 +25884,7 @@ }, "config": { "$ref": "#/types/databricks:index/ModelServingConfig:ModelServingConfig", - "description": "The model serving endpoint configuration.\n" + "description": "The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated.\n" }, "name": { "type": "string", @@ -25902,9 +25910,6 @@ "description": "Tags to be attached to the serving endpoint and automatically propagated to billing logs.\n" } }, - "requiredInputs": [ - "config" - ], "stateInputs": { "description": "Input properties used for looking up and filtering ModelServing resources.\n", "properties": { @@ -25914,7 +25919,7 @@ }, "config": { "$ref": "#/types/databricks:index/ModelServingConfig:ModelServingConfig", - "description": "The model serving endpoint configuration.\n" + "description": "The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated.\n" }, "name": { "type": "string", @@ -27855,6 +27860,8 @@ } }, "required": [ + "format", + "language", "objectId", "objectType", "path", @@ -29484,6 +29491,10 @@ "type": "string", "description": "Required when `authentication_type` is `DATABRICKS`.\n" }, + "expirationTime": { + "type": "integer", + "description": "Expiration timestamp of the token in epoch milliseconds.\n" + }, "ipAccessList": { "$ref": "#/types/databricks:index/RecipientIpAccessList:RecipientIpAccessList", "description": "Recipient IP access list.\n" @@ -29558,6 +29569,10 @@ "description": "Required when `authentication_type` is `DATABRICKS`.\n", "willReplaceOnChanges": true }, + "expirationTime": { + "type": "integer", + "description": "Expiration timestamp of the token in epoch milliseconds.\n" + }, "ipAccessList": { "$ref": "#/types/databricks:index/RecipientIpAccessList:RecipientIpAccessList", "description": "Recipient IP access list.\n" @@ -29628,6 +29643,10 @@ "description": "Required when `authentication_type` is `DATABRICKS`.\n", "willReplaceOnChanges": true }, + "expirationTime": { + "type": "integer", + "description": "Expiration timestamp of the token in epoch milliseconds.\n" + }, "ipAccessList": { "$ref": "#/types/databricks:index/RecipientIpAccessList:RecipientIpAccessList", "description": "Recipient IP access list.\n" @@ -32515,7 +32534,7 @@ }, "lifetimeSeconds": { "type": "integer", - "description": "(Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely.\n" + "description": "(Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform.\n" }, "tokenId": { "type": "string" @@ -32546,7 +32565,7 @@ }, "lifetimeSeconds": { "type": "integer", - "description": "(Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely.\n", + "description": "(Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform.\n", "willReplaceOnChanges": true }, "tokenId": { @@ -32569,7 +32588,7 @@ }, "lifetimeSeconds": { "type": "integer", - "description": "(Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely.\n", + "description": "(Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform.\n", "willReplaceOnChanges": true }, "tokenId": { @@ -35497,20 +35516,7 @@ } }, "databricks:index/getMwsWorkspaces:getMwsWorkspaces": { - "description": "\u003e **Note** If you have a fully automated setup with workspaces created by databricks.MwsWorkspaces or azurerm_databricks_workspace, please make sure to add depends_on attribute in order to prevent _default auth: cannot configure default credentials_ errors.\n\nLists all databricks.MwsWorkspaces in Databricks Account.\n\n\u003e **Note** `account_id` provider configuration property is required for this resource to work.\n\n## Example Usage\n\nListing all workspaces in\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst all = databricks.getMwsWorkspaces({});\nexport const allMwsWorkspaces = all.then(all =\u003e all.ids);\n```\n```python\nimport pulumi\nimport pulumi_databricks as databricks\n\nall = databricks.get_mws_workspaces()\npulumi.export(\"allMwsWorkspaces\", all.ids)\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 all = Databricks.GetMwsWorkspaces.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"allMwsWorkspaces\"] = all.Apply(getMwsWorkspacesResult =\u003e getMwsWorkspacesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall, err := databricks.LookupMwsWorkspaces(ctx, \u0026databricks.LookupMwsWorkspacesArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"allMwsWorkspaces\", all.Ids)\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.DatabricksFunctions;\nimport com.pulumi.databricks.inputs.GetMwsWorkspacesArgs;\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 all = DatabricksFunctions.getMwsWorkspaces();\n\n ctx.export(\"allMwsWorkspaces\", all.applyValue(getMwsWorkspacesResult -\u003e getMwsWorkspacesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n function: databricks:getMwsWorkspaces\n arguments: {}\noutputs:\n allMwsWorkspaces: ${all.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Related Resources\n\nThe following resources are used in the same context:\n\n* databricks.MwsWorkspaces to manage Databricks Workspaces on AWS and GCP.\n* databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurerm_databricks_workspace\n", - "inputs": { - "description": "A collection of arguments for invoking getMwsWorkspaces.\n", - "properties": { - "ids": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "name-to-id map for all of the workspaces in the account\n" - } - }, - "type": "object" - }, + "description": "\u003e **Note** If you have a fully automated setup with workspaces created by databricks.MwsWorkspaces or azurerm_databricks_workspace, please make sure to add depends_on attribute in order to prevent _default auth: cannot configure default credentials_ errors.\n\nLists all databricks.MwsWorkspaces in Databricks Account.\n\n\u003e **Note** `account_id` provider configuration property is required for this resource to work.\n\n## Example Usage\n\nListing all workspaces in\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as databricks from \"@pulumi/databricks\";\n\nconst all = databricks.getMwsWorkspaces({});\nexport const allMwsWorkspaces = all.then(all =\u003e all.ids);\n```\n```python\nimport pulumi\nimport pulumi_databricks as databricks\n\nall = databricks.get_mws_workspaces()\npulumi.export(\"allMwsWorkspaces\", all.ids)\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 all = Databricks.GetMwsWorkspaces.Invoke();\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"allMwsWorkspaces\"] = all.Apply(getMwsWorkspacesResult =\u003e getMwsWorkspacesResult.Ids),\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-databricks/sdk/go/databricks\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall, err := databricks.LookupMwsWorkspaces(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"allMwsWorkspaces\", all.Ids)\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.DatabricksFunctions;\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 all = DatabricksFunctions.getMwsWorkspaces();\n\n ctx.export(\"allMwsWorkspaces\", all.applyValue(getMwsWorkspacesResult -\u003e getMwsWorkspacesResult.ids()));\n }\n}\n```\n```yaml\nvariables:\n all:\n fn::invoke:\n function: databricks:getMwsWorkspaces\n arguments: {}\noutputs:\n allMwsWorkspaces: ${all.ids}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Related Resources\n\nThe following resources are used in the same context:\n\n* databricks.MwsWorkspaces to manage Databricks Workspaces on AWS and GCP.\n* databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurerm_databricks_workspace\n", "outputs": { "description": "A collection of values returned by getMwsWorkspaces.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 764f7ce63..069b117ef 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -7,7 +7,7 @@ replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraf replace github.com/databricks/terraform-provider-databricks => ../upstream require ( - github.com/databricks/databricks-sdk-go v0.55.0 + github.com/databricks/databricks-sdk-go v0.56.1 github.com/databricks/terraform-provider-databricks v1.58.0 github.com/pulumi/providertest v0.1.3 github.com/pulumi/pulumi-terraform-bridge/v3 v3.102.0 @@ -99,7 +99,6 @@ require ( github.com/hashicorp/terraform-plugin-framework-validators v0.16.0 // indirect github.com/hashicorp/terraform-plugin-go v0.26.0 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect - github.com/hashicorp/terraform-plugin-mux v0.18.0 // indirect github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0 // indirect github.com/hashicorp/terraform-plugin-testing v1.11.0 // indirect github.com/hashicorp/terraform-registry-address v0.2.4 // indirect @@ -182,7 +181,7 @@ require ( github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/yuin/goldmark v1.7.4 // indirect - github.com/zclconf/go-cty v1.16.1 // indirect + github.com/zclconf/go-cty v1.16.2 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index ff1f807d6..17e2871b0 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1520,8 +1520,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/cyphar/filepath-securejoin v0.3.6 h1:4d9N5ykBnSp5Xn2JkhocYDkOpURL/18CYMpo6xB9uWM= github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= -github.com/databricks/databricks-sdk-go v0.55.0 h1:ReziD6spzTDltM0ml80LggKo27F3oUjgTinCFDJDnak= -github.com/databricks/databricks-sdk-go v0.55.0/go.mod h1:JpLizplEs+up9/Z4Xf2x++o3sM9eTTWFGzIXAptKJzI= +github.com/databricks/databricks-sdk-go v0.56.1 h1:sgweTRvAQaI8EPrfDnVdAB0lNX6L5uTT720SlMMQI2U= +github.com/databricks/databricks-sdk-go v0.56.1/go.mod h1:JpLizplEs+up9/Z4Xf2x++o3sM9eTTWFGzIXAptKJzI= 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= @@ -2311,8 +2311,8 @@ github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4 github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty v1.14.4/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty v1.15.0/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= -github.com/zclconf/go-cty v1.16.1 h1:a5TZEPzBFFR53udlIKApXzj8JIF4ZNQ6abH79z5R1S0= -github.com/zclconf/go-cty v1.16.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= +github.com/zclconf/go-cty v1.16.2 h1:LAJSwc3v81IRBZyUVQDUdZ7hs3SYs9jv0eZJDWHD/70= +github.com/zclconf/go-cty v1.16.2/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940 h1:4r45xpDWB6ZMSMNJFMOjqrGHynW3DIBuR2H9j0ug+Mo= github.com/zclconf/go-cty-debug v0.0.0-20240509010212-0d6042c53940/go.mod h1:CmBdvvj3nqzfzJ6nTCIwDTPZ56aVGvDrmztiO5g3qrM= diff --git a/sdk/dotnet/App.cs b/sdk/dotnet/App.cs index a11ffbff3..d27267155 100644 --- a/sdk/dotnet/App.cs +++ b/sdk/dotnet/App.cs @@ -84,6 +84,9 @@ public partial class App : global::Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + [Output("noCompute")] + public Output NoCompute { get; private set; } = null!; + [Output("pendingDeployment")] public Output PendingDeployment { get; private set; } = null!; @@ -184,6 +187,9 @@ public sealed class AppArgs : global::Pulumi.ResourceArgs [Input("name")] public Input? Name { get; set; } + [Input("noCompute")] + public Input? NoCompute { get; set; } + [Input("resources")] private InputList? _resources; @@ -249,6 +255,9 @@ public sealed class AppState : global::Pulumi.ResourceArgs [Input("name")] public Input? Name { get; set; } + [Input("noCompute")] + public Input? NoCompute { get; set; } + [Input("pendingDeployment")] public Input? PendingDeployment { get; set; } diff --git a/sdk/dotnet/GetMwsWorkspaces.cs b/sdk/dotnet/GetMwsWorkspaces.cs index af9cd5d9f..54b4aaf95 100644 --- a/sdk/dotnet/GetMwsWorkspaces.cs +++ b/sdk/dotnet/GetMwsWorkspaces.cs @@ -46,8 +46,8 @@ public static class GetMwsWorkspaces /// * databricks.MwsWorkspaces to manage Databricks Workspaces on AWS and GCP. /// * databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurerm_databricks_workspace /// - public static Task InvokeAsync(GetMwsWorkspacesArgs? args = null, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.InvokeAsync("databricks:index/getMwsWorkspaces:getMwsWorkspaces", args ?? new GetMwsWorkspacesArgs(), options.WithDefaults()); + public static Task InvokeAsync(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("databricks:index/getMwsWorkspaces:getMwsWorkspaces", InvokeArgs.Empty, options.WithDefaults()); /// /// > **Note** If you have a fully automated setup with workspaces created by databricks.MwsWorkspaces or azurerm_databricks_workspace, please make sure to add depends_on attribute in order to prevent _default auth: cannot configure default credentials_ errors. @@ -84,8 +84,8 @@ public static Task InvokeAsync(GetMwsWorkspacesArgs? arg /// * databricks.MwsWorkspaces to manage Databricks Workspaces on AWS and GCP. /// * databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurerm_databricks_workspace /// - public static Output Invoke(GetMwsWorkspacesInvokeArgs? args = null, InvokeOptions? options = null) - => global::Pulumi.Deployment.Instance.Invoke("databricks:index/getMwsWorkspaces:getMwsWorkspaces", args ?? new GetMwsWorkspacesInvokeArgs(), options.WithDefaults()); + public static Output Invoke(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("databricks:index/getMwsWorkspaces:getMwsWorkspaces", InvokeArgs.Empty, options.WithDefaults()); /// /// > **Note** If you have a fully automated setup with workspaces created by databricks.MwsWorkspaces or azurerm_databricks_workspace, please make sure to add depends_on attribute in order to prevent _default auth: cannot configure default credentials_ errors. @@ -122,49 +122,8 @@ public static Output Invoke(GetMwsWorkspacesInvokeArgs? /// * databricks.MwsWorkspaces to manage Databricks Workspaces on AWS and GCP. /// * databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurerm_databricks_workspace /// - public static Output Invoke(GetMwsWorkspacesInvokeArgs args, InvokeOutputOptions options) - => global::Pulumi.Deployment.Instance.Invoke("databricks:index/getMwsWorkspaces:getMwsWorkspaces", args ?? new GetMwsWorkspacesInvokeArgs(), options.WithDefaults()); - } - - - public sealed class GetMwsWorkspacesArgs : global::Pulumi.InvokeArgs - { - [Input("ids")] - private Dictionary? _ids; - - /// - /// name-to-id map for all of the workspaces in the account - /// - public Dictionary Ids - { - get => _ids ?? (_ids = new Dictionary()); - set => _ids = value; - } - - public GetMwsWorkspacesArgs() - { - } - public static new GetMwsWorkspacesArgs Empty => new GetMwsWorkspacesArgs(); - } - - public sealed class GetMwsWorkspacesInvokeArgs : global::Pulumi.InvokeArgs - { - [Input("ids")] - private InputMap? _ids; - - /// - /// name-to-id map for all of the workspaces in the account - /// - public InputMap Ids - { - get => _ids ?? (_ids = new InputMap()); - set => _ids = value; - } - - public GetMwsWorkspacesInvokeArgs() - { - } - public static new GetMwsWorkspacesInvokeArgs Empty => new GetMwsWorkspacesInvokeArgs(); + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("databricks:index/getMwsWorkspaces:getMwsWorkspaces", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.cs b/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.cs index e0e9ad79b..930e2225b 100644 --- a/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.cs +++ b/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.cs @@ -12,8 +12,8 @@ namespace Pulumi.Databricks.Inputs public sealed class GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs : global::Pulumi.InvokeArgs { - [Input("behavior", required: true)] - public string Behavior { get; set; } = null!; + [Input("behavior")] + public string? Behavior { get; set; } public GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs() { diff --git a/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs.cs b/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs.cs index 3eb96a27a..c20ac4d6d 100644 --- a/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs.cs +++ b/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs.cs @@ -12,8 +12,8 @@ namespace Pulumi.Databricks.Inputs public sealed class GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiInputArgs : global::Pulumi.ResourceArgs { - [Input("behavior", required: true)] - public Input Behavior { get; set; } = null!; + [Input("behavior")] + public Input? Behavior { get; set; } public GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiInputArgs() { diff --git a/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.cs b/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.cs index 1c620461a..c661fa8b4 100644 --- a/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.cs +++ b/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.cs @@ -12,8 +12,8 @@ namespace Pulumi.Databricks.Inputs public sealed class GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs : global::Pulumi.InvokeArgs { - [Input("behavior", required: true)] - public string Behavior { get; set; } = null!; + [Input("behavior")] + public string? Behavior { get; set; } public GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs() { diff --git a/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs.cs b/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs.cs index fe954af4e..b1527f04d 100644 --- a/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs.cs +++ b/sdk/dotnet/Inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs.cs @@ -12,8 +12,8 @@ namespace Pulumi.Databricks.Inputs public sealed class GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiInputArgs : global::Pulumi.ResourceArgs { - [Input("behavior", required: true)] - public Input Behavior { get; set; } = null!; + [Input("behavior")] + public Input? Behavior { get; set; } public GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiInputArgs() { diff --git a/sdk/dotnet/Inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.cs b/sdk/dotnet/Inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.cs index 92fbb1466..dcd5a450d 100644 --- a/sdk/dotnet/Inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.cs +++ b/sdk/dotnet/Inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.cs @@ -18,11 +18,11 @@ public sealed class GetServingEndpointsEndpointConfigServedEntityExternalModelGo [Input("privateKeyPlaintext")] public string? PrivateKeyPlaintext { get; set; } - [Input("projectId")] - public string? ProjectId { get; set; } + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; - [Input("region")] - public string? Region { get; set; } + [Input("region", required: true)] + public string Region { get; set; } = null!; public GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs() { diff --git a/sdk/dotnet/Inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.cs b/sdk/dotnet/Inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.cs index 3b0e23728..64a671a84 100644 --- a/sdk/dotnet/Inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.cs +++ b/sdk/dotnet/Inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.cs @@ -18,11 +18,11 @@ public sealed class GetServingEndpointsEndpointConfigServedEntityExternalModelGo [Input("privateKeyPlaintext")] public Input? PrivateKeyPlaintext { get; set; } - [Input("projectId")] - public Input? ProjectId { get; set; } + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; - [Input("region")] - public Input? Region { get; set; } + [Input("region", required: true)] + public Input Region { get; set; } = null!; public GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigInputArgs() { diff --git a/sdk/dotnet/Inputs/JobTaskForEachTaskTaskSparkJarTaskArgs.cs b/sdk/dotnet/Inputs/JobTaskForEachTaskTaskSparkJarTaskArgs.cs index 9dc8da99c..c79a0bcb8 100644 --- a/sdk/dotnet/Inputs/JobTaskForEachTaskTaskSparkJarTaskArgs.cs +++ b/sdk/dotnet/Inputs/JobTaskForEachTaskTaskSparkJarTaskArgs.cs @@ -33,6 +33,9 @@ public InputList Parameters set => _parameters = value; } + [Input("runAsRepl")] + public Input? RunAsRepl { get; set; } + public JobTaskForEachTaskTaskSparkJarTaskArgs() { } diff --git a/sdk/dotnet/Inputs/JobTaskForEachTaskTaskSparkJarTaskGetArgs.cs b/sdk/dotnet/Inputs/JobTaskForEachTaskTaskSparkJarTaskGetArgs.cs index e2987cb0a..b28123fd1 100644 --- a/sdk/dotnet/Inputs/JobTaskForEachTaskTaskSparkJarTaskGetArgs.cs +++ b/sdk/dotnet/Inputs/JobTaskForEachTaskTaskSparkJarTaskGetArgs.cs @@ -33,6 +33,9 @@ public InputList Parameters set => _parameters = value; } + [Input("runAsRepl")] + public Input? RunAsRepl { get; set; } + public JobTaskForEachTaskTaskSparkJarTaskGetArgs() { } diff --git a/sdk/dotnet/Inputs/JobTaskSparkJarTaskArgs.cs b/sdk/dotnet/Inputs/JobTaskSparkJarTaskArgs.cs index 44a60e44b..5f3ec95db 100644 --- a/sdk/dotnet/Inputs/JobTaskSparkJarTaskArgs.cs +++ b/sdk/dotnet/Inputs/JobTaskSparkJarTaskArgs.cs @@ -33,6 +33,9 @@ public InputList Parameters set => _parameters = value; } + [Input("runAsRepl")] + public Input? RunAsRepl { get; set; } + public JobTaskSparkJarTaskArgs() { } diff --git a/sdk/dotnet/Inputs/JobTaskSparkJarTaskGetArgs.cs b/sdk/dotnet/Inputs/JobTaskSparkJarTaskGetArgs.cs index 912ca7bc0..3888c433e 100644 --- a/sdk/dotnet/Inputs/JobTaskSparkJarTaskGetArgs.cs +++ b/sdk/dotnet/Inputs/JobTaskSparkJarTaskGetArgs.cs @@ -33,6 +33,9 @@ public InputList Parameters set => _parameters = value; } + [Input("runAsRepl")] + public Input? RunAsRepl { get; set; } + public JobTaskSparkJarTaskGetArgs() { } diff --git a/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsInputPiiArgs.cs b/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsInputPiiArgs.cs index 77f4cd1e5..732bd7615 100644 --- a/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsInputPiiArgs.cs +++ b/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsInputPiiArgs.cs @@ -15,8 +15,8 @@ public sealed class ModelServingAiGatewayGuardrailsInputPiiArgs : global::Pulumi /// /// a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. /// - [Input("behavior", required: true)] - public Input Behavior { get; set; } = null!; + [Input("behavior")] + public Input? Behavior { get; set; } public ModelServingAiGatewayGuardrailsInputPiiArgs() { diff --git a/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsInputPiiGetArgs.cs b/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsInputPiiGetArgs.cs index e0c912364..42f73967f 100644 --- a/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsInputPiiGetArgs.cs +++ b/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsInputPiiGetArgs.cs @@ -15,8 +15,8 @@ public sealed class ModelServingAiGatewayGuardrailsInputPiiGetArgs : global::Pul /// /// a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. /// - [Input("behavior", required: true)] - public Input Behavior { get; set; } = null!; + [Input("behavior")] + public Input? Behavior { get; set; } public ModelServingAiGatewayGuardrailsInputPiiGetArgs() { diff --git a/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsOutputPiiArgs.cs b/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsOutputPiiArgs.cs index fce97a10f..94337304f 100644 --- a/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsOutputPiiArgs.cs +++ b/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsOutputPiiArgs.cs @@ -15,8 +15,8 @@ public sealed class ModelServingAiGatewayGuardrailsOutputPiiArgs : global::Pulum /// /// a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. /// - [Input("behavior", required: true)] - public Input Behavior { get; set; } = null!; + [Input("behavior")] + public Input? Behavior { get; set; } public ModelServingAiGatewayGuardrailsOutputPiiArgs() { diff --git a/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsOutputPiiGetArgs.cs b/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsOutputPiiGetArgs.cs index 5088091cd..9d3943acb 100644 --- a/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsOutputPiiGetArgs.cs +++ b/sdk/dotnet/Inputs/ModelServingAiGatewayGuardrailsOutputPiiGetArgs.cs @@ -15,8 +15,8 @@ public sealed class ModelServingAiGatewayGuardrailsOutputPiiGetArgs : global::Pu /// /// a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. /// - [Input("behavior", required: true)] - public Input Behavior { get; set; } = null!; + [Input("behavior")] + public Input? Behavior { get; set; } public ModelServingAiGatewayGuardrailsOutputPiiGetArgs() { diff --git a/sdk/dotnet/Inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.cs b/sdk/dotnet/Inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.cs index 5da52e08c..f0fc52d55 100644 --- a/sdk/dotnet/Inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.cs +++ b/sdk/dotnet/Inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.cs @@ -27,14 +27,14 @@ public sealed class ModelServingConfigServedEntityExternalModelGoogleCloudVertex /// /// This is the Google Cloud project id that the service account is associated with. /// - [Input("projectId")] - public Input? ProjectId { get; set; } + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; /// /// This is the region for the Google Cloud Vertex AI Service. /// - [Input("region")] - public Input? Region { get; set; } + [Input("region", required: true)] + public Input Region { get; set; } = null!; public ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs() { diff --git a/sdk/dotnet/Inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigGetArgs.cs b/sdk/dotnet/Inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigGetArgs.cs index 5554c79b9..68549a14e 100644 --- a/sdk/dotnet/Inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigGetArgs.cs +++ b/sdk/dotnet/Inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigGetArgs.cs @@ -27,14 +27,14 @@ public sealed class ModelServingConfigServedEntityExternalModelGoogleCloudVertex /// /// This is the Google Cloud project id that the service account is associated with. /// - [Input("projectId")] - public Input? ProjectId { get; set; } + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; /// /// This is the region for the Google Cloud Vertex AI Service. /// - [Input("region")] - public Input? Region { get; set; } + [Input("region", required: true)] + public Input Region { get; set; } = null!; public ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigGetArgs() { diff --git a/sdk/dotnet/InstanceProfile.cs b/sdk/dotnet/InstanceProfile.cs index b27837cb5..75e6a91bd 100644 --- a/sdk/dotnet/InstanceProfile.cs +++ b/sdk/dotnet/InstanceProfile.cs @@ -154,7 +154,7 @@ namespace Pulumi.Databricks /// ["aws_attributes.instance_profile_arn"] = new Dictionary<string, object?> /// { /// ["type"] = "fixed", - /// ["value"] = shared.Arn, + /// ["value"] = shared.Id, /// }, /// }), /// }); @@ -176,7 +176,7 @@ namespace Pulumi.Databricks /// { /// var @this = new Databricks.InstanceProfile("this", new() /// { - /// InstanceProfileArn = shared.Arn, + /// InstanceProfileArn = shared.Id, /// }); /// /// var users = Databricks.GetGroup.Invoke(new() diff --git a/sdk/dotnet/ModelServing.cs b/sdk/dotnet/ModelServing.cs index 518a72b19..0543200bb 100644 --- a/sdk/dotnet/ModelServing.cs +++ b/sdk/dotnet/ModelServing.cs @@ -106,10 +106,10 @@ public partial class ModelServing : global::Pulumi.CustomResource public Output AiGateway { get; private set; } = null!; /// - /// The model serving endpoint configuration. + /// The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. /// [Output("config")] - public Output Config { get; private set; } = null!; + public Output Config { get; private set; } = null!; /// /// The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. @@ -149,7 +149,7 @@ public partial class ModelServing : global::Pulumi.CustomResource /// 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 ModelServing(string name, ModelServingArgs args, CustomResourceOptions? options = null) + public ModelServing(string name, ModelServingArgs? args = null, CustomResourceOptions? options = null) : base("databricks:index/modelServing:ModelServing", name, args ?? new ModelServingArgs(), MakeResourceOptions(options, "")) { } @@ -194,10 +194,10 @@ public sealed class ModelServingArgs : global::Pulumi.ResourceArgs public Input? AiGateway { get; set; } /// - /// The model serving endpoint configuration. + /// The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. /// - [Input("config", required: true)] - public Input Config { get; set; } = null!; + [Input("config")] + public Input? Config { get; set; } /// /// The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. @@ -250,7 +250,7 @@ public sealed class ModelServingState : global::Pulumi.ResourceArgs public Input? AiGateway { get; set; } /// - /// The model serving endpoint configuration. + /// The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. /// [Input("config")] public Input? Config { get; set; } diff --git a/sdk/dotnet/Notebook.cs b/sdk/dotnet/Notebook.cs index 4eb921609..608a7fb1e 100644 --- a/sdk/dotnet/Notebook.cs +++ b/sdk/dotnet/Notebook.cs @@ -32,13 +32,13 @@ public partial class Notebook : global::Pulumi.CustomResource public Output ContentBase64 { get; private set; } = null!; [Output("format")] - public Output Format { get; private set; } = null!; + public Output Format { get; private set; } = null!; /// /// One of `SCALA`, `PYTHON`, `SQL`, `R`. /// [Output("language")] - public Output Language { get; private set; } = null!; + public Output Language { get; private set; } = null!; [Output("md5")] public Output Md5 { get; private set; } = null!; diff --git a/sdk/dotnet/Outputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiResult.cs b/sdk/dotnet/Outputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiResult.cs index 97f864d4a..6c1282908 100644 --- a/sdk/dotnet/Outputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiResult.cs +++ b/sdk/dotnet/Outputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiResult.cs @@ -13,10 +13,10 @@ namespace Pulumi.Databricks.Outputs [OutputType] public sealed class GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiResult { - public readonly string Behavior; + public readonly string? Behavior; [OutputConstructor] - private GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiResult(string behavior) + private GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiResult(string? behavior) { Behavior = behavior; } diff --git a/sdk/dotnet/Outputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiResult.cs b/sdk/dotnet/Outputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiResult.cs index c69585122..c5edab3b4 100644 --- a/sdk/dotnet/Outputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiResult.cs +++ b/sdk/dotnet/Outputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiResult.cs @@ -13,10 +13,10 @@ namespace Pulumi.Databricks.Outputs [OutputType] public sealed class GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiResult { - public readonly string Behavior; + public readonly string? Behavior; [OutputConstructor] - private GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiResult(string behavior) + private GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiResult(string? behavior) { Behavior = behavior; } diff --git a/sdk/dotnet/Outputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigResult.cs b/sdk/dotnet/Outputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigResult.cs index 78f254282..d3b410565 100644 --- a/sdk/dotnet/Outputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigResult.cs +++ b/sdk/dotnet/Outputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigResult.cs @@ -15,8 +15,8 @@ public sealed class GetServingEndpointsEndpointConfigServedEntityExternalModelGo { public readonly string? PrivateKey; public readonly string? PrivateKeyPlaintext; - public readonly string? ProjectId; - public readonly string? Region; + public readonly string ProjectId; + public readonly string Region; [OutputConstructor] private GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigResult( @@ -24,9 +24,9 @@ private GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVer string? privateKeyPlaintext, - string? projectId, + string projectId, - string? region) + string region) { PrivateKey = privateKey; PrivateKeyPlaintext = privateKeyPlaintext; diff --git a/sdk/dotnet/Outputs/JobTaskForEachTaskTaskSparkJarTask.cs b/sdk/dotnet/Outputs/JobTaskForEachTaskTaskSparkJarTask.cs index be28f402e..4b3e5ed49 100644 --- a/sdk/dotnet/Outputs/JobTaskForEachTaskTaskSparkJarTask.cs +++ b/sdk/dotnet/Outputs/JobTaskForEachTaskTaskSparkJarTask.cs @@ -22,6 +22,7 @@ public sealed class JobTaskForEachTaskTaskSparkJarTask /// (List) Parameters passed to the main method. /// public readonly ImmutableArray Parameters; + public readonly bool? RunAsRepl; [OutputConstructor] private JobTaskForEachTaskTaskSparkJarTask( @@ -29,11 +30,14 @@ private JobTaskForEachTaskTaskSparkJarTask( string? mainClassName, - ImmutableArray parameters) + ImmutableArray parameters, + + bool? runAsRepl) { JarUri = jarUri; MainClassName = mainClassName; Parameters = parameters; + RunAsRepl = runAsRepl; } } } diff --git a/sdk/dotnet/Outputs/JobTaskSparkJarTask.cs b/sdk/dotnet/Outputs/JobTaskSparkJarTask.cs index f5bbf6814..1c999c9cf 100644 --- a/sdk/dotnet/Outputs/JobTaskSparkJarTask.cs +++ b/sdk/dotnet/Outputs/JobTaskSparkJarTask.cs @@ -22,6 +22,7 @@ public sealed class JobTaskSparkJarTask /// (List) Parameters passed to the main method. /// public readonly ImmutableArray Parameters; + public readonly bool? RunAsRepl; [OutputConstructor] private JobTaskSparkJarTask( @@ -29,11 +30,14 @@ private JobTaskSparkJarTask( string? mainClassName, - ImmutableArray parameters) + ImmutableArray parameters, + + bool? runAsRepl) { JarUri = jarUri; MainClassName = mainClassName; Parameters = parameters; + RunAsRepl = runAsRepl; } } } diff --git a/sdk/dotnet/Outputs/ModelServingAiGatewayGuardrailsInputPii.cs b/sdk/dotnet/Outputs/ModelServingAiGatewayGuardrailsInputPii.cs index 666bb3410..6a5d4c9e2 100644 --- a/sdk/dotnet/Outputs/ModelServingAiGatewayGuardrailsInputPii.cs +++ b/sdk/dotnet/Outputs/ModelServingAiGatewayGuardrailsInputPii.cs @@ -16,10 +16,10 @@ public sealed class ModelServingAiGatewayGuardrailsInputPii /// /// a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. /// - public readonly string Behavior; + public readonly string? Behavior; [OutputConstructor] - private ModelServingAiGatewayGuardrailsInputPii(string behavior) + private ModelServingAiGatewayGuardrailsInputPii(string? behavior) { Behavior = behavior; } diff --git a/sdk/dotnet/Outputs/ModelServingAiGatewayGuardrailsOutputPii.cs b/sdk/dotnet/Outputs/ModelServingAiGatewayGuardrailsOutputPii.cs index 6f79f1312..aab1d86e0 100644 --- a/sdk/dotnet/Outputs/ModelServingAiGatewayGuardrailsOutputPii.cs +++ b/sdk/dotnet/Outputs/ModelServingAiGatewayGuardrailsOutputPii.cs @@ -16,10 +16,10 @@ public sealed class ModelServingAiGatewayGuardrailsOutputPii /// /// a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. /// - public readonly string Behavior; + public readonly string? Behavior; [OutputConstructor] - private ModelServingAiGatewayGuardrailsOutputPii(string behavior) + private ModelServingAiGatewayGuardrailsOutputPii(string? behavior) { Behavior = behavior; } diff --git a/sdk/dotnet/Outputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig.cs b/sdk/dotnet/Outputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig.cs index 65816f6cc..c436492d9 100644 --- a/sdk/dotnet/Outputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig.cs +++ b/sdk/dotnet/Outputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig.cs @@ -24,11 +24,11 @@ public sealed class ModelServingConfigServedEntityExternalModelGoogleCloudVertex /// /// This is the Google Cloud project id that the service account is associated with. /// - public readonly string? ProjectId; + public readonly string ProjectId; /// /// This is the region for the Google Cloud Vertex AI Service. /// - public readonly string? Region; + public readonly string Region; [OutputConstructor] private ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig( @@ -36,9 +36,9 @@ private ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig( string? privateKeyPlaintext, - string? projectId, + string projectId, - string? region) + string region) { PrivateKey = privateKey; PrivateKeyPlaintext = privateKeyPlaintext; diff --git a/sdk/dotnet/Recipient.cs b/sdk/dotnet/Recipient.cs index 9aedef644..0803152bf 100644 --- a/sdk/dotnet/Recipient.cs +++ b/sdk/dotnet/Recipient.cs @@ -105,6 +105,12 @@ public partial class Recipient : global::Pulumi.CustomResource [Output("dataRecipientGlobalMetastoreId")] public Output DataRecipientGlobalMetastoreId { get; private set; } = null!; + /// + /// Expiration timestamp of the token in epoch milliseconds. + /// + [Output("expirationTime")] + public Output ExpirationTime { get; private set; } = null!; + /// /// Recipient IP access list. /// @@ -233,6 +239,12 @@ public sealed class RecipientArgs : global::Pulumi.ResourceArgs [Input("dataRecipientGlobalMetastoreId")] public Input? DataRecipientGlobalMetastoreId { get; set; } + /// + /// Expiration timestamp of the token in epoch milliseconds. + /// + [Input("expirationTime")] + public Input? ExpirationTime { get; set; } + /// /// Recipient IP access list. /// @@ -338,6 +350,12 @@ public sealed class RecipientState : global::Pulumi.ResourceArgs [Input("dataRecipientGlobalMetastoreId")] public Input? DataRecipientGlobalMetastoreId { get; set; } + /// + /// Expiration timestamp of the token in epoch milliseconds. + /// + [Input("expirationTime")] + public Input? ExpirationTime { get; set; } + /// /// Recipient IP access list. /// diff --git a/sdk/dotnet/Token.cs b/sdk/dotnet/Token.cs index 7c53fde84..5fbd94b00 100644 --- a/sdk/dotnet/Token.cs +++ b/sdk/dotnet/Token.cs @@ -81,7 +81,7 @@ public partial class Token : global::Pulumi.CustomResource public Output ExpiryTime { get; private set; } = null!; /// - /// (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + /// (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. /// [Output("lifetimeSeconds")] public Output LifetimeSeconds { get; private set; } = null!; @@ -158,7 +158,7 @@ public sealed class TokenArgs : global::Pulumi.ResourceArgs public Input? ExpiryTime { get; set; } /// - /// (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + /// (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. /// [Input("lifetimeSeconds")] public Input? LifetimeSeconds { get; set; } @@ -187,7 +187,7 @@ public sealed class TokenState : global::Pulumi.ResourceArgs public Input? ExpiryTime { get; set; } /// - /// (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + /// (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. /// [Input("lifetimeSeconds")] public Input? LifetimeSeconds { get; set; } diff --git a/sdk/go/databricks/app.go b/sdk/go/databricks/app.go index bb1e472d1..2d86171b9 100644 --- a/sdk/go/databricks/app.go +++ b/sdk/go/databricks/app.go @@ -54,6 +54,7 @@ type App struct { Description pulumi.StringPtrOutput `pulumi:"description"` // The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace. Name pulumi.StringOutput `pulumi:"name"` + NoCompute pulumi.BoolPtrOutput `pulumi:"noCompute"` PendingDeployment AppPendingDeploymentOutput `pulumi:"pendingDeployment"` // A list of resources that the app have access to. Resources AppResourceArrayOutput `pulumi:"resources"` @@ -115,6 +116,7 @@ type appState struct { Description *string `pulumi:"description"` // The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace. Name *string `pulumi:"name"` + NoCompute *bool `pulumi:"noCompute"` PendingDeployment *AppPendingDeployment `pulumi:"pendingDeployment"` // A list of resources that the app have access to. Resources []AppResource `pulumi:"resources"` @@ -147,6 +149,7 @@ type AppState struct { Description pulumi.StringPtrInput // The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace. Name pulumi.StringPtrInput + NoCompute pulumi.BoolPtrInput PendingDeployment AppPendingDeploymentPtrInput // A list of resources that the app have access to. Resources AppResourceArrayInput @@ -171,7 +174,8 @@ type appArgs struct { // The description of the app. Description *string `pulumi:"description"` // The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace. - Name *string `pulumi:"name"` + Name *string `pulumi:"name"` + NoCompute *bool `pulumi:"noCompute"` // A list of resources that the app have access to. Resources []AppResource `pulumi:"resources"` } @@ -181,7 +185,8 @@ type AppArgs struct { // The description of the app. Description pulumi.StringPtrInput // The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace. - Name pulumi.StringPtrInput + Name pulumi.StringPtrInput + NoCompute pulumi.BoolPtrInput // A list of resources that the app have access to. Resources AppResourceArrayInput } @@ -312,6 +317,10 @@ func (o AppOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *App) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +func (o AppOutput) NoCompute() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *App) pulumi.BoolPtrOutput { return v.NoCompute }).(pulumi.BoolPtrOutput) +} + func (o AppOutput) PendingDeployment() AppPendingDeploymentOutput { return o.ApplyT(func(v *App) AppPendingDeploymentOutput { return v.PendingDeployment }).(AppPendingDeploymentOutput) } diff --git a/sdk/go/databricks/getMwsWorkspaces.go b/sdk/go/databricks/getMwsWorkspaces.go index e4f0e7916..824901306 100644 --- a/sdk/go/databricks/getMwsWorkspaces.go +++ b/sdk/go/databricks/getMwsWorkspaces.go @@ -33,7 +33,7 @@ import ( // // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { -// all, err := databricks.LookupMwsWorkspaces(ctx, &databricks.LookupMwsWorkspacesArgs{}, nil) +// all, err := databricks.LookupMwsWorkspaces(ctx, map[string]interface{}{}, nil) // if err != nil { // return err // } @@ -50,22 +50,16 @@ import ( // // * MwsWorkspaces to manage Databricks Workspaces on AWS and GCP. // * MetastoreAssignment to assign Metastore to MwsWorkspaces or azurermDatabricksWorkspace -func LookupMwsWorkspaces(ctx *pulumi.Context, args *LookupMwsWorkspacesArgs, opts ...pulumi.InvokeOption) (*LookupMwsWorkspacesResult, error) { +func LookupMwsWorkspaces(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*LookupMwsWorkspacesResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupMwsWorkspacesResult - err := ctx.Invoke("databricks:index/getMwsWorkspaces:getMwsWorkspaces", args, &rv, opts...) + err := ctx.Invoke("databricks:index/getMwsWorkspaces:getMwsWorkspaces", nil, &rv, opts...) if err != nil { return nil, err } return &rv, nil } -// A collection of arguments for invoking getMwsWorkspaces. -type LookupMwsWorkspacesArgs struct { - // name-to-id map for all of the workspaces in the account - Ids map[string]string `pulumi:"ids"` -} - // A collection of values returned by getMwsWorkspaces. type LookupMwsWorkspacesResult struct { // The provider-assigned unique ID for this managed resource. @@ -74,23 +68,11 @@ type LookupMwsWorkspacesResult struct { Ids map[string]string `pulumi:"ids"` } -func LookupMwsWorkspacesOutput(ctx *pulumi.Context, args LookupMwsWorkspacesOutputArgs, opts ...pulumi.InvokeOption) LookupMwsWorkspacesResultOutput { - return pulumi.ToOutputWithContext(ctx.Context(), args). - ApplyT(func(v interface{}) (LookupMwsWorkspacesResultOutput, error) { - args := v.(LookupMwsWorkspacesArgs) - options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} - return ctx.InvokeOutput("databricks:index/getMwsWorkspaces:getMwsWorkspaces", args, LookupMwsWorkspacesResultOutput{}, options).(LookupMwsWorkspacesResultOutput), nil - }).(LookupMwsWorkspacesResultOutput) -} - -// A collection of arguments for invoking getMwsWorkspaces. -type LookupMwsWorkspacesOutputArgs struct { - // name-to-id map for all of the workspaces in the account - Ids pulumi.StringMapInput `pulumi:"ids"` -} - -func (LookupMwsWorkspacesOutputArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LookupMwsWorkspacesArgs)(nil)).Elem() +func LookupMwsWorkspacesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) LookupMwsWorkspacesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (LookupMwsWorkspacesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("databricks:index/getMwsWorkspaces:getMwsWorkspaces", nil, LookupMwsWorkspacesResultOutput{}, options).(LookupMwsWorkspacesResultOutput), nil + }).(LookupMwsWorkspacesResultOutput) } // A collection of values returned by getMwsWorkspaces. diff --git a/sdk/go/databricks/instanceProfile.go b/sdk/go/databricks/instanceProfile.go index 375f3003d..1bbe7028c 100644 --- a/sdk/go/databricks/instanceProfile.go +++ b/sdk/go/databricks/instanceProfile.go @@ -162,7 +162,7 @@ import ( // tmpJSON0, err := json.Marshal(map[string]interface{}{ // "aws_attributes.instance_profile_arn": map[string]interface{}{ // "type": "fixed", -// "value": shared.Arn, +// "value": shared.Id, // }, // }) // if err != nil { @@ -199,7 +199,7 @@ import ( // func main() { // pulumi.Run(func(ctx *pulumi.Context) error { // this, err := databricks.NewInstanceProfile(ctx, "this", &databricks.InstanceProfileArgs{ -// InstanceProfileArn: pulumi.Any(shared.Arn), +// InstanceProfileArn: pulumi.Any(shared.Id), // }) // if err != nil { // return err diff --git a/sdk/go/databricks/modelServing.go b/sdk/go/databricks/modelServing.go index e95033589..2b178ed77 100644 --- a/sdk/go/databricks/modelServing.go +++ b/sdk/go/databricks/modelServing.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "errors" "github.com/pulumi/pulumi-databricks/sdk/go/databricks/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -102,8 +101,8 @@ type ModelServing struct { // A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* AiGateway ModelServingAiGatewayPtrOutput `pulumi:"aiGateway"` - // The model serving endpoint configuration. - Config ModelServingConfigOutput `pulumi:"config"` + // The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. + Config ModelServingConfigPtrOutput `pulumi:"config"` // The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. Name pulumi.StringOutput `pulumi:"name"` // A list of rate limit blocks to be applied to the serving endpoint. *Note: only external and foundation model endpoints are supported as of now.* @@ -120,12 +119,9 @@ type ModelServing struct { func NewModelServing(ctx *pulumi.Context, name string, args *ModelServingArgs, opts ...pulumi.ResourceOption) (*ModelServing, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &ModelServingArgs{} } - if args.Config == nil { - return nil, errors.New("invalid value for required argument 'Config'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource ModelServing err := ctx.RegisterResource("databricks:index/modelServing:ModelServing", name, args, &resource, opts...) @@ -151,7 +147,7 @@ func GetModelServing(ctx *pulumi.Context, type modelServingState struct { // A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* AiGateway *ModelServingAiGateway `pulumi:"aiGateway"` - // The model serving endpoint configuration. + // The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. Config *ModelServingConfig `pulumi:"config"` // The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. Name *string `pulumi:"name"` @@ -168,7 +164,7 @@ type modelServingState struct { type ModelServingState struct { // A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* AiGateway ModelServingAiGatewayPtrInput - // The model serving endpoint configuration. + // The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. Config ModelServingConfigPtrInput // The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. Name pulumi.StringPtrInput @@ -189,8 +185,8 @@ func (ModelServingState) ElementType() reflect.Type { type modelServingArgs struct { // A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* AiGateway *ModelServingAiGateway `pulumi:"aiGateway"` - // The model serving endpoint configuration. - Config ModelServingConfig `pulumi:"config"` + // The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. + Config *ModelServingConfig `pulumi:"config"` // The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. Name *string `pulumi:"name"` // A list of rate limit blocks to be applied to the serving endpoint. *Note: only external and foundation model endpoints are supported as of now.* @@ -205,8 +201,8 @@ type modelServingArgs struct { type ModelServingArgs struct { // A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* AiGateway ModelServingAiGatewayPtrInput - // The model serving endpoint configuration. - Config ModelServingConfigInput + // The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. + Config ModelServingConfigPtrInput // The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. Name pulumi.StringPtrInput // A list of rate limit blocks to be applied to the serving endpoint. *Note: only external and foundation model endpoints are supported as of now.* @@ -309,9 +305,9 @@ func (o ModelServingOutput) AiGateway() ModelServingAiGatewayPtrOutput { return o.ApplyT(func(v *ModelServing) ModelServingAiGatewayPtrOutput { return v.AiGateway }).(ModelServingAiGatewayPtrOutput) } -// The model serving endpoint configuration. -func (o ModelServingOutput) Config() ModelServingConfigOutput { - return o.ApplyT(func(v *ModelServing) ModelServingConfigOutput { return v.Config }).(ModelServingConfigOutput) +// The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. +func (o ModelServingOutput) Config() ModelServingConfigPtrOutput { + return o.ApplyT(func(v *ModelServing) ModelServingConfigPtrOutput { return v.Config }).(ModelServingConfigPtrOutput) } // The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. diff --git a/sdk/go/databricks/notebook.go b/sdk/go/databricks/notebook.go index eb3c4d669..53adafd6a 100644 --- a/sdk/go/databricks/notebook.go +++ b/sdk/go/databricks/notebook.go @@ -28,9 +28,9 @@ type Notebook struct { // The base64-encoded notebook source code. Conflicts with `source`. Use of `contentBase64` is discouraged, as it's increasing memory footprint of Pulumi state and should only be used in exceptional circumstances, like creating a notebook with configuration properties for a data pipeline. ContentBase64 pulumi.StringPtrOutput `pulumi:"contentBase64"` - Format pulumi.StringPtrOutput `pulumi:"format"` + Format pulumi.StringOutput `pulumi:"format"` // One of `SCALA`, `PYTHON`, `SQL`, `R`. - Language pulumi.StringPtrOutput `pulumi:"language"` + Language pulumi.StringOutput `pulumi:"language"` Md5 pulumi.StringPtrOutput `pulumi:"md5"` // Unique identifier for a NOTEBOOK ObjectId pulumi.IntOutput `pulumi:"objectId"` @@ -251,13 +251,13 @@ func (o NotebookOutput) ContentBase64() pulumi.StringPtrOutput { return o.ApplyT(func(v *Notebook) pulumi.StringPtrOutput { return v.ContentBase64 }).(pulumi.StringPtrOutput) } -func (o NotebookOutput) Format() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Notebook) pulumi.StringPtrOutput { return v.Format }).(pulumi.StringPtrOutput) +func (o NotebookOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v *Notebook) pulumi.StringOutput { return v.Format }).(pulumi.StringOutput) } // One of `SCALA`, `PYTHON`, `SQL`, `R`. -func (o NotebookOutput) Language() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Notebook) pulumi.StringPtrOutput { return v.Language }).(pulumi.StringPtrOutput) +func (o NotebookOutput) Language() pulumi.StringOutput { + return o.ApplyT(func(v *Notebook) pulumi.StringOutput { return v.Language }).(pulumi.StringOutput) } func (o NotebookOutput) Md5() pulumi.StringPtrOutput { diff --git a/sdk/go/databricks/pulumiTypes.go b/sdk/go/databricks/pulumiTypes.go index d760ad991..04a6bf200 100644 --- a/sdk/go/databricks/pulumiTypes.go +++ b/sdk/go/databricks/pulumiTypes.go @@ -36771,6 +36771,7 @@ type JobTaskForEachTaskTaskSparkJarTask struct { MainClassName *string `pulumi:"mainClassName"` // (List) Parameters passed to the main method. Parameters []string `pulumi:"parameters"` + RunAsRepl *bool `pulumi:"runAsRepl"` } // JobTaskForEachTaskTaskSparkJarTaskInput is an input type that accepts JobTaskForEachTaskTaskSparkJarTaskArgs and JobTaskForEachTaskTaskSparkJarTaskOutput values. @@ -36790,6 +36791,7 @@ type JobTaskForEachTaskTaskSparkJarTaskArgs struct { MainClassName pulumi.StringPtrInput `pulumi:"mainClassName"` // (List) Parameters passed to the main method. Parameters pulumi.StringArrayInput `pulumi:"parameters"` + RunAsRepl pulumi.BoolPtrInput `pulumi:"runAsRepl"` } func (JobTaskForEachTaskTaskSparkJarTaskArgs) ElementType() reflect.Type { @@ -36883,6 +36885,10 @@ func (o JobTaskForEachTaskTaskSparkJarTaskOutput) Parameters() pulumi.StringArra return o.ApplyT(func(v JobTaskForEachTaskTaskSparkJarTask) []string { return v.Parameters }).(pulumi.StringArrayOutput) } +func (o JobTaskForEachTaskTaskSparkJarTaskOutput) RunAsRepl() pulumi.BoolPtrOutput { + return o.ApplyT(func(v JobTaskForEachTaskTaskSparkJarTask) *bool { return v.RunAsRepl }).(pulumi.BoolPtrOutput) +} + type JobTaskForEachTaskTaskSparkJarTaskPtrOutput struct{ *pulumi.OutputState } func (JobTaskForEachTaskTaskSparkJarTaskPtrOutput) ElementType() reflect.Type { @@ -36936,6 +36942,15 @@ func (o JobTaskForEachTaskTaskSparkJarTaskPtrOutput) Parameters() pulumi.StringA }).(pulumi.StringArrayOutput) } +func (o JobTaskForEachTaskTaskSparkJarTaskPtrOutput) RunAsRepl() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *JobTaskForEachTaskTaskSparkJarTask) *bool { + if v == nil { + return nil + } + return v.RunAsRepl + }).(pulumi.BoolPtrOutput) +} + type JobTaskForEachTaskTaskSparkPythonTask struct { // (List) Command line parameters passed to the Python file. Parameters []string `pulumi:"parameters"` @@ -45894,6 +45909,7 @@ type JobTaskSparkJarTask struct { MainClassName *string `pulumi:"mainClassName"` // (List) Parameters passed to the main method. Parameters []string `pulumi:"parameters"` + RunAsRepl *bool `pulumi:"runAsRepl"` } // JobTaskSparkJarTaskInput is an input type that accepts JobTaskSparkJarTaskArgs and JobTaskSparkJarTaskOutput values. @@ -45913,6 +45929,7 @@ type JobTaskSparkJarTaskArgs struct { MainClassName pulumi.StringPtrInput `pulumi:"mainClassName"` // (List) Parameters passed to the main method. Parameters pulumi.StringArrayInput `pulumi:"parameters"` + RunAsRepl pulumi.BoolPtrInput `pulumi:"runAsRepl"` } func (JobTaskSparkJarTaskArgs) ElementType() reflect.Type { @@ -46006,6 +46023,10 @@ func (o JobTaskSparkJarTaskOutput) Parameters() pulumi.StringArrayOutput { return o.ApplyT(func(v JobTaskSparkJarTask) []string { return v.Parameters }).(pulumi.StringArrayOutput) } +func (o JobTaskSparkJarTaskOutput) RunAsRepl() pulumi.BoolPtrOutput { + return o.ApplyT(func(v JobTaskSparkJarTask) *bool { return v.RunAsRepl }).(pulumi.BoolPtrOutput) +} + type JobTaskSparkJarTaskPtrOutput struct{ *pulumi.OutputState } func (JobTaskSparkJarTaskPtrOutput) ElementType() reflect.Type { @@ -46059,6 +46080,15 @@ func (o JobTaskSparkJarTaskPtrOutput) Parameters() pulumi.StringArrayOutput { }).(pulumi.StringArrayOutput) } +func (o JobTaskSparkJarTaskPtrOutput) RunAsRepl() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *JobTaskSparkJarTask) *bool { + if v == nil { + return nil + } + return v.RunAsRepl + }).(pulumi.BoolPtrOutput) +} + type JobTaskSparkPythonTask struct { // (List) Command line parameters passed to the Python file. Parameters []string `pulumi:"parameters"` @@ -53888,7 +53918,7 @@ func (o ModelServingAiGatewayGuardrailsInputTypePtrOutput) ValidTopics() pulumi. type ModelServingAiGatewayGuardrailsInputPii struct { // a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. - Behavior string `pulumi:"behavior"` + Behavior *string `pulumi:"behavior"` } // ModelServingAiGatewayGuardrailsInputPiiInput is an input type that accepts ModelServingAiGatewayGuardrailsInputPiiArgs and ModelServingAiGatewayGuardrailsInputPiiOutput values. @@ -53904,7 +53934,7 @@ type ModelServingAiGatewayGuardrailsInputPiiInput interface { type ModelServingAiGatewayGuardrailsInputPiiArgs struct { // a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. - Behavior pulumi.StringInput `pulumi:"behavior"` + Behavior pulumi.StringPtrInput `pulumi:"behavior"` } func (ModelServingAiGatewayGuardrailsInputPiiArgs) ElementType() reflect.Type { @@ -53985,8 +54015,8 @@ func (o ModelServingAiGatewayGuardrailsInputPiiOutput) ToModelServingAiGatewayGu } // a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. -func (o ModelServingAiGatewayGuardrailsInputPiiOutput) Behavior() pulumi.StringOutput { - return o.ApplyT(func(v ModelServingAiGatewayGuardrailsInputPii) string { return v.Behavior }).(pulumi.StringOutput) +func (o ModelServingAiGatewayGuardrailsInputPiiOutput) Behavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v ModelServingAiGatewayGuardrailsInputPii) *string { return v.Behavior }).(pulumi.StringPtrOutput) } type ModelServingAiGatewayGuardrailsInputPiiPtrOutput struct{ *pulumi.OutputState } @@ -54019,7 +54049,7 @@ func (o ModelServingAiGatewayGuardrailsInputPiiPtrOutput) Behavior() pulumi.Stri if v == nil { return nil } - return &v.Behavior + return v.Behavior }).(pulumi.StringPtrOutput) } @@ -54221,7 +54251,7 @@ func (o ModelServingAiGatewayGuardrailsOutputTypePtrOutput) ValidTopics() pulumi type ModelServingAiGatewayGuardrailsOutputPii struct { // a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. - Behavior string `pulumi:"behavior"` + Behavior *string `pulumi:"behavior"` } // ModelServingAiGatewayGuardrailsOutputPiiInput is an input type that accepts ModelServingAiGatewayGuardrailsOutputPiiArgs and ModelServingAiGatewayGuardrailsOutputPiiOutput values. @@ -54237,7 +54267,7 @@ type ModelServingAiGatewayGuardrailsOutputPiiInput interface { type ModelServingAiGatewayGuardrailsOutputPiiArgs struct { // a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. - Behavior pulumi.StringInput `pulumi:"behavior"` + Behavior pulumi.StringPtrInput `pulumi:"behavior"` } func (ModelServingAiGatewayGuardrailsOutputPiiArgs) ElementType() reflect.Type { @@ -54318,8 +54348,8 @@ func (o ModelServingAiGatewayGuardrailsOutputPiiOutput) ToModelServingAiGatewayG } // a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. -func (o ModelServingAiGatewayGuardrailsOutputPiiOutput) Behavior() pulumi.StringOutput { - return o.ApplyT(func(v ModelServingAiGatewayGuardrailsOutputPii) string { return v.Behavior }).(pulumi.StringOutput) +func (o ModelServingAiGatewayGuardrailsOutputPiiOutput) Behavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v ModelServingAiGatewayGuardrailsOutputPii) *string { return v.Behavior }).(pulumi.StringPtrOutput) } type ModelServingAiGatewayGuardrailsOutputPiiPtrOutput struct{ *pulumi.OutputState } @@ -54352,7 +54382,7 @@ func (o ModelServingAiGatewayGuardrailsOutputPiiPtrOutput) Behavior() pulumi.Str if v == nil { return nil } - return &v.Behavior + return v.Behavior }).(pulumi.StringPtrOutput) } @@ -56644,9 +56674,9 @@ type ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig struct // The private key for the service account that has access to the Google Cloud Vertex AI Service is provided as a plaintext secret. PrivateKeyPlaintext *string `pulumi:"privateKeyPlaintext"` // This is the Google Cloud project id that the service account is associated with. - ProjectId *string `pulumi:"projectId"` + ProjectId string `pulumi:"projectId"` // This is the region for the Google Cloud Vertex AI Service. - Region *string `pulumi:"region"` + Region string `pulumi:"region"` } // ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigInput is an input type that accepts ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs and ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutput values. @@ -56666,9 +56696,9 @@ type ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs st // The private key for the service account that has access to the Google Cloud Vertex AI Service is provided as a plaintext secret. PrivateKeyPlaintext pulumi.StringPtrInput `pulumi:"privateKeyPlaintext"` // This is the Google Cloud project id that the service account is associated with. - ProjectId pulumi.StringPtrInput `pulumi:"projectId"` + ProjectId pulumi.StringInput `pulumi:"projectId"` // This is the region for the Google Cloud Vertex AI Service. - Region pulumi.StringPtrInput `pulumi:"region"` + Region pulumi.StringInput `pulumi:"region"` } func (ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs) ElementType() reflect.Type { @@ -56763,15 +56793,15 @@ func (o ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutp } // This is the Google Cloud project id that the service account is associated with. -func (o ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutput) ProjectId() pulumi.StringPtrOutput { - return o.ApplyT(func(v ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig) *string { +func (o ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig) string { return v.ProjectId - }).(pulumi.StringPtrOutput) + }).(pulumi.StringOutput) } // This is the region for the Google Cloud Vertex AI Service. -func (o ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutput) Region() pulumi.StringPtrOutput { - return o.ApplyT(func(v ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig) *string { return v.Region }).(pulumi.StringPtrOutput) +func (o ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig) string { return v.Region }).(pulumi.StringOutput) } type ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigPtrOutput struct{ *pulumi.OutputState } @@ -56824,7 +56854,7 @@ func (o ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigPtrO if v == nil { return nil } - return v.ProjectId + return &v.ProjectId }).(pulumi.StringPtrOutput) } @@ -56834,7 +56864,7 @@ func (o ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigPtrO if v == nil { return nil } - return v.Region + return &v.Region }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/databricks/pulumiTypes1.go b/sdk/go/databricks/pulumiTypes1.go index b158b7202..367bbaed6 100644 --- a/sdk/go/databricks/pulumiTypes1.go +++ b/sdk/go/databricks/pulumiTypes1.go @@ -54195,7 +54195,7 @@ func (o GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyArrayOutput) I } type GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii struct { - Behavior string `pulumi:"behavior"` + Behavior *string `pulumi:"behavior"` } // GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiInput is an input type that accepts GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs and GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiOutput values. @@ -54210,7 +54210,7 @@ type GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiInput interfac } type GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs struct { - Behavior pulumi.StringInput `pulumi:"behavior"` + Behavior pulumi.StringPtrInput `pulumi:"behavior"` } func (GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs) ElementType() reflect.Type { @@ -54264,8 +54264,8 @@ func (o GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiOutput) ToG return o } -func (o GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiOutput) Behavior() pulumi.StringOutput { - return o.ApplyT(func(v GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii) string { return v.Behavior }).(pulumi.StringOutput) +func (o GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiOutput) Behavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii) *string { return v.Behavior }).(pulumi.StringPtrOutput) } type GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArrayOutput struct{ *pulumi.OutputState } @@ -54403,7 +54403,7 @@ func (o GetServingEndpointsEndpointAiGatewayGuardrailOutputTypeArrayOutput) Inde } type GetServingEndpointsEndpointAiGatewayGuardrailOutputPii struct { - Behavior string `pulumi:"behavior"` + Behavior *string `pulumi:"behavior"` } // GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiInput is an input type that accepts GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs and GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiOutput values. @@ -54418,7 +54418,7 @@ type GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiInput interface { } type GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs struct { - Behavior pulumi.StringInput `pulumi:"behavior"` + Behavior pulumi.StringPtrInput `pulumi:"behavior"` } func (GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs) ElementType() reflect.Type { @@ -54472,8 +54472,8 @@ func (o GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiOutput) ToGetServi return o } -func (o GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiOutput) Behavior() pulumi.StringOutput { - return o.ApplyT(func(v GetServingEndpointsEndpointAiGatewayGuardrailOutputPii) string { return v.Behavior }).(pulumi.StringOutput) +func (o GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiOutput) Behavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetServingEndpointsEndpointAiGatewayGuardrailOutputPii) *string { return v.Behavior }).(pulumi.StringPtrOutput) } type GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArrayOutput struct{ *pulumi.OutputState } @@ -55781,8 +55781,8 @@ func (o GetServingEndpointsEndpointConfigServedEntityExternalModelDatabricksMode type GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig struct { PrivateKey *string `pulumi:"privateKey"` PrivateKeyPlaintext *string `pulumi:"privateKeyPlaintext"` - ProjectId *string `pulumi:"projectId"` - Region *string `pulumi:"region"` + ProjectId string `pulumi:"projectId"` + Region string `pulumi:"region"` } // GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigInput is an input type that accepts GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs and GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutput values. @@ -55799,8 +55799,8 @@ type GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertex type GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs struct { PrivateKey pulumi.StringPtrInput `pulumi:"privateKey"` PrivateKeyPlaintext pulumi.StringPtrInput `pulumi:"privateKeyPlaintext"` - ProjectId pulumi.StringPtrInput `pulumi:"projectId"` - Region pulumi.StringPtrInput `pulumi:"region"` + ProjectId pulumi.StringInput `pulumi:"projectId"` + Region pulumi.StringInput `pulumi:"region"` } func (GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs) ElementType() reflect.Type { @@ -55866,16 +55866,16 @@ func (o GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVer }).(pulumi.StringPtrOutput) } -func (o GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutput) ProjectId() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig) *string { +func (o GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig) string { return v.ProjectId - }).(pulumi.StringPtrOutput) + }).(pulumi.StringOutput) } -func (o GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutput) Region() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig) *string { +func (o GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig) string { return v.Region - }).(pulumi.StringPtrOutput) + }).(pulumi.StringOutput) } type GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/databricks/recipient.go b/sdk/go/databricks/recipient.go index b24a43173..359292b71 100644 --- a/sdk/go/databricks/recipient.go +++ b/sdk/go/databricks/recipient.go @@ -88,6 +88,8 @@ type Recipient struct { CreatedBy pulumi.StringOutput `pulumi:"createdBy"` // Required when `authenticationType` is `DATABRICKS`. DataRecipientGlobalMetastoreId pulumi.StringPtrOutput `pulumi:"dataRecipientGlobalMetastoreId"` + // Expiration timestamp of the token in epoch milliseconds. + ExpirationTime pulumi.IntPtrOutput `pulumi:"expirationTime"` // Recipient IP access list. IpAccessList RecipientIpAccessListPtrOutput `pulumi:"ipAccessList"` // Unique identifier of recipient's Unity Catalog metastore. This field is only present when the authenticationType is `DATABRICKS`. @@ -165,6 +167,8 @@ type recipientState struct { CreatedBy *string `pulumi:"createdBy"` // Required when `authenticationType` is `DATABRICKS`. DataRecipientGlobalMetastoreId *string `pulumi:"dataRecipientGlobalMetastoreId"` + // Expiration timestamp of the token in epoch milliseconds. + ExpirationTime *int `pulumi:"expirationTime"` // Recipient IP access list. IpAccessList *RecipientIpAccessList `pulumi:"ipAccessList"` // Unique identifier of recipient's Unity Catalog metastore. This field is only present when the authenticationType is `DATABRICKS`. @@ -203,6 +207,8 @@ type RecipientState struct { CreatedBy pulumi.StringPtrInput // Required when `authenticationType` is `DATABRICKS`. DataRecipientGlobalMetastoreId pulumi.StringPtrInput + // Expiration timestamp of the token in epoch milliseconds. + ExpirationTime pulumi.IntPtrInput // Recipient IP access list. IpAccessList RecipientIpAccessListPtrInput // Unique identifier of recipient's Unity Catalog metastore. This field is only present when the authenticationType is `DATABRICKS`. @@ -236,6 +242,8 @@ type recipientArgs struct { Comment *string `pulumi:"comment"` // Required when `authenticationType` is `DATABRICKS`. DataRecipientGlobalMetastoreId *string `pulumi:"dataRecipientGlobalMetastoreId"` + // Expiration timestamp of the token in epoch milliseconds. + ExpirationTime *int `pulumi:"expirationTime"` // Recipient IP access list. IpAccessList *RecipientIpAccessList `pulumi:"ipAccessList"` // Name of recipient. Change forces creation of a new resource. @@ -258,6 +266,8 @@ type RecipientArgs struct { Comment pulumi.StringPtrInput // Required when `authenticationType` is `DATABRICKS`. DataRecipientGlobalMetastoreId pulumi.StringPtrInput + // Expiration timestamp of the token in epoch milliseconds. + ExpirationTime pulumi.IntPtrInput // Recipient IP access list. IpAccessList RecipientIpAccessListPtrInput // Name of recipient. Change forces creation of a new resource. @@ -398,6 +408,11 @@ func (o RecipientOutput) DataRecipientGlobalMetastoreId() pulumi.StringPtrOutput return o.ApplyT(func(v *Recipient) pulumi.StringPtrOutput { return v.DataRecipientGlobalMetastoreId }).(pulumi.StringPtrOutput) } +// Expiration timestamp of the token in epoch milliseconds. +func (o RecipientOutput) ExpirationTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Recipient) pulumi.IntPtrOutput { return v.ExpirationTime }).(pulumi.IntPtrOutput) +} + // Recipient IP access list. func (o RecipientOutput) IpAccessList() RecipientIpAccessListPtrOutput { return o.ApplyT(func(v *Recipient) RecipientIpAccessListPtrOutput { return v.IpAccessList }).(RecipientIpAccessListPtrOutput) diff --git a/sdk/go/databricks/token.go b/sdk/go/databricks/token.go index eb1bdbfd3..72572e613 100644 --- a/sdk/go/databricks/token.go +++ b/sdk/go/databricks/token.go @@ -90,7 +90,7 @@ type Token struct { Comment pulumi.StringPtrOutput `pulumi:"comment"` CreationTime pulumi.IntOutput `pulumi:"creationTime"` ExpiryTime pulumi.IntOutput `pulumi:"expiryTime"` - // (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + // (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. LifetimeSeconds pulumi.IntPtrOutput `pulumi:"lifetimeSeconds"` TokenId pulumi.StringOutput `pulumi:"tokenId"` // **Sensitive** value of the newly-created token. @@ -135,7 +135,7 @@ type tokenState struct { Comment *string `pulumi:"comment"` CreationTime *int `pulumi:"creationTime"` ExpiryTime *int `pulumi:"expiryTime"` - // (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + // (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. LifetimeSeconds *int `pulumi:"lifetimeSeconds"` TokenId *string `pulumi:"tokenId"` // **Sensitive** value of the newly-created token. @@ -147,7 +147,7 @@ type TokenState struct { Comment pulumi.StringPtrInput CreationTime pulumi.IntPtrInput ExpiryTime pulumi.IntPtrInput - // (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + // (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. LifetimeSeconds pulumi.IntPtrInput TokenId pulumi.StringPtrInput // **Sensitive** value of the newly-created token. @@ -163,7 +163,7 @@ type tokenArgs struct { Comment *string `pulumi:"comment"` CreationTime *int `pulumi:"creationTime"` ExpiryTime *int `pulumi:"expiryTime"` - // (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + // (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. LifetimeSeconds *int `pulumi:"lifetimeSeconds"` TokenId *string `pulumi:"tokenId"` } @@ -174,7 +174,7 @@ type TokenArgs struct { Comment pulumi.StringPtrInput CreationTime pulumi.IntPtrInput ExpiryTime pulumi.IntPtrInput - // (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + // (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. LifetimeSeconds pulumi.IntPtrInput TokenId pulumi.StringPtrInput } @@ -279,7 +279,7 @@ func (o TokenOutput) ExpiryTime() pulumi.IntOutput { return o.ApplyT(func(v *Token) pulumi.IntOutput { return v.ExpiryTime }).(pulumi.IntOutput) } -// (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. +// (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. func (o TokenOutput) LifetimeSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v *Token) pulumi.IntPtrOutput { return v.LifetimeSeconds }).(pulumi.IntPtrOutput) } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/App.java b/sdk/java/src/main/java/com/pulumi/databricks/App.java index 0b53c6f17..338740c7a 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/App.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/App.java @@ -15,6 +15,7 @@ import com.pulumi.databricks.outputs.AppComputeStatus; import com.pulumi.databricks.outputs.AppPendingDeployment; import com.pulumi.databricks.outputs.AppResource; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -218,6 +219,12 @@ public Output> description() { public Output name() { return this.name; } + @Export(name="noCompute", refs={Boolean.class}, tree="[0]") + private Output noCompute; + + public Output> noCompute() { + return Codegen.optional(this.noCompute); + } @Export(name="pendingDeployment", refs={AppPendingDeployment.class}, tree="[0]") private Output pendingDeployment; diff --git a/sdk/java/src/main/java/com/pulumi/databricks/AppArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/AppArgs.java index 8cd237665..c6d96e02f 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/AppArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/AppArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.databricks.inputs.AppResourceArgs; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -47,6 +48,13 @@ public Optional> name() { return Optional.ofNullable(this.name); } + @Import(name="noCompute") + private @Nullable Output noCompute; + + public Optional> noCompute() { + return Optional.ofNullable(this.noCompute); + } + /** * A list of resources that the app have access to. * @@ -67,6 +75,7 @@ private AppArgs() {} private AppArgs(AppArgs $) { this.description = $.description; this.name = $.name; + this.noCompute = $.noCompute; this.resources = $.resources; } @@ -130,6 +139,15 @@ public Builder name(String name) { return name(Output.of(name)); } + public Builder noCompute(@Nullable Output noCompute) { + $.noCompute = noCompute; + return this; + } + + public Builder noCompute(Boolean noCompute) { + return noCompute(Output.of(noCompute)); + } + /** * @param resources A list of resources that the app have access to. * diff --git a/sdk/java/src/main/java/com/pulumi/databricks/DatabricksFunctions.java b/sdk/java/src/main/java/com/pulumi/databricks/DatabricksFunctions.java index 140a40b82..8c84a6005 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/DatabricksFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/DatabricksFunctions.java @@ -70,8 +70,6 @@ import com.pulumi.databricks.inputs.GetMwsNetworkConnectivityConfigPlainArgs; import com.pulumi.databricks.inputs.GetMwsNetworkConnectivityConfigsArgs; import com.pulumi.databricks.inputs.GetMwsNetworkConnectivityConfigsPlainArgs; -import com.pulumi.databricks.inputs.GetMwsWorkspacesArgs; -import com.pulumi.databricks.inputs.GetMwsWorkspacesPlainArgs; import com.pulumi.databricks.inputs.GetNodeTypeArgs; import com.pulumi.databricks.inputs.GetNodeTypePlainArgs; import com.pulumi.databricks.inputs.GetNotebookArgs; @@ -12092,7 +12090,6 @@ public static CompletableFuture getMwsNe * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.databricks.DatabricksFunctions; - * import com.pulumi.databricks.inputs.GetMwsWorkspacesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12124,7 +12121,7 @@ public static CompletableFuture getMwsNe * */ public static Output getMwsWorkspaces() { - return getMwsWorkspaces(GetMwsWorkspacesArgs.Empty, InvokeOptions.Empty); + return getMwsWorkspaces(InvokeArgs.Empty, InvokeOptions.Empty); } /** * > **Note** If you have a fully automated setup with workspaces created by databricks.MwsWorkspaces or azurerm_databricks_workspace, please make sure to add depends_on attribute in order to prevent _default auth: cannot configure default credentials_ errors. @@ -12146,7 +12143,6 @@ public static Output getMwsWorkspaces() { * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.databricks.DatabricksFunctions; - * import com.pulumi.databricks.inputs.GetMwsWorkspacesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12178,7 +12174,7 @@ public static Output getMwsWorkspaces() { * */ public static CompletableFuture getMwsWorkspacesPlain() { - return getMwsWorkspacesPlain(GetMwsWorkspacesPlainArgs.Empty, InvokeOptions.Empty); + return getMwsWorkspacesPlain(InvokeArgs.Empty, InvokeOptions.Empty); } /** * > **Note** If you have a fully automated setup with workspaces created by databricks.MwsWorkspaces or azurerm_databricks_workspace, please make sure to add depends_on attribute in order to prevent _default auth: cannot configure default credentials_ errors. @@ -12200,7 +12196,6 @@ public static CompletableFuture getMwsWorkspacesPlain() * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.databricks.DatabricksFunctions; - * import com.pulumi.databricks.inputs.GetMwsWorkspacesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12231,7 +12226,7 @@ public static CompletableFuture getMwsWorkspacesPlain() * * databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurerm_databricks_workspace * */ - public static Output getMwsWorkspaces(GetMwsWorkspacesArgs args) { + public static Output getMwsWorkspaces(InvokeArgs args) { return getMwsWorkspaces(args, InvokeOptions.Empty); } /** @@ -12254,7 +12249,6 @@ public static Output getMwsWorkspaces(GetMwsWorkspacesAr * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.databricks.DatabricksFunctions; - * import com.pulumi.databricks.inputs.GetMwsWorkspacesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12285,7 +12279,7 @@ public static Output getMwsWorkspaces(GetMwsWorkspacesAr * * databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurerm_databricks_workspace * */ - public static CompletableFuture getMwsWorkspacesPlain(GetMwsWorkspacesPlainArgs args) { + public static CompletableFuture getMwsWorkspacesPlain(InvokeArgs args) { return getMwsWorkspacesPlain(args, InvokeOptions.Empty); } /** @@ -12308,7 +12302,6 @@ public static CompletableFuture getMwsWorkspacesPlain(Ge * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.databricks.DatabricksFunctions; - * import com.pulumi.databricks.inputs.GetMwsWorkspacesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12339,7 +12332,7 @@ public static CompletableFuture getMwsWorkspacesPlain(Ge * * databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurerm_databricks_workspace * */ - public static Output getMwsWorkspaces(GetMwsWorkspacesArgs args, InvokeOptions options) { + public static Output getMwsWorkspaces(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invoke("databricks:index/getMwsWorkspaces:getMwsWorkspaces", TypeShape.of(GetMwsWorkspacesResult.class), args, Utilities.withVersion(options)); } /** @@ -12362,7 +12355,6 @@ public static Output getMwsWorkspaces(GetMwsWorkspacesAr * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.databricks.DatabricksFunctions; - * import com.pulumi.databricks.inputs.GetMwsWorkspacesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12393,7 +12385,7 @@ public static Output getMwsWorkspaces(GetMwsWorkspacesAr * * databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurerm_databricks_workspace * */ - public static Output getMwsWorkspaces(GetMwsWorkspacesArgs args, InvokeOutputOptions options) { + public static Output getMwsWorkspaces(InvokeArgs args, InvokeOutputOptions options) { return Deployment.getInstance().invoke("databricks:index/getMwsWorkspaces:getMwsWorkspaces", TypeShape.of(GetMwsWorkspacesResult.class), args, Utilities.withVersion(options)); } /** @@ -12416,7 +12408,6 @@ public static Output getMwsWorkspaces(GetMwsWorkspacesAr * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.databricks.DatabricksFunctions; - * import com.pulumi.databricks.inputs.GetMwsWorkspacesArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -12447,7 +12438,7 @@ public static Output getMwsWorkspaces(GetMwsWorkspacesAr * * databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurerm_databricks_workspace * */ - public static CompletableFuture getMwsWorkspacesPlain(GetMwsWorkspacesPlainArgs args, InvokeOptions options) { + public static CompletableFuture getMwsWorkspacesPlain(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("databricks:index/getMwsWorkspaces:getMwsWorkspaces", TypeShape.of(GetMwsWorkspacesResult.class), args, Utilities.withVersion(options)); } /** diff --git a/sdk/java/src/main/java/com/pulumi/databricks/InstanceProfile.java b/sdk/java/src/main/java/com/pulumi/databricks/InstanceProfile.java index d286a18ef..6c2a8b593 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/InstanceProfile.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/InstanceProfile.java @@ -171,7 +171,7 @@ * jsonObject( * jsonProperty("aws_attributes.instance_profile_arn", jsonObject( * jsonProperty("type", "fixed"), - * jsonProperty("value", shared.arn()) + * jsonProperty("value", shared.id()) * )) * ))) * .build()); @@ -214,7 +214,7 @@ * * public static void stack(Context ctx) { * var this_ = new InstanceProfile("this", InstanceProfileArgs.builder() - * .instanceProfileArn(shared.arn()) + * .instanceProfileArn(shared.id()) * .build()); * * final var users = DatabricksFunctions.getGroup(GetGroupArgs.builder() diff --git a/sdk/java/src/main/java/com/pulumi/databricks/ModelServing.java b/sdk/java/src/main/java/com/pulumi/databricks/ModelServing.java index 49f1f4423..6157d2b51 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/ModelServing.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/ModelServing.java @@ -134,18 +134,18 @@ public Output> aiGateway() { return Codegen.optional(this.aiGateway); } /** - * The model serving endpoint configuration. + * The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. * */ @Export(name="config", refs={ModelServingConfig.class}, tree="[0]") - private Output config; + private Output config; /** - * @return The model serving endpoint configuration. + * @return The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. * */ - public Output config() { - return this.config; + public Output> config() { + return Codegen.optional(this.config); } /** * The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. @@ -230,7 +230,7 @@ public ModelServing(java.lang.String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ModelServing(java.lang.String name, ModelServingArgs args) { + public ModelServing(java.lang.String name, @Nullable ModelServingArgs args) { this(name, args, null); } /** @@ -239,7 +239,7 @@ public ModelServing(java.lang.String name, ModelServingArgs args) { * @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 ModelServing(java.lang.String name, ModelServingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public ModelServing(java.lang.String name, @Nullable ModelServingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { super("databricks:index/modelServing:ModelServing", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } @@ -247,7 +247,7 @@ private ModelServing(java.lang.String name, Output id, @Nullab super("databricks:index/modelServing:ModelServing", name, state, makeResourceOptions(options, id), false); } - private static ModelServingArgs makeArgs(ModelServingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + private static ModelServingArgs makeArgs(@Nullable ModelServingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { if (options != null && options.getUrn().isPresent()) { return null; } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/ModelServingArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/ModelServingArgs.java index 3975d9f07..4096920b1 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/ModelServingArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/ModelServingArgs.java @@ -9,7 +9,6 @@ import com.pulumi.databricks.inputs.ModelServingConfigArgs; import com.pulumi.databricks.inputs.ModelServingRateLimitArgs; import com.pulumi.databricks.inputs.ModelServingTagArgs; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.Boolean; import java.lang.String; import java.util.List; @@ -38,18 +37,18 @@ public Optional> aiGateway() { } /** - * The model serving endpoint configuration. + * The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. * */ - @Import(name="config", required=true) - private Output config; + @Import(name="config") + private @Nullable Output config; /** - * @return The model serving endpoint configuration. + * @return The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. * */ - public Output config() { - return this.config; + public Optional> config() { + return Optional.ofNullable(this.config); } /** @@ -163,18 +162,18 @@ public Builder aiGateway(ModelServingAiGatewayArgs aiGateway) { } /** - * @param config The model serving endpoint configuration. + * @param config The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. * * @return builder * */ - public Builder config(Output config) { + public Builder config(@Nullable Output config) { $.config = config; return this; } /** - * @param config The model serving endpoint configuration. + * @param config The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. * * @return builder * @@ -288,9 +287,6 @@ public Builder tags(ModelServingTagArgs... tags) { } public ModelServingArgs build() { - if ($.config == null) { - throw new MissingRequiredPropertyException("ModelServingArgs", "config"); - } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/Notebook.java b/sdk/java/src/main/java/com/pulumi/databricks/Notebook.java index 88429ad17..6548a96a4 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/Notebook.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/Notebook.java @@ -46,24 +46,24 @@ public Output> contentBase64() { return Codegen.optional(this.contentBase64); } @Export(name="format", refs={String.class}, tree="[0]") - private Output format; + private Output format; - public Output> format() { - return Codegen.optional(this.format); + public Output format() { + return this.format; } /** * One of `SCALA`, `PYTHON`, `SQL`, `R`. * */ @Export(name="language", refs={String.class}, tree="[0]") - private Output language; + private Output language; /** * @return One of `SCALA`, `PYTHON`, `SQL`, `R`. * */ - public Output> language() { - return Codegen.optional(this.language); + public Output language() { + return this.language; } @Export(name="md5", refs={String.class}, tree="[0]") private Output md5; diff --git a/sdk/java/src/main/java/com/pulumi/databricks/Recipient.java b/sdk/java/src/main/java/com/pulumi/databricks/Recipient.java index 08fd2417f..f4a462d98 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/Recipient.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/Recipient.java @@ -193,6 +193,20 @@ public Output createdBy() { public Output> dataRecipientGlobalMetastoreId() { return Codegen.optional(this.dataRecipientGlobalMetastoreId); } + /** + * Expiration timestamp of the token in epoch milliseconds. + * + */ + @Export(name="expirationTime", refs={Integer.class}, tree="[0]") + private Output expirationTime; + + /** + * @return Expiration timestamp of the token in epoch milliseconds. + * + */ + public Output> expirationTime() { + return Codegen.optional(this.expirationTime); + } /** * Recipient IP access list. * diff --git a/sdk/java/src/main/java/com/pulumi/databricks/RecipientArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/RecipientArgs.java index f65cb94f2..8e9af0a8d 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/RecipientArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/RecipientArgs.java @@ -9,6 +9,7 @@ import com.pulumi.databricks.inputs.RecipientPropertiesKvpairsArgs; import com.pulumi.databricks.inputs.RecipientTokenArgs; import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; import java.lang.String; import java.util.List; import java.util.Objects; @@ -65,6 +66,21 @@ public Optional> dataRecipientGlobalMetastoreId() { return Optional.ofNullable(this.dataRecipientGlobalMetastoreId); } + /** + * Expiration timestamp of the token in epoch milliseconds. + * + */ + @Import(name="expirationTime") + private @Nullable Output expirationTime; + + /** + * @return Expiration timestamp of the token in epoch milliseconds. + * + */ + public Optional> expirationTime() { + return Optional.ofNullable(this.expirationTime); + } + /** * Recipient IP access list. * @@ -161,6 +177,7 @@ private RecipientArgs(RecipientArgs $) { this.authenticationType = $.authenticationType; this.comment = $.comment; this.dataRecipientGlobalMetastoreId = $.dataRecipientGlobalMetastoreId; + this.expirationTime = $.expirationTime; this.ipAccessList = $.ipAccessList; this.name = $.name; this.owner = $.owner; @@ -250,6 +267,27 @@ public Builder dataRecipientGlobalMetastoreId(String dataRecipientGlobalMetastor return dataRecipientGlobalMetastoreId(Output.of(dataRecipientGlobalMetastoreId)); } + /** + * @param expirationTime Expiration timestamp of the token in epoch milliseconds. + * + * @return builder + * + */ + public Builder expirationTime(@Nullable Output expirationTime) { + $.expirationTime = expirationTime; + return this; + } + + /** + * @param expirationTime Expiration timestamp of the token in epoch milliseconds. + * + * @return builder + * + */ + public Builder expirationTime(Integer expirationTime) { + return expirationTime(Output.of(expirationTime)); + } + /** * @param ipAccessList Recipient IP access list. * diff --git a/sdk/java/src/main/java/com/pulumi/databricks/Token.java b/sdk/java/src/main/java/com/pulumi/databricks/Token.java index b07fc0a8c..1f6d80a3f 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/Token.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/Token.java @@ -133,14 +133,14 @@ public Output expiryTime() { return this.expiryTime; } /** - * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. * */ @Export(name="lifetimeSeconds", refs={Integer.class}, tree="[0]") private Output lifetimeSeconds; /** - * @return (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * @return (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. * */ public Output> lifetimeSeconds() { diff --git a/sdk/java/src/main/java/com/pulumi/databricks/TokenArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/TokenArgs.java index 85820b9a9..48f524fb3 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/TokenArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/TokenArgs.java @@ -46,14 +46,14 @@ public Optional> expiryTime() { } /** - * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. * */ @Import(name="lifetimeSeconds") private @Nullable Output lifetimeSeconds; /** - * @return (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * @return (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. * */ public Optional> lifetimeSeconds() { @@ -135,7 +135,7 @@ public Builder expiryTime(Integer expiryTime) { } /** - * @param lifetimeSeconds (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * @param lifetimeSeconds (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. * * @return builder * @@ -146,7 +146,7 @@ public Builder lifetimeSeconds(@Nullable Output lifetimeSeconds) { } /** - * @param lifetimeSeconds (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * @param lifetimeSeconds (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/AppState.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/AppState.java index 8f192ed66..c75695123 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/AppState.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/AppState.java @@ -10,6 +10,7 @@ import com.pulumi.databricks.inputs.AppComputeStatusArgs; import com.pulumi.databricks.inputs.AppPendingDeploymentArgs; import com.pulumi.databricks.inputs.AppResourceArgs; +import java.lang.Boolean; import java.lang.Integer; import java.lang.String; import java.util.List; @@ -134,6 +135,13 @@ public Optional> name() { return Optional.ofNullable(this.name); } + @Import(name="noCompute") + private @Nullable Output noCompute; + + public Optional> noCompute() { + return Optional.ofNullable(this.noCompute); + } + @Import(name="pendingDeployment") private @Nullable Output pendingDeployment; @@ -249,6 +257,7 @@ private AppState(AppState $) { this.defaultSourceCodePath = $.defaultSourceCodePath; this.description = $.description; this.name = $.name; + this.noCompute = $.noCompute; this.pendingDeployment = $.pendingDeployment; this.resources = $.resources; this.servicePrincipalClientId = $.servicePrincipalClientId; @@ -433,6 +442,15 @@ public Builder name(String name) { return name(Output.of(name)); } + public Builder noCompute(@Nullable Output noCompute) { + $.noCompute = noCompute; + return this; + } + + public Builder noCompute(Boolean noCompute) { + return noCompute(Output.of(noCompute)); + } + public Builder pendingDeployment(@Nullable Output pendingDeployment) { $.pendingDeployment = pendingDeployment; return this; diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetMwsWorkspacesArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetMwsWorkspacesArgs.java deleted file mode 100644 index 389df2f70..000000000 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetMwsWorkspacesArgs.java +++ /dev/null @@ -1,84 +0,0 @@ -// *** 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.Map; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class GetMwsWorkspacesArgs extends com.pulumi.resources.InvokeArgs { - - public static final GetMwsWorkspacesArgs Empty = new GetMwsWorkspacesArgs(); - - /** - * name-to-id map for all of the workspaces in the account - * - */ - @Import(name="ids") - private @Nullable Output> ids; - - /** - * @return name-to-id map for all of the workspaces in the account - * - */ - public Optional>> ids() { - return Optional.ofNullable(this.ids); - } - - private GetMwsWorkspacesArgs() {} - - private GetMwsWorkspacesArgs(GetMwsWorkspacesArgs $) { - this.ids = $.ids; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetMwsWorkspacesArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetMwsWorkspacesArgs $; - - public Builder() { - $ = new GetMwsWorkspacesArgs(); - } - - public Builder(GetMwsWorkspacesArgs defaults) { - $ = new GetMwsWorkspacesArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param ids name-to-id map for all of the workspaces in the account - * - * @return builder - * - */ - public Builder ids(@Nullable Output> ids) { - $.ids = ids; - return this; - } - - /** - * @param ids name-to-id map for all of the workspaces in the account - * - * @return builder - * - */ - public Builder ids(Map ids) { - return ids(Output.of(ids)); - } - - public GetMwsWorkspacesArgs build() { - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetMwsWorkspacesPlainArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetMwsWorkspacesPlainArgs.java deleted file mode 100644 index 4d4e49c25..000000000 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetMwsWorkspacesPlainArgs.java +++ /dev/null @@ -1,73 +0,0 @@ -// *** 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.annotations.Import; -import java.lang.String; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import javax.annotation.Nullable; - - -public final class GetMwsWorkspacesPlainArgs extends com.pulumi.resources.InvokeArgs { - - public static final GetMwsWorkspacesPlainArgs Empty = new GetMwsWorkspacesPlainArgs(); - - /** - * name-to-id map for all of the workspaces in the account - * - */ - @Import(name="ids") - private @Nullable Map ids; - - /** - * @return name-to-id map for all of the workspaces in the account - * - */ - public Optional> ids() { - return Optional.ofNullable(this.ids); - } - - private GetMwsWorkspacesPlainArgs() {} - - private GetMwsWorkspacesPlainArgs(GetMwsWorkspacesPlainArgs $) { - this.ids = $.ids; - } - - public static Builder builder() { - return new Builder(); - } - public static Builder builder(GetMwsWorkspacesPlainArgs defaults) { - return new Builder(defaults); - } - - public static final class Builder { - private GetMwsWorkspacesPlainArgs $; - - public Builder() { - $ = new GetMwsWorkspacesPlainArgs(); - } - - public Builder(GetMwsWorkspacesPlainArgs defaults) { - $ = new GetMwsWorkspacesPlainArgs(Objects.requireNonNull(defaults)); - } - - /** - * @param ids name-to-id map for all of the workspaces in the account - * - * @return builder - * - */ - public Builder ids(@Nullable Map ids) { - $.ids = ids; - return this; - } - - public GetMwsWorkspacesPlainArgs build() { - return $; - } - } - -} diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.java index 73dc620e9..066891331 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.java @@ -4,20 +4,21 @@ package com.pulumi.databricks.inputs; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii extends com.pulumi.resources.InvokeArgs { public static final GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii Empty = new GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii(); - @Import(name="behavior", required=true) - private String behavior; + @Import(name="behavior") + private @Nullable String behavior; - public String behavior() { - return this.behavior; + public Optional behavior() { + return Optional.ofNullable(this.behavior); } private GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii() {} @@ -44,15 +45,12 @@ public Builder(GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii def $ = new GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii(Objects.requireNonNull(defaults)); } - public Builder behavior(String behavior) { + public Builder behavior(@Nullable String behavior) { $.behavior = behavior; return this; } public GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii build() { - if ($.behavior == null) { - throw new MissingRequiredPropertyException("GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii", "behavior"); - } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs.java index 15c514fc2..a10710451 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs.java @@ -5,20 +5,21 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs extends com.pulumi.resources.ResourceArgs { public static final GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs Empty = new GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs(); - @Import(name="behavior", required=true) - private Output behavior; + @Import(name="behavior") + private @Nullable Output behavior; - public Output behavior() { - return this.behavior; + public Optional> behavior() { + return Optional.ofNullable(this.behavior); } private GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs() {} @@ -45,7 +46,7 @@ public Builder(GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs $ = new GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs(Objects.requireNonNull(defaults)); } - public Builder behavior(Output behavior) { + public Builder behavior(@Nullable Output behavior) { $.behavior = behavior; return this; } @@ -55,9 +56,6 @@ public Builder behavior(String behavior) { } public GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs build() { - if ($.behavior == null) { - throw new MissingRequiredPropertyException("GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs", "behavior"); - } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.java index 82ce882e2..a110b9f2b 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.java @@ -4,20 +4,21 @@ package com.pulumi.databricks.inputs; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GetServingEndpointsEndpointAiGatewayGuardrailOutputPii extends com.pulumi.resources.InvokeArgs { public static final GetServingEndpointsEndpointAiGatewayGuardrailOutputPii Empty = new GetServingEndpointsEndpointAiGatewayGuardrailOutputPii(); - @Import(name="behavior", required=true) - private String behavior; + @Import(name="behavior") + private @Nullable String behavior; - public String behavior() { - return this.behavior; + public Optional behavior() { + return Optional.ofNullable(this.behavior); } private GetServingEndpointsEndpointAiGatewayGuardrailOutputPii() {} @@ -44,15 +45,12 @@ public Builder(GetServingEndpointsEndpointAiGatewayGuardrailOutputPii defaults) $ = new GetServingEndpointsEndpointAiGatewayGuardrailOutputPii(Objects.requireNonNull(defaults)); } - public Builder behavior(String behavior) { + public Builder behavior(@Nullable String behavior) { $.behavior = behavior; return this; } public GetServingEndpointsEndpointAiGatewayGuardrailOutputPii build() { - if ($.behavior == null) { - throw new MissingRequiredPropertyException("GetServingEndpointsEndpointAiGatewayGuardrailOutputPii", "behavior"); - } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs.java index fad94aa09..7dae10d2b 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs.java @@ -5,20 +5,21 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs extends com.pulumi.resources.ResourceArgs { public static final GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs Empty = new GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs(); - @Import(name="behavior", required=true) - private Output behavior; + @Import(name="behavior") + private @Nullable Output behavior; - public Output behavior() { - return this.behavior; + public Optional> behavior() { + return Optional.ofNullable(this.behavior); } private GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs() {} @@ -45,7 +46,7 @@ public Builder(GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs defaul $ = new GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs(Objects.requireNonNull(defaults)); } - public Builder behavior(Output behavior) { + public Builder behavior(@Nullable Output behavior) { $.behavior = behavior; return this; } @@ -55,9 +56,6 @@ public Builder behavior(String behavior) { } public GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs build() { - if ($.behavior == null) { - throw new MissingRequiredPropertyException("GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs", "behavior"); - } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java index 2028b8808..298f67be7 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java @@ -4,6 +4,7 @@ package com.pulumi.databricks.inputs; import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -28,18 +29,18 @@ public Optional privateKeyPlaintext() { return Optional.ofNullable(this.privateKeyPlaintext); } - @Import(name="projectId") - private @Nullable String projectId; + @Import(name="projectId", required=true) + private String projectId; - public Optional projectId() { - return Optional.ofNullable(this.projectId); + public String projectId() { + return this.projectId; } - @Import(name="region") - private @Nullable String region; + @Import(name="region", required=true) + private String region; - public Optional region() { - return Optional.ofNullable(this.region); + public String region() { + return this.region; } private GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig() {} @@ -79,17 +80,23 @@ public Builder privateKeyPlaintext(@Nullable String privateKeyPlaintext) { return this; } - public Builder projectId(@Nullable String projectId) { + public Builder projectId(String projectId) { $.projectId = projectId; return this; } - public Builder region(@Nullable String region) { + public Builder region(String region) { $.region = region; return this; } public GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig build() { + if ($.projectId == null) { + throw new MissingRequiredPropertyException("GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig", "projectId"); + } + if ($.region == null) { + throw new MissingRequiredPropertyException("GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig", "region"); + } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.java index dd58d3596..db8b7f9d7 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -29,18 +30,18 @@ public Optional> privateKeyPlaintext() { return Optional.ofNullable(this.privateKeyPlaintext); } - @Import(name="projectId") - private @Nullable Output projectId; + @Import(name="projectId", required=true) + private Output projectId; - public Optional> projectId() { - return Optional.ofNullable(this.projectId); + public Output projectId() { + return this.projectId; } - @Import(name="region") - private @Nullable Output region; + @Import(name="region", required=true) + private Output region; - public Optional> region() { - return Optional.ofNullable(this.region); + public Output region() { + return this.region; } private GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs() {} @@ -88,7 +89,7 @@ public Builder privateKeyPlaintext(String privateKeyPlaintext) { return privateKeyPlaintext(Output.of(privateKeyPlaintext)); } - public Builder projectId(@Nullable Output projectId) { + public Builder projectId(Output projectId) { $.projectId = projectId; return this; } @@ -97,7 +98,7 @@ public Builder projectId(String projectId) { return projectId(Output.of(projectId)); } - public Builder region(@Nullable Output region) { + public Builder region(Output region) { $.region = region; return this; } @@ -107,6 +108,12 @@ public Builder region(String region) { } public GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs build() { + if ($.projectId == null) { + throw new MissingRequiredPropertyException("GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs", "projectId"); + } + if ($.region == null) { + throw new MissingRequiredPropertyException("GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs", "region"); + } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/JobTaskForEachTaskTaskSparkJarTaskArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/JobTaskForEachTaskTaskSparkJarTaskArgs.java index e1507009b..a3317e5ed 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/JobTaskForEachTaskTaskSparkJarTaskArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/JobTaskForEachTaskTaskSparkJarTaskArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -53,12 +54,20 @@ public Optional>> parameters() { return Optional.ofNullable(this.parameters); } + @Import(name="runAsRepl") + private @Nullable Output runAsRepl; + + public Optional> runAsRepl() { + return Optional.ofNullable(this.runAsRepl); + } + private JobTaskForEachTaskTaskSparkJarTaskArgs() {} private JobTaskForEachTaskTaskSparkJarTaskArgs(JobTaskForEachTaskTaskSparkJarTaskArgs $) { this.jarUri = $.jarUri; this.mainClassName = $.mainClassName; this.parameters = $.parameters; + this.runAsRepl = $.runAsRepl; } public static Builder builder() { @@ -140,6 +149,15 @@ public Builder parameters(String... parameters) { return parameters(List.of(parameters)); } + public Builder runAsRepl(@Nullable Output runAsRepl) { + $.runAsRepl = runAsRepl; + return this; + } + + public Builder runAsRepl(Boolean runAsRepl) { + return runAsRepl(Output.of(runAsRepl)); + } + public JobTaskForEachTaskTaskSparkJarTaskArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/JobTaskSparkJarTaskArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/JobTaskSparkJarTaskArgs.java index 97e090bd2..5856bb013 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/JobTaskSparkJarTaskArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/JobTaskSparkJarTaskArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -53,12 +54,20 @@ public Optional>> parameters() { return Optional.ofNullable(this.parameters); } + @Import(name="runAsRepl") + private @Nullable Output runAsRepl; + + public Optional> runAsRepl() { + return Optional.ofNullable(this.runAsRepl); + } + private JobTaskSparkJarTaskArgs() {} private JobTaskSparkJarTaskArgs(JobTaskSparkJarTaskArgs $) { this.jarUri = $.jarUri; this.mainClassName = $.mainClassName; this.parameters = $.parameters; + this.runAsRepl = $.runAsRepl; } public static Builder builder() { @@ -140,6 +149,15 @@ public Builder parameters(String... parameters) { return parameters(List.of(parameters)); } + public Builder runAsRepl(@Nullable Output runAsRepl) { + $.runAsRepl = runAsRepl; + return this; + } + + public Builder runAsRepl(Boolean runAsRepl) { + return runAsRepl(Output.of(runAsRepl)); + } + public JobTaskSparkJarTaskArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingAiGatewayGuardrailsInputPiiArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingAiGatewayGuardrailsInputPiiArgs.java index 6fe539a47..db4f2adff 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingAiGatewayGuardrailsInputPiiArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingAiGatewayGuardrailsInputPiiArgs.java @@ -5,9 +5,10 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class ModelServingAiGatewayGuardrailsInputPiiArgs extends com.pulumi.resources.ResourceArgs { @@ -18,15 +19,15 @@ public final class ModelServingAiGatewayGuardrailsInputPiiArgs extends com.pulum * a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. * */ - @Import(name="behavior", required=true) - private Output behavior; + @Import(name="behavior") + private @Nullable Output behavior; /** * @return a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. * */ - public Output behavior() { - return this.behavior; + public Optional> behavior() { + return Optional.ofNullable(this.behavior); } private ModelServingAiGatewayGuardrailsInputPiiArgs() {} @@ -59,7 +60,7 @@ public Builder(ModelServingAiGatewayGuardrailsInputPiiArgs defaults) { * @return builder * */ - public Builder behavior(Output behavior) { + public Builder behavior(@Nullable Output behavior) { $.behavior = behavior; return this; } @@ -75,9 +76,6 @@ public Builder behavior(String behavior) { } public ModelServingAiGatewayGuardrailsInputPiiArgs build() { - if ($.behavior == null) { - throw new MissingRequiredPropertyException("ModelServingAiGatewayGuardrailsInputPiiArgs", "behavior"); - } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingAiGatewayGuardrailsOutputPiiArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingAiGatewayGuardrailsOutputPiiArgs.java index 101aeb28a..0f1577360 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingAiGatewayGuardrailsOutputPiiArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingAiGatewayGuardrailsOutputPiiArgs.java @@ -5,9 +5,10 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class ModelServingAiGatewayGuardrailsOutputPiiArgs extends com.pulumi.resources.ResourceArgs { @@ -18,15 +19,15 @@ public final class ModelServingAiGatewayGuardrailsOutputPiiArgs extends com.pulu * a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. * */ - @Import(name="behavior", required=true) - private Output behavior; + @Import(name="behavior") + private @Nullable Output behavior; /** * @return a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. * */ - public Output behavior() { - return this.behavior; + public Optional> behavior() { + return Optional.ofNullable(this.behavior); } private ModelServingAiGatewayGuardrailsOutputPiiArgs() {} @@ -59,7 +60,7 @@ public Builder(ModelServingAiGatewayGuardrailsOutputPiiArgs defaults) { * @return builder * */ - public Builder behavior(Output behavior) { + public Builder behavior(@Nullable Output behavior) { $.behavior = behavior; return this; } @@ -75,9 +76,6 @@ public Builder behavior(String behavior) { } public ModelServingAiGatewayGuardrailsOutputPiiArgs build() { - if ($.behavior == null) { - throw new MissingRequiredPropertyException("ModelServingAiGatewayGuardrailsOutputPiiArgs", "behavior"); - } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.java index aae653de3..c4f796549 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -49,30 +50,30 @@ public Optional> privateKeyPlaintext() { * This is the Google Cloud project id that the service account is associated with. * */ - @Import(name="projectId") - private @Nullable Output projectId; + @Import(name="projectId", required=true) + private Output projectId; /** * @return This is the Google Cloud project id that the service account is associated with. * */ - public Optional> projectId() { - return Optional.ofNullable(this.projectId); + public Output projectId() { + return this.projectId; } /** * This is the region for the Google Cloud Vertex AI Service. * */ - @Import(name="region") - private @Nullable Output region; + @Import(name="region", required=true) + private Output region; /** * @return This is the region for the Google Cloud Vertex AI Service. * */ - public Optional> region() { - return Optional.ofNullable(this.region); + public Output region() { + return this.region; } private ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs() {} @@ -150,7 +151,7 @@ public Builder privateKeyPlaintext(String privateKeyPlaintext) { * @return builder * */ - public Builder projectId(@Nullable Output projectId) { + public Builder projectId(Output projectId) { $.projectId = projectId; return this; } @@ -171,7 +172,7 @@ public Builder projectId(String projectId) { * @return builder * */ - public Builder region(@Nullable Output region) { + public Builder region(Output region) { $.region = region; return this; } @@ -187,6 +188,12 @@ public Builder region(String region) { } public ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs build() { + if ($.projectId == null) { + throw new MissingRequiredPropertyException("ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs", "projectId"); + } + if ($.region == null) { + throw new MissingRequiredPropertyException("ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs", "region"); + } return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingState.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingState.java index 1082edd6d..8871121dc 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingState.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/ModelServingState.java @@ -37,14 +37,14 @@ public Optional> aiGateway() { } /** - * The model serving endpoint configuration. + * The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. * */ @Import(name="config") private @Nullable Output config; /** - * @return The model serving endpoint configuration. + * @return The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. * */ public Optional> config() { @@ -178,7 +178,7 @@ public Builder aiGateway(ModelServingAiGatewayArgs aiGateway) { } /** - * @param config The model serving endpoint configuration. + * @param config The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. * * @return builder * @@ -189,7 +189,7 @@ public Builder config(@Nullable Output config) { } /** - * @param config The model serving endpoint configuration. + * @param config The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/RecipientState.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/RecipientState.java index a28ef88b5..56d03c81d 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/RecipientState.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/RecipientState.java @@ -133,6 +133,21 @@ public Optional> dataRecipientGlobalMetastoreId() { return Optional.ofNullable(this.dataRecipientGlobalMetastoreId); } + /** + * Expiration timestamp of the token in epoch milliseconds. + * + */ + @Import(name="expirationTime") + private @Nullable Output expirationTime; + + /** + * @return Expiration timestamp of the token in epoch milliseconds. + * + */ + public Optional> expirationTime() { + return Optional.ofNullable(this.expirationTime); + } + /** * Recipient IP access list. * @@ -294,6 +309,7 @@ private RecipientState(RecipientState $) { this.createdAt = $.createdAt; this.createdBy = $.createdBy; this.dataRecipientGlobalMetastoreId = $.dataRecipientGlobalMetastoreId; + this.expirationTime = $.expirationTime; this.ipAccessList = $.ipAccessList; this.metastoreId = $.metastoreId; this.name = $.name; @@ -480,6 +496,27 @@ public Builder dataRecipientGlobalMetastoreId(String dataRecipientGlobalMetastor return dataRecipientGlobalMetastoreId(Output.of(dataRecipientGlobalMetastoreId)); } + /** + * @param expirationTime Expiration timestamp of the token in epoch milliseconds. + * + * @return builder + * + */ + public Builder expirationTime(@Nullable Output expirationTime) { + $.expirationTime = expirationTime; + return this; + } + + /** + * @param expirationTime Expiration timestamp of the token in epoch milliseconds. + * + * @return builder + * + */ + public Builder expirationTime(Integer expirationTime) { + return expirationTime(Output.of(expirationTime)); + } + /** * @param ipAccessList Recipient IP access list. * diff --git a/sdk/java/src/main/java/com/pulumi/databricks/inputs/TokenState.java b/sdk/java/src/main/java/com/pulumi/databricks/inputs/TokenState.java index ad5a50378..b8a92fc02 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/inputs/TokenState.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/inputs/TokenState.java @@ -46,14 +46,14 @@ public Optional> expiryTime() { } /** - * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. * */ @Import(name="lifetimeSeconds") private @Nullable Output lifetimeSeconds; /** - * @return (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * @return (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. * */ public Optional> lifetimeSeconds() { @@ -151,7 +151,7 @@ public Builder expiryTime(Integer expiryTime) { } /** - * @param lifetimeSeconds (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * @param lifetimeSeconds (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. * * @return builder * @@ -162,7 +162,7 @@ public Builder lifetimeSeconds(@Nullable Output lifetimeSeconds) { } /** - * @param lifetimeSeconds (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * @param lifetimeSeconds (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.java index bcd737f69..955035835 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii.java @@ -4,17 +4,18 @@ package com.pulumi.databricks.outputs; import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii { - private String behavior; + private @Nullable String behavior; private GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii() {} - public String behavior() { - return this.behavior; + public Optional behavior() { + return Optional.ofNullable(this.behavior); } public static Builder builder() { @@ -26,7 +27,7 @@ public static Builder builder(GetServingEndpointsEndpointAiGatewayGuardrailInput } @CustomType.Builder public static final class Builder { - private String behavior; + private @Nullable String behavior; public Builder() {} public Builder(GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii defaults) { Objects.requireNonNull(defaults); @@ -34,10 +35,8 @@ public Builder(GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii def } @CustomType.Setter - public Builder behavior(String behavior) { - if (behavior == null) { - throw new MissingRequiredPropertyException("GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii", "behavior"); - } + public Builder behavior(@Nullable String behavior) { + this.behavior = behavior; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.java index bd9520767..d595286d0 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointAiGatewayGuardrailOutputPii.java @@ -4,17 +4,18 @@ package com.pulumi.databricks.outputs; import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class GetServingEndpointsEndpointAiGatewayGuardrailOutputPii { - private String behavior; + private @Nullable String behavior; private GetServingEndpointsEndpointAiGatewayGuardrailOutputPii() {} - public String behavior() { - return this.behavior; + public Optional behavior() { + return Optional.ofNullable(this.behavior); } public static Builder builder() { @@ -26,7 +27,7 @@ public static Builder builder(GetServingEndpointsEndpointAiGatewayGuardrailOutpu } @CustomType.Builder public static final class Builder { - private String behavior; + private @Nullable String behavior; public Builder() {} public Builder(GetServingEndpointsEndpointAiGatewayGuardrailOutputPii defaults) { Objects.requireNonNull(defaults); @@ -34,10 +35,8 @@ public Builder(GetServingEndpointsEndpointAiGatewayGuardrailOutputPii defaults) } @CustomType.Setter - public Builder behavior(String behavior) { - if (behavior == null) { - throw new MissingRequiredPropertyException("GetServingEndpointsEndpointAiGatewayGuardrailOutputPii", "behavior"); - } + public Builder behavior(@Nullable String behavior) { + this.behavior = behavior; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java index 8f6781c7c..8229a8e25 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java @@ -4,6 +4,7 @@ package com.pulumi.databricks.outputs; import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -13,8 +14,8 @@ public final class GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig { private @Nullable String privateKey; private @Nullable String privateKeyPlaintext; - private @Nullable String projectId; - private @Nullable String region; + private String projectId; + private String region; private GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig() {} public Optional privateKey() { @@ -23,11 +24,11 @@ public Optional privateKey() { public Optional privateKeyPlaintext() { return Optional.ofNullable(this.privateKeyPlaintext); } - public Optional projectId() { - return Optional.ofNullable(this.projectId); + public String projectId() { + return this.projectId; } - public Optional region() { - return Optional.ofNullable(this.region); + public String region() { + return this.region; } public static Builder builder() { @@ -41,8 +42,8 @@ public static Builder builder(GetServingEndpointsEndpointConfigServedEntityExter public static final class Builder { private @Nullable String privateKey; private @Nullable String privateKeyPlaintext; - private @Nullable String projectId; - private @Nullable String region; + private String projectId; + private String region; public Builder() {} public Builder(GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig defaults) { Objects.requireNonNull(defaults); @@ -65,14 +66,18 @@ public Builder privateKeyPlaintext(@Nullable String privateKeyPlaintext) { return this; } @CustomType.Setter - public Builder projectId(@Nullable String projectId) { - + public Builder projectId(String projectId) { + if (projectId == null) { + throw new MissingRequiredPropertyException("GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig", "projectId"); + } this.projectId = projectId; return this; } @CustomType.Setter - public Builder region(@Nullable String region) { - + public Builder region(String region) { + if (region == null) { + throw new MissingRequiredPropertyException("GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig", "region"); + } this.region = region; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/JobTaskForEachTaskTaskSparkJarTask.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/JobTaskForEachTaskTaskSparkJarTask.java index c2b1e0b6f..a4c8cc0fd 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/outputs/JobTaskForEachTaskTaskSparkJarTask.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/JobTaskForEachTaskTaskSparkJarTask.java @@ -4,6 +4,7 @@ package com.pulumi.databricks.outputs; import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -23,6 +24,7 @@ public final class JobTaskForEachTaskTaskSparkJarTask { * */ private @Nullable List parameters; + private @Nullable Boolean runAsRepl; private JobTaskForEachTaskTaskSparkJarTask() {} public Optional jarUri() { @@ -42,6 +44,9 @@ public Optional mainClassName() { public List parameters() { return this.parameters == null ? List.of() : this.parameters; } + public Optional runAsRepl() { + return Optional.ofNullable(this.runAsRepl); + } public static Builder builder() { return new Builder(); @@ -55,12 +60,14 @@ public static final class Builder { private @Nullable String jarUri; private @Nullable String mainClassName; private @Nullable List parameters; + private @Nullable Boolean runAsRepl; public Builder() {} public Builder(JobTaskForEachTaskTaskSparkJarTask defaults) { Objects.requireNonNull(defaults); this.jarUri = defaults.jarUri; this.mainClassName = defaults.mainClassName; this.parameters = defaults.parameters; + this.runAsRepl = defaults.runAsRepl; } @CustomType.Setter @@ -84,11 +91,18 @@ public Builder parameters(@Nullable List parameters) { public Builder parameters(String... parameters) { return parameters(List.of(parameters)); } + @CustomType.Setter + public Builder runAsRepl(@Nullable Boolean runAsRepl) { + + this.runAsRepl = runAsRepl; + return this; + } public JobTaskForEachTaskTaskSparkJarTask build() { final var _resultValue = new JobTaskForEachTaskTaskSparkJarTask(); _resultValue.jarUri = jarUri; _resultValue.mainClassName = mainClassName; _resultValue.parameters = parameters; + _resultValue.runAsRepl = runAsRepl; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/JobTaskSparkJarTask.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/JobTaskSparkJarTask.java index 22d7117e9..3bc8a77da 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/outputs/JobTaskSparkJarTask.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/JobTaskSparkJarTask.java @@ -4,6 +4,7 @@ package com.pulumi.databricks.outputs; import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; import java.lang.String; import java.util.List; import java.util.Objects; @@ -23,6 +24,7 @@ public final class JobTaskSparkJarTask { * */ private @Nullable List parameters; + private @Nullable Boolean runAsRepl; private JobTaskSparkJarTask() {} public Optional jarUri() { @@ -42,6 +44,9 @@ public Optional mainClassName() { public List parameters() { return this.parameters == null ? List.of() : this.parameters; } + public Optional runAsRepl() { + return Optional.ofNullable(this.runAsRepl); + } public static Builder builder() { return new Builder(); @@ -55,12 +60,14 @@ public static final class Builder { private @Nullable String jarUri; private @Nullable String mainClassName; private @Nullable List parameters; + private @Nullable Boolean runAsRepl; public Builder() {} public Builder(JobTaskSparkJarTask defaults) { Objects.requireNonNull(defaults); this.jarUri = defaults.jarUri; this.mainClassName = defaults.mainClassName; this.parameters = defaults.parameters; + this.runAsRepl = defaults.runAsRepl; } @CustomType.Setter @@ -84,11 +91,18 @@ public Builder parameters(@Nullable List parameters) { public Builder parameters(String... parameters) { return parameters(List.of(parameters)); } + @CustomType.Setter + public Builder runAsRepl(@Nullable Boolean runAsRepl) { + + this.runAsRepl = runAsRepl; + return this; + } public JobTaskSparkJarTask build() { final var _resultValue = new JobTaskSparkJarTask(); _resultValue.jarUri = jarUri; _resultValue.mainClassName = mainClassName; _resultValue.parameters = parameters; + _resultValue.runAsRepl = runAsRepl; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingAiGatewayGuardrailsInputPii.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingAiGatewayGuardrailsInputPii.java index b80272ee5..518389f35 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingAiGatewayGuardrailsInputPii.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingAiGatewayGuardrailsInputPii.java @@ -4,9 +4,10 @@ package com.pulumi.databricks.outputs; import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class ModelServingAiGatewayGuardrailsInputPii { @@ -14,15 +15,15 @@ public final class ModelServingAiGatewayGuardrailsInputPii { * @return a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. * */ - private String behavior; + private @Nullable String behavior; private ModelServingAiGatewayGuardrailsInputPii() {} /** * @return a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. * */ - public String behavior() { - return this.behavior; + public Optional behavior() { + return Optional.ofNullable(this.behavior); } public static Builder builder() { @@ -34,7 +35,7 @@ public static Builder builder(ModelServingAiGatewayGuardrailsInputPii defaults) } @CustomType.Builder public static final class Builder { - private String behavior; + private @Nullable String behavior; public Builder() {} public Builder(ModelServingAiGatewayGuardrailsInputPii defaults) { Objects.requireNonNull(defaults); @@ -42,10 +43,8 @@ public Builder(ModelServingAiGatewayGuardrailsInputPii defaults) { } @CustomType.Setter - public Builder behavior(String behavior) { - if (behavior == null) { - throw new MissingRequiredPropertyException("ModelServingAiGatewayGuardrailsInputPii", "behavior"); - } + public Builder behavior(@Nullable String behavior) { + this.behavior = behavior; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingAiGatewayGuardrailsOutputPii.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingAiGatewayGuardrailsOutputPii.java index 20616c33b..f4892c8f0 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingAiGatewayGuardrailsOutputPii.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingAiGatewayGuardrailsOutputPii.java @@ -4,9 +4,10 @@ package com.pulumi.databricks.outputs; import com.pulumi.core.annotations.CustomType; -import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class ModelServingAiGatewayGuardrailsOutputPii { @@ -14,15 +15,15 @@ public final class ModelServingAiGatewayGuardrailsOutputPii { * @return a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. * */ - private String behavior; + private @Nullable String behavior; private ModelServingAiGatewayGuardrailsOutputPii() {} /** * @return a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. * */ - public String behavior() { - return this.behavior; + public Optional behavior() { + return Optional.ofNullable(this.behavior); } public static Builder builder() { @@ -34,7 +35,7 @@ public static Builder builder(ModelServingAiGatewayGuardrailsOutputPii defaults) } @CustomType.Builder public static final class Builder { - private String behavior; + private @Nullable String behavior; public Builder() {} public Builder(ModelServingAiGatewayGuardrailsOutputPii defaults) { Objects.requireNonNull(defaults); @@ -42,10 +43,8 @@ public Builder(ModelServingAiGatewayGuardrailsOutputPii defaults) { } @CustomType.Setter - public Builder behavior(String behavior) { - if (behavior == null) { - throw new MissingRequiredPropertyException("ModelServingAiGatewayGuardrailsOutputPii", "behavior"); - } + public Builder behavior(@Nullable String behavior) { + this.behavior = behavior; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java b/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java index 6b2b236de..35c945b1e 100644 --- a/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java +++ b/sdk/java/src/main/java/com/pulumi/databricks/outputs/ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig.java @@ -4,6 +4,7 @@ package com.pulumi.databricks.outputs; import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -25,12 +26,12 @@ public final class ModelServingConfigServedEntityExternalModelGoogleCloudVertexA * @return This is the Google Cloud project id that the service account is associated with. * */ - private @Nullable String projectId; + private String projectId; /** * @return This is the region for the Google Cloud Vertex AI Service. * */ - private @Nullable String region; + private String region; private ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig() {} /** @@ -51,15 +52,15 @@ public Optional privateKeyPlaintext() { * @return This is the Google Cloud project id that the service account is associated with. * */ - public Optional projectId() { - return Optional.ofNullable(this.projectId); + public String projectId() { + return this.projectId; } /** * @return This is the region for the Google Cloud Vertex AI Service. * */ - public Optional region() { - return Optional.ofNullable(this.region); + public String region() { + return this.region; } public static Builder builder() { @@ -73,8 +74,8 @@ public static Builder builder(ModelServingConfigServedEntityExternalModelGoogleC public static final class Builder { private @Nullable String privateKey; private @Nullable String privateKeyPlaintext; - private @Nullable String projectId; - private @Nullable String region; + private String projectId; + private String region; public Builder() {} public Builder(ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig defaults) { Objects.requireNonNull(defaults); @@ -97,14 +98,18 @@ public Builder privateKeyPlaintext(@Nullable String privateKeyPlaintext) { return this; } @CustomType.Setter - public Builder projectId(@Nullable String projectId) { - + public Builder projectId(String projectId) { + if (projectId == null) { + throw new MissingRequiredPropertyException("ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig", "projectId"); + } this.projectId = projectId; return this; } @CustomType.Setter - public Builder region(@Nullable String region) { - + public Builder region(String region) { + if (region == null) { + throw new MissingRequiredPropertyException("ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig", "region"); + } this.region = region; return this; } diff --git a/sdk/nodejs/app.ts b/sdk/nodejs/app.ts index c5422c524..ec02a769e 100644 --- a/sdk/nodejs/app.ts +++ b/sdk/nodejs/app.ts @@ -90,6 +90,7 @@ export class App extends pulumi.CustomResource { * The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace. */ public readonly name!: pulumi.Output; + public readonly noCompute!: pulumi.Output; public /*out*/ readonly pendingDeployment!: pulumi.Output; /** * A list of resources that the app have access to. @@ -138,6 +139,7 @@ export class App extends pulumi.CustomResource { resourceInputs["defaultSourceCodePath"] = state ? state.defaultSourceCodePath : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["noCompute"] = state ? state.noCompute : undefined; resourceInputs["pendingDeployment"] = state ? state.pendingDeployment : undefined; resourceInputs["resources"] = state ? state.resources : undefined; resourceInputs["servicePrincipalClientId"] = state ? state.servicePrincipalClientId : undefined; @@ -150,6 +152,7 @@ export class App extends pulumi.CustomResource { const args = argsOrState as AppArgs | undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["noCompute"] = args ? args.noCompute : undefined; resourceInputs["resources"] = args ? args.resources : undefined; resourceInputs["activeDeployment"] = undefined /*out*/; resourceInputs["appStatus"] = undefined /*out*/; @@ -203,6 +206,7 @@ export interface AppState { * The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace. */ name?: pulumi.Input; + noCompute?: pulumi.Input; pendingDeployment?: pulumi.Input; /** * A list of resources that the app have access to. @@ -243,6 +247,7 @@ export interface AppArgs { * The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace. */ name?: pulumi.Input; + noCompute?: pulumi.Input; /** * A list of resources that the app have access to. */ diff --git a/sdk/nodejs/getMwsWorkspaces.ts b/sdk/nodejs/getMwsWorkspaces.ts index e28b7a7c4..7fa7e7f0a 100644 --- a/sdk/nodejs/getMwsWorkspaces.ts +++ b/sdk/nodejs/getMwsWorkspaces.ts @@ -30,24 +30,12 @@ import * as utilities from "./utilities"; * * databricks.MwsWorkspaces to manage Databricks Workspaces on AWS and GCP. * * databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurermDatabricksWorkspace */ -export function getMwsWorkspaces(args?: GetMwsWorkspacesArgs, opts?: pulumi.InvokeOptions): Promise { - args = args || {}; +export function getMwsWorkspaces(opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("databricks:index/getMwsWorkspaces:getMwsWorkspaces", { - "ids": args.ids, }, opts); } -/** - * A collection of arguments for invoking getMwsWorkspaces. - */ -export interface GetMwsWorkspacesArgs { - /** - * name-to-id map for all of the workspaces in the account - */ - ids?: {[key: string]: string}; -} - /** * A collection of values returned by getMwsWorkspaces. */ @@ -87,20 +75,8 @@ export interface GetMwsWorkspacesResult { * * databricks.MwsWorkspaces to manage Databricks Workspaces on AWS and GCP. * * databricks.MetastoreAssignment to assign databricks.Metastore to databricks.MwsWorkspaces or azurermDatabricksWorkspace */ -export function getMwsWorkspacesOutput(args?: GetMwsWorkspacesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { - args = args || {}; +export function getMwsWorkspacesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("databricks:index/getMwsWorkspaces:getMwsWorkspaces", { - "ids": args.ids, }, opts); } - -/** - * A collection of arguments for invoking getMwsWorkspaces. - */ -export interface GetMwsWorkspacesOutputArgs { - /** - * name-to-id map for all of the workspaces in the account - */ - ids?: pulumi.Input<{[key: string]: pulumi.Input}>; -} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 67a266cae..eded58411 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -285,7 +285,7 @@ export const getMwsNetworkConnectivityConfigs: typeof import("./getMwsNetworkCon export const getMwsNetworkConnectivityConfigsOutput: typeof import("./getMwsNetworkConnectivityConfigs").getMwsNetworkConnectivityConfigsOutput = null as any; utilities.lazyLoad(exports, ["getMwsNetworkConnectivityConfigs","getMwsNetworkConnectivityConfigsOutput"], () => require("./getMwsNetworkConnectivityConfigs")); -export { GetMwsWorkspacesArgs, GetMwsWorkspacesResult, GetMwsWorkspacesOutputArgs } from "./getMwsWorkspaces"; +export { GetMwsWorkspacesResult } from "./getMwsWorkspaces"; export const getMwsWorkspaces: typeof import("./getMwsWorkspaces").getMwsWorkspaces = null as any; export const getMwsWorkspacesOutput: typeof import("./getMwsWorkspaces").getMwsWorkspacesOutput = null as any; utilities.lazyLoad(exports, ["getMwsWorkspaces","getMwsWorkspacesOutput"], () => require("./getMwsWorkspaces")); diff --git a/sdk/nodejs/instanceProfile.ts b/sdk/nodejs/instanceProfile.ts index 7aca08a75..beb80feae 100644 --- a/sdk/nodejs/instanceProfile.ts +++ b/sdk/nodejs/instanceProfile.ts @@ -89,7 +89,7 @@ import * as utilities from "./utilities"; * definition: JSON.stringify({ * "aws_attributes.instance_profile_arn": { * type: "fixed", - * value: shared.arn, + * value: shared.id, * }, * }), * }); @@ -103,7 +103,7 @@ import * as utilities from "./utilities"; * import * as pulumi from "@pulumi/pulumi"; * import * as databricks from "@pulumi/databricks"; * - * const _this = new databricks.InstanceProfile("this", {instanceProfileArn: shared.arn}); + * const _this = new databricks.InstanceProfile("this", {instanceProfileArn: shared.id}); * const users = databricks.getGroup({ * displayName: "users", * }); diff --git a/sdk/nodejs/modelServing.ts b/sdk/nodejs/modelServing.ts index 647d53592..260ad57df 100644 --- a/sdk/nodejs/modelServing.ts +++ b/sdk/nodejs/modelServing.ts @@ -111,9 +111,9 @@ export class ModelServing extends pulumi.CustomResource { */ public readonly aiGateway!: pulumi.Output; /** - * The model serving endpoint configuration. + * The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. */ - public readonly config!: pulumi.Output; + public readonly config!: pulumi.Output; /** * The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. */ @@ -142,7 +142,7 @@ export class ModelServing extends pulumi.CustomResource { * @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: ModelServingArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, args?: ModelServingArgs, opts?: pulumi.CustomResourceOptions) constructor(name: string, argsOrState?: ModelServingArgs | ModelServingState, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; @@ -157,9 +157,6 @@ export class ModelServing extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; } else { const args = argsOrState as ModelServingArgs | undefined; - if ((!args || args.config === undefined) && !opts.urn) { - throw new Error("Missing required property 'config'"); - } resourceInputs["aiGateway"] = args ? args.aiGateway : undefined; resourceInputs["config"] = args ? args.config : undefined; resourceInputs["name"] = args ? args.name : undefined; @@ -182,7 +179,7 @@ export interface ModelServingState { */ aiGateway?: pulumi.Input; /** - * The model serving endpoint configuration. + * The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. */ config?: pulumi.Input; /** @@ -216,9 +213,9 @@ export interface ModelServingArgs { */ aiGateway?: pulumi.Input; /** - * The model serving endpoint configuration. + * The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. */ - config: pulumi.Input; + config?: pulumi.Input; /** * The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. */ diff --git a/sdk/nodejs/notebook.ts b/sdk/nodejs/notebook.ts index 64d310bb6..2d6236667 100644 --- a/sdk/nodejs/notebook.ts +++ b/sdk/nodejs/notebook.ts @@ -49,11 +49,11 @@ export class Notebook extends pulumi.CustomResource { * The base64-encoded notebook source code. Conflicts with `source`. Use of `contentBase64` is discouraged, as it's increasing memory footprint of Pulumi state and should only be used in exceptional circumstances, like creating a notebook with configuration properties for a data pipeline. */ public readonly contentBase64!: pulumi.Output; - public readonly format!: pulumi.Output; + public readonly format!: pulumi.Output; /** * One of `SCALA`, `PYTHON`, `SQL`, `R`. */ - public readonly language!: pulumi.Output; + public readonly language!: pulumi.Output; public readonly md5!: pulumi.Output; /** * Unique identifier for a NOTEBOOK diff --git a/sdk/nodejs/recipient.ts b/sdk/nodejs/recipient.ts index c015fe1d8..fef8299e2 100644 --- a/sdk/nodejs/recipient.ts +++ b/sdk/nodejs/recipient.ts @@ -100,6 +100,10 @@ export class Recipient extends pulumi.CustomResource { * Required when `authenticationType` is `DATABRICKS`. */ public readonly dataRecipientGlobalMetastoreId!: pulumi.Output; + /** + * Expiration timestamp of the token in epoch milliseconds. + */ + public readonly expirationTime!: pulumi.Output; /** * Recipient IP access list. */ @@ -162,6 +166,7 @@ export class Recipient extends pulumi.CustomResource { resourceInputs["createdAt"] = state ? state.createdAt : undefined; resourceInputs["createdBy"] = state ? state.createdBy : undefined; resourceInputs["dataRecipientGlobalMetastoreId"] = state ? state.dataRecipientGlobalMetastoreId : undefined; + resourceInputs["expirationTime"] = state ? state.expirationTime : undefined; resourceInputs["ipAccessList"] = state ? state.ipAccessList : undefined; resourceInputs["metastoreId"] = state ? state.metastoreId : undefined; resourceInputs["name"] = state ? state.name : undefined; @@ -180,6 +185,7 @@ export class Recipient extends pulumi.CustomResource { resourceInputs["authenticationType"] = args ? args.authenticationType : undefined; resourceInputs["comment"] = args ? args.comment : undefined; resourceInputs["dataRecipientGlobalMetastoreId"] = args ? args.dataRecipientGlobalMetastoreId : undefined; + resourceInputs["expirationTime"] = args ? args.expirationTime : undefined; resourceInputs["ipAccessList"] = args ? args.ipAccessList : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["owner"] = args ? args.owner : undefined; @@ -236,6 +242,10 @@ export interface RecipientState { * Required when `authenticationType` is `DATABRICKS`. */ dataRecipientGlobalMetastoreId?: pulumi.Input; + /** + * Expiration timestamp of the token in epoch milliseconds. + */ + expirationTime?: pulumi.Input; /** * Recipient IP access list. */ @@ -294,6 +304,10 @@ export interface RecipientArgs { * Required when `authenticationType` is `DATABRICKS`. */ dataRecipientGlobalMetastoreId?: pulumi.Input; + /** + * Expiration timestamp of the token in epoch milliseconds. + */ + expirationTime?: pulumi.Input; /** * Recipient IP access list. */ diff --git a/sdk/nodejs/token.ts b/sdk/nodejs/token.ts index 1b5c9c0c6..4223335ed 100644 --- a/sdk/nodejs/token.ts +++ b/sdk/nodejs/token.ts @@ -74,7 +74,7 @@ export class Token extends pulumi.CustomResource { public readonly creationTime!: pulumi.Output; public readonly expiryTime!: pulumi.Output; /** - * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. */ public readonly lifetimeSeconds!: pulumi.Output; public readonly tokenId!: pulumi.Output; @@ -129,7 +129,7 @@ export interface TokenState { creationTime?: pulumi.Input; expiryTime?: pulumi.Input; /** - * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. */ lifetimeSeconds?: pulumi.Input; tokenId?: pulumi.Input; @@ -150,7 +150,7 @@ export interface TokenArgs { creationTime?: pulumi.Input; expiryTime?: pulumi.Input; /** - * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + * (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. */ lifetimeSeconds?: pulumi.Input; tokenId?: pulumi.Input; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 48d735a46..cb7e81004 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -6894,11 +6894,11 @@ export interface GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyArgs } export interface GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii { - behavior: string; + behavior?: string; } export interface GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs { - behavior: pulumi.Input; + behavior?: pulumi.Input; } export interface GetServingEndpointsEndpointAiGatewayGuardrailOutput { @@ -6916,11 +6916,11 @@ export interface GetServingEndpointsEndpointAiGatewayGuardrailOutputArgs { } export interface GetServingEndpointsEndpointAiGatewayGuardrailOutputPii { - behavior: string; + behavior?: string; } export interface GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs { - behavior: pulumi.Input; + behavior?: pulumi.Input; } export interface GetServingEndpointsEndpointAiGatewayInferenceTableConfig { @@ -7088,15 +7088,15 @@ export interface GetServingEndpointsEndpointConfigServedEntityExternalModelDatab export interface GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig { privateKey?: string; privateKeyPlaintext?: string; - projectId?: string; - region?: string; + projectId: string; + region: string; } export interface GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs { privateKey?: pulumi.Input; privateKeyPlaintext?: pulumi.Input; - projectId?: pulumi.Input; - region?: pulumi.Input; + projectId: pulumi.Input; + region: pulumi.Input; } export interface GetServingEndpointsEndpointConfigServedEntityExternalModelOpenaiConfig { @@ -9731,6 +9731,7 @@ export interface JobTaskForEachTaskTaskSparkJarTask { * (List) Parameters passed to the main method. */ parameters?: pulumi.Input[]>; + runAsRepl?: pulumi.Input; } export interface JobTaskForEachTaskTaskSparkPythonTask { @@ -10315,6 +10316,7 @@ export interface JobTaskSparkJarTask { * (List) Parameters passed to the main method. */ parameters?: pulumi.Input[]>; + runAsRepl?: pulumi.Input; } export interface JobTaskSparkPythonTask { @@ -10913,7 +10915,7 @@ export interface ModelServingAiGatewayGuardrailsInputPii { /** * a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. */ - behavior: pulumi.Input; + behavior?: pulumi.Input; } export interface ModelServingAiGatewayGuardrailsOutput { @@ -10939,7 +10941,7 @@ export interface ModelServingAiGatewayGuardrailsOutputPii { /** * a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. */ - behavior: pulumi.Input; + behavior?: pulumi.Input; } export interface ModelServingAiGatewayInferenceTableConfig { @@ -11202,11 +11204,11 @@ export interface ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiC /** * This is the Google Cloud project id that the service account is associated with. */ - projectId?: pulumi.Input; + projectId: pulumi.Input; /** * This is the region for the Google Cloud Vertex AI Service. */ - region?: pulumi.Input; + region: pulumi.Input; } export interface ModelServingConfigServedEntityExternalModelOpenaiConfig { diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index d7f39133c..f1157f124 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -4370,7 +4370,7 @@ export interface GetServingEndpointsEndpointAiGatewayGuardrailInputProperty { } export interface GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPii { - behavior: string; + behavior?: string; } export interface GetServingEndpointsEndpointAiGatewayGuardrailOutput { @@ -4381,7 +4381,7 @@ export interface GetServingEndpointsEndpointAiGatewayGuardrailOutput { } export interface GetServingEndpointsEndpointAiGatewayGuardrailOutputPii { - behavior: string; + behavior?: string; } export interface GetServingEndpointsEndpointAiGatewayInferenceTableConfig { @@ -4468,8 +4468,8 @@ export interface GetServingEndpointsEndpointConfigServedEntityExternalModelDatab export interface GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfig { privateKey?: string; privateKeyPlaintext?: string; - projectId?: string; - region?: string; + projectId: string; + region: string; } export interface GetServingEndpointsEndpointConfigServedEntityExternalModelOpenaiConfig { @@ -6623,6 +6623,7 @@ export interface JobTaskForEachTaskTaskSparkJarTask { * (List) Parameters passed to the main method. */ parameters?: string[]; + runAsRepl?: boolean; } export interface JobTaskForEachTaskTaskSparkPythonTask { @@ -7207,6 +7208,7 @@ export interface JobTaskSparkJarTask { * (List) Parameters passed to the main method. */ parameters?: string[]; + runAsRepl?: boolean; } export interface JobTaskSparkPythonTask { @@ -7805,7 +7807,7 @@ export interface ModelServingAiGatewayGuardrailsInputPii { /** * a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. */ - behavior: string; + behavior?: string; } export interface ModelServingAiGatewayGuardrailsOutput { @@ -7831,7 +7833,7 @@ export interface ModelServingAiGatewayGuardrailsOutputPii { /** * a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. */ - behavior: string; + behavior?: string; } export interface ModelServingAiGatewayInferenceTableConfig { @@ -8094,11 +8096,11 @@ export interface ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiC /** * This is the Google Cloud project id that the service account is associated with. */ - projectId?: string; + projectId: string; /** * This is the region for the Google Cloud Vertex AI Service. */ - region?: string; + region: string; } export interface ModelServingConfigServedEntityExternalModelOpenaiConfig { diff --git a/sdk/python/pulumi_databricks/_inputs.py b/sdk/python/pulumi_databricks/_inputs.py index 09a1d3e4f..ee54314c2 100644 --- a/sdk/python/pulumi_databricks/_inputs.py +++ b/sdk/python/pulumi_databricks/_inputs.py @@ -16925,6 +16925,7 @@ class JobTaskForEachTaskTaskSparkJarTaskArgsDict(TypedDict): """ (List) Parameters passed to the main method. """ + run_as_repl: NotRequired[pulumi.Input[bool]] elif False: JobTaskForEachTaskTaskSparkJarTaskArgsDict: TypeAlias = Mapping[str, Any] @@ -16933,7 +16934,8 @@ class JobTaskForEachTaskTaskSparkJarTaskArgs: def __init__(__self__, *, jar_uri: Optional[pulumi.Input[str]] = None, main_class_name: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + parameters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + run_as_repl: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] main_class_name: The full name of the class containing the main method to be executed. This class must be contained in a JAR provided as a library. The code should use `SparkContext.getOrCreate` to obtain a Spark context; otherwise, runs of the job will fail. :param pulumi.Input[Sequence[pulumi.Input[str]]] parameters: (List) Parameters passed to the main method. @@ -16944,6 +16946,8 @@ def __init__(__self__, *, pulumi.set(__self__, "main_class_name", main_class_name) if parameters is not None: pulumi.set(__self__, "parameters", parameters) + if run_as_repl is not None: + pulumi.set(__self__, "run_as_repl", run_as_repl) @property @pulumi.getter(name="jarUri") @@ -16978,6 +16982,15 @@ def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "parameters", value) + @property + @pulumi.getter(name="runAsRepl") + def run_as_repl(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "run_as_repl") + + @run_as_repl.setter + def run_as_repl(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "run_as_repl", value) + if not MYPY: class JobTaskForEachTaskTaskSparkPythonTaskArgsDict(TypedDict): @@ -20543,6 +20556,7 @@ class JobTaskSparkJarTaskArgsDict(TypedDict): """ (List) Parameters passed to the main method. """ + run_as_repl: NotRequired[pulumi.Input[bool]] elif False: JobTaskSparkJarTaskArgsDict: TypeAlias = Mapping[str, Any] @@ -20551,7 +20565,8 @@ class JobTaskSparkJarTaskArgs: def __init__(__self__, *, jar_uri: Optional[pulumi.Input[str]] = None, main_class_name: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + parameters: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + run_as_repl: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] main_class_name: The full name of the class containing the main method to be executed. This class must be contained in a JAR provided as a library. The code should use `SparkContext.getOrCreate` to obtain a Spark context; otherwise, runs of the job will fail. :param pulumi.Input[Sequence[pulumi.Input[str]]] parameters: (List) Parameters passed to the main method. @@ -20562,6 +20577,8 @@ def __init__(__self__, *, pulumi.set(__self__, "main_class_name", main_class_name) if parameters is not None: pulumi.set(__self__, "parameters", parameters) + if run_as_repl is not None: + pulumi.set(__self__, "run_as_repl", run_as_repl) @property @pulumi.getter(name="jarUri") @@ -20596,6 +20613,15 @@ def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "parameters", value) + @property + @pulumi.getter(name="runAsRepl") + def run_as_repl(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "run_as_repl") + + @run_as_repl.setter + def run_as_repl(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "run_as_repl", value) + if not MYPY: class JobTaskSparkPythonTaskArgsDict(TypedDict): @@ -23539,7 +23565,7 @@ def valid_topics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]] if not MYPY: class ModelServingAiGatewayGuardrailsInputPiiArgsDict(TypedDict): - behavior: pulumi.Input[str] + behavior: NotRequired[pulumi.Input[str]] """ a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. """ @@ -23549,22 +23575,23 @@ class ModelServingAiGatewayGuardrailsInputPiiArgsDict(TypedDict): @pulumi.input_type class ModelServingAiGatewayGuardrailsInputPiiArgs: def __init__(__self__, *, - behavior: pulumi.Input[str]): + behavior: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] behavior: a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. """ - pulumi.set(__self__, "behavior", behavior) + if behavior is not None: + pulumi.set(__self__, "behavior", behavior) @property @pulumi.getter - def behavior(self) -> pulumi.Input[str]: + def behavior(self) -> Optional[pulumi.Input[str]]: """ a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. """ return pulumi.get(self, "behavior") @behavior.setter - def behavior(self, value: pulumi.Input[str]): + def behavior(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "behavior", value) @@ -23662,7 +23689,7 @@ def valid_topics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]] if not MYPY: class ModelServingAiGatewayGuardrailsOutputPiiArgsDict(TypedDict): - behavior: pulumi.Input[str] + behavior: NotRequired[pulumi.Input[str]] """ a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. """ @@ -23672,22 +23699,23 @@ class ModelServingAiGatewayGuardrailsOutputPiiArgsDict(TypedDict): @pulumi.input_type class ModelServingAiGatewayGuardrailsOutputPiiArgs: def __init__(__self__, *, - behavior: pulumi.Input[str]): + behavior: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] behavior: a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. """ - pulumi.set(__self__, "behavior", behavior) + if behavior is not None: + pulumi.set(__self__, "behavior", behavior) @property @pulumi.getter - def behavior(self) -> pulumi.Input[str]: + def behavior(self) -> Optional[pulumi.Input[str]]: """ a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. """ return pulumi.get(self, "behavior") @behavior.setter - def behavior(self, value: pulumi.Input[str]): + def behavior(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "behavior", value) @@ -24897,21 +24925,21 @@ def databricks_api_token_plaintext(self, value: Optional[pulumi.Input[str]]): if not MYPY: class ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgsDict(TypedDict): - private_key: NotRequired[pulumi.Input[str]] + project_id: pulumi.Input[str] """ - The Databricks secret key reference for a private key for the service account that has access to the Google Cloud Vertex AI Service. + This is the Google Cloud project id that the service account is associated with. """ - private_key_plaintext: NotRequired[pulumi.Input[str]] + region: pulumi.Input[str] """ - The private key for the service account that has access to the Google Cloud Vertex AI Service is provided as a plaintext secret. + This is the region for the Google Cloud Vertex AI Service. """ - project_id: NotRequired[pulumi.Input[str]] + private_key: NotRequired[pulumi.Input[str]] """ - This is the Google Cloud project id that the service account is associated with. + The Databricks secret key reference for a private key for the service account that has access to the Google Cloud Vertex AI Service. """ - region: NotRequired[pulumi.Input[str]] + private_key_plaintext: NotRequired[pulumi.Input[str]] """ - This is the region for the Google Cloud Vertex AI Service. + The private key for the service account that has access to the Google Cloud Vertex AI Service is provided as a plaintext secret. """ elif False: ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -24919,24 +24947,46 @@ class ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgsDi @pulumi.input_type class ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs: def __init__(__self__, *, + project_id: pulumi.Input[str], + region: pulumi.Input[str], private_key: Optional[pulumi.Input[str]] = None, - private_key_plaintext: Optional[pulumi.Input[str]] = None, - project_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None): + private_key_plaintext: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] private_key: The Databricks secret key reference for a private key for the service account that has access to the Google Cloud Vertex AI Service. - :param pulumi.Input[str] private_key_plaintext: The private key for the service account that has access to the Google Cloud Vertex AI Service is provided as a plaintext secret. :param pulumi.Input[str] project_id: This is the Google Cloud project id that the service account is associated with. :param pulumi.Input[str] region: This is the region for the Google Cloud Vertex AI Service. + :param pulumi.Input[str] private_key: The Databricks secret key reference for a private key for the service account that has access to the Google Cloud Vertex AI Service. + :param pulumi.Input[str] private_key_plaintext: The private key for the service account that has access to the Google Cloud Vertex AI Service is provided as a plaintext secret. """ + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "region", region) if private_key is not None: pulumi.set(__self__, "private_key", private_key) if private_key_plaintext is not None: pulumi.set(__self__, "private_key_plaintext", private_key_plaintext) - if project_id is not None: - pulumi.set(__self__, "project_id", project_id) - if region is not None: - pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[str]: + """ + This is the Google Cloud project id that the service account is associated with. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[str]): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + """ + This is the region for the Google Cloud Vertex AI Service. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) @property @pulumi.getter(name="privateKey") @@ -24962,30 +25012,6 @@ def private_key_plaintext(self) -> Optional[pulumi.Input[str]]: def private_key_plaintext(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "private_key_plaintext", value) - @property - @pulumi.getter(name="projectId") - def project_id(self) -> Optional[pulumi.Input[str]]: - """ - This is the Google Cloud project id that the service account is associated with. - """ - return pulumi.get(self, "project_id") - - @project_id.setter - def project_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "project_id", value) - - @property - @pulumi.getter - def region(self) -> Optional[pulumi.Input[str]]: - """ - This is the region for the Google Cloud Vertex AI Service. - """ - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) - if not MYPY: class ModelServingConfigServedEntityExternalModelOpenaiConfigArgsDict(TypedDict): @@ -57060,23 +57086,24 @@ def valid_topics(self, value: Optional[Sequence[str]]): if not MYPY: class GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgsDict(TypedDict): - behavior: str + behavior: NotRequired[str] elif False: GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiArgs: def __init__(__self__, *, - behavior: str): - pulumi.set(__self__, "behavior", behavior) + behavior: Optional[str] = None): + if behavior is not None: + pulumi.set(__self__, "behavior", behavior) @property @pulumi.getter - def behavior(self) -> str: + def behavior(self) -> Optional[str]: return pulumi.get(self, "behavior") @behavior.setter - def behavior(self, value: str): + def behavior(self, value: Optional[str]): pulumi.set(self, "behavior", value) @@ -57144,23 +57171,24 @@ def valid_topics(self, value: Optional[Sequence[str]]): if not MYPY: class GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgsDict(TypedDict): - behavior: str + behavior: NotRequired[str] elif False: GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiArgs: def __init__(__self__, *, - behavior: str): - pulumi.set(__self__, "behavior", behavior) + behavior: Optional[str] = None): + if behavior is not None: + pulumi.set(__self__, "behavior", behavior) @property @pulumi.getter - def behavior(self) -> str: + def behavior(self) -> Optional[str]: return pulumi.get(self, "behavior") @behavior.setter - def behavior(self, value: str): + def behavior(self, value: Optional[str]): pulumi.set(self, "behavior", value) @@ -57832,28 +57860,44 @@ def databricks_api_token_plaintext(self, value: Optional[str]): if not MYPY: class GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgsDict(TypedDict): + project_id: str + region: str private_key: NotRequired[str] private_key_plaintext: NotRequired[str] - project_id: NotRequired[str] - region: NotRequired[str] elif False: GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type class GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigArgs: def __init__(__self__, *, + project_id: str, + region: str, private_key: Optional[str] = None, - private_key_plaintext: Optional[str] = None, - project_id: Optional[str] = None, - region: Optional[str] = None): + private_key_plaintext: Optional[str] = None): + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "region", region) if private_key is not None: pulumi.set(__self__, "private_key", private_key) if private_key_plaintext is not None: pulumi.set(__self__, "private_key_plaintext", private_key_plaintext) - if project_id is not None: - pulumi.set(__self__, "project_id", project_id) - if region is not None: - pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: str): + pulumi.set(self, "project_id", value) + + @property + @pulumi.getter + def region(self) -> str: + return pulumi.get(self, "region") + + @region.setter + def region(self, value: str): + pulumi.set(self, "region", value) @property @pulumi.getter(name="privateKey") @@ -57873,24 +57917,6 @@ def private_key_plaintext(self) -> Optional[str]: def private_key_plaintext(self, value: Optional[str]): pulumi.set(self, "private_key_plaintext", value) - @property - @pulumi.getter(name="projectId") - def project_id(self) -> Optional[str]: - return pulumi.get(self, "project_id") - - @project_id.setter - def project_id(self, value: Optional[str]): - pulumi.set(self, "project_id", value) - - @property - @pulumi.getter - def region(self) -> Optional[str]: - return pulumi.get(self, "region") - - @region.setter - def region(self, value: Optional[str]): - pulumi.set(self, "region", value) - if not MYPY: class GetServingEndpointsEndpointConfigServedEntityExternalModelOpenaiConfigArgsDict(TypedDict): diff --git a/sdk/python/pulumi_databricks/app.py b/sdk/python/pulumi_databricks/app.py index 6a4d983a4..e0570d3dd 100644 --- a/sdk/python/pulumi_databricks/app.py +++ b/sdk/python/pulumi_databricks/app.py @@ -23,6 +23,7 @@ class AppArgs: def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + no_compute: Optional[pulumi.Input[bool]] = None, resources: Optional[pulumi.Input[Sequence[pulumi.Input['AppResourceArgs']]]] = None): """ The set of arguments for constructing a App resource. @@ -34,6 +35,8 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if name is not None: pulumi.set(__self__, "name", name) + if no_compute is not None: + pulumi.set(__self__, "no_compute", no_compute) if resources is not None: pulumi.set(__self__, "resources", resources) @@ -61,6 +64,15 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="noCompute") + def no_compute(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "no_compute") + + @no_compute.setter + def no_compute(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "no_compute", value) + @property @pulumi.getter def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppResourceArgs']]]]: @@ -85,6 +97,7 @@ def __init__(__self__, *, default_source_code_path: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + no_compute: Optional[pulumi.Input[bool]] = None, pending_deployment: Optional[pulumi.Input['AppPendingDeploymentArgs']] = None, resources: Optional[pulumi.Input[Sequence[pulumi.Input['AppResourceArgs']]]] = None, service_principal_client_id: Optional[pulumi.Input[str]] = None, @@ -125,6 +138,8 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if name is not None: pulumi.set(__self__, "name", name) + if no_compute is not None: + pulumi.set(__self__, "no_compute", no_compute) if pending_deployment is not None: pulumi.set(__self__, "pending_deployment", pending_deployment) if resources is not None: @@ -235,6 +250,15 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="noCompute") + def no_compute(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "no_compute") + + @no_compute.setter + def no_compute(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "no_compute", value) + @property @pulumi.getter(name="pendingDeployment") def pending_deployment(self) -> Optional[pulumi.Input['AppPendingDeploymentArgs']]: @@ -333,6 +357,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + no_compute: Optional[pulumi.Input[bool]] = None, resources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppResourceArgs', 'AppResourceArgsDict']]]]] = None, __props__=None): """ @@ -418,6 +443,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + no_compute: Optional[pulumi.Input[bool]] = None, resources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppResourceArgs', 'AppResourceArgsDict']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -430,6 +456,7 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["name"] = name + __props__.__dict__["no_compute"] = no_compute __props__.__dict__["resources"] = resources __props__.__dict__["active_deployment"] = None __props__.__dict__["app_status"] = None @@ -462,6 +489,7 @@ def get(resource_name: str, default_source_code_path: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + no_compute: Optional[pulumi.Input[bool]] = None, pending_deployment: Optional[pulumi.Input[Union['AppPendingDeploymentArgs', 'AppPendingDeploymentArgsDict']]] = None, resources: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppResourceArgs', 'AppResourceArgsDict']]]]] = None, service_principal_client_id: Optional[pulumi.Input[str]] = None, @@ -503,6 +531,7 @@ def get(resource_name: str, __props__.__dict__["default_source_code_path"] = default_source_code_path __props__.__dict__["description"] = description __props__.__dict__["name"] = name + __props__.__dict__["no_compute"] = no_compute __props__.__dict__["pending_deployment"] = pending_deployment __props__.__dict__["resources"] = resources __props__.__dict__["service_principal_client_id"] = service_principal_client_id @@ -574,6 +603,11 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="noCompute") + def no_compute(self) -> pulumi.Output[Optional[bool]]: + return pulumi.get(self, "no_compute") + @property @pulumi.getter(name="pendingDeployment") def pending_deployment(self) -> pulumi.Output['outputs.AppPendingDeployment']: diff --git a/sdk/python/pulumi_databricks/get_mws_workspaces.py b/sdk/python/pulumi_databricks/get_mws_workspaces.py index de6b8ce88..d3b274cd7 100644 --- a/sdk/python/pulumi_databricks/get_mws_workspaces.py +++ b/sdk/python/pulumi_databricks/get_mws_workspaces.py @@ -61,8 +61,7 @@ def __await__(self): ids=self.ids) -def get_mws_workspaces(ids: Optional[Mapping[str, str]] = None, - opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMwsWorkspacesResult: +def get_mws_workspaces(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMwsWorkspacesResult: """ > **Note** If you have a fully automated setup with workspaces created by MwsWorkspaces or azurerm_databricks_workspace, please make sure to add depends_on attribute in order to prevent _default auth: cannot configure default credentials_ errors. @@ -88,20 +87,15 @@ def get_mws_workspaces(ids: Optional[Mapping[str, str]] = None, * MwsWorkspaces to manage Databricks Workspaces on AWS and GCP. * MetastoreAssignment to assign Metastore to MwsWorkspaces or azurerm_databricks_workspace - - - :param Mapping[str, str] ids: name-to-id map for all of the workspaces in the account """ __args__ = dict() - __args__['ids'] = ids opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('databricks:index/getMwsWorkspaces:getMwsWorkspaces', __args__, opts=opts, typ=GetMwsWorkspacesResult).value return AwaitableGetMwsWorkspacesResult( id=pulumi.get(__ret__, 'id'), ids=pulumi.get(__ret__, 'ids')) -def get_mws_workspaces_output(ids: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, - opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMwsWorkspacesResult]: +def get_mws_workspaces_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMwsWorkspacesResult]: """ > **Note** If you have a fully automated setup with workspaces created by MwsWorkspaces or azurerm_databricks_workspace, please make sure to add depends_on attribute in order to prevent _default auth: cannot configure default credentials_ errors. @@ -127,12 +121,8 @@ def get_mws_workspaces_output(ids: Optional[pulumi.Input[Optional[Mapping[str, s * MwsWorkspaces to manage Databricks Workspaces on AWS and GCP. * MetastoreAssignment to assign Metastore to MwsWorkspaces or azurerm_databricks_workspace - - - :param Mapping[str, str] ids: name-to-id map for all of the workspaces in the account """ __args__ = dict() - __args__['ids'] = ids opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('databricks:index/getMwsWorkspaces:getMwsWorkspaces', __args__, opts=opts, typ=GetMwsWorkspacesResult) return __ret__.apply(lambda __response__: GetMwsWorkspacesResult( diff --git a/sdk/python/pulumi_databricks/instance_profile.py b/sdk/python/pulumi_databricks/instance_profile.py index 86192cb4e..2d0e7a40d 100644 --- a/sdk/python/pulumi_databricks/instance_profile.py +++ b/sdk/python/pulumi_databricks/instance_profile.py @@ -244,7 +244,7 @@ def __init__(__self__, definition=json.dumps({ "aws_attributes.instance_profile_arn": { "type": "fixed", - "value": shared["arn"], + "value": shared["id"], }, })) ``` @@ -257,7 +257,7 @@ def __init__(__self__, import pulumi import pulumi_databricks as databricks - this = databricks.InstanceProfile("this", instance_profile_arn=shared["arn"]) + this = databricks.InstanceProfile("this", instance_profile_arn=shared["id"]) users = databricks.get_group(display_name="users") all = databricks.GroupInstanceProfile("all", group_id=users.id, @@ -397,7 +397,7 @@ def __init__(__self__, definition=json.dumps({ "aws_attributes.instance_profile_arn": { "type": "fixed", - "value": shared["arn"], + "value": shared["id"], }, })) ``` @@ -410,7 +410,7 @@ def __init__(__self__, import pulumi import pulumi_databricks as databricks - this = databricks.InstanceProfile("this", instance_profile_arn=shared["arn"]) + this = databricks.InstanceProfile("this", instance_profile_arn=shared["id"]) users = databricks.get_group(display_name="users") all = databricks.GroupInstanceProfile("all", group_id=users.id, diff --git a/sdk/python/pulumi_databricks/model_serving.py b/sdk/python/pulumi_databricks/model_serving.py index 779b77f1d..932861ef4 100644 --- a/sdk/python/pulumi_databricks/model_serving.py +++ b/sdk/python/pulumi_databricks/model_serving.py @@ -21,24 +21,25 @@ @pulumi.input_type class ModelServingArgs: def __init__(__self__, *, - config: pulumi.Input['ModelServingConfigArgs'], ai_gateway: Optional[pulumi.Input['ModelServingAiGatewayArgs']] = None, + config: Optional[pulumi.Input['ModelServingConfigArgs']] = None, name: Optional[pulumi.Input[str]] = None, rate_limits: Optional[pulumi.Input[Sequence[pulumi.Input['ModelServingRateLimitArgs']]]] = None, route_optimized: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['ModelServingTagArgs']]]] = None): """ The set of arguments for constructing a ModelServing resource. - :param pulumi.Input['ModelServingConfigArgs'] config: The model serving endpoint configuration. :param pulumi.Input['ModelServingAiGatewayArgs'] ai_gateway: A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* + :param pulumi.Input['ModelServingConfigArgs'] config: The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. :param pulumi.Input[str] name: The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. :param pulumi.Input[Sequence[pulumi.Input['ModelServingRateLimitArgs']]] rate_limits: A list of rate limit blocks to be applied to the serving endpoint. *Note: only external and foundation model endpoints are supported as of now.* :param pulumi.Input[bool] route_optimized: A boolean enabling route optimization for the endpoint. *Note: only available for custom models.* :param pulumi.Input[Sequence[pulumi.Input['ModelServingTagArgs']]] tags: Tags to be attached to the serving endpoint and automatically propagated to billing logs. """ - pulumi.set(__self__, "config", config) if ai_gateway is not None: pulumi.set(__self__, "ai_gateway", ai_gateway) + if config is not None: + pulumi.set(__self__, "config", config) if name is not None: pulumi.set(__self__, "name", name) if rate_limits is not None: @@ -48,18 +49,6 @@ def __init__(__self__, *, if tags is not None: pulumi.set(__self__, "tags", tags) - @property - @pulumi.getter - def config(self) -> pulumi.Input['ModelServingConfigArgs']: - """ - The model serving endpoint configuration. - """ - return pulumi.get(self, "config") - - @config.setter - def config(self, value: pulumi.Input['ModelServingConfigArgs']): - pulumi.set(self, "config", value) - @property @pulumi.getter(name="aiGateway") def ai_gateway(self) -> Optional[pulumi.Input['ModelServingAiGatewayArgs']]: @@ -72,6 +61,18 @@ def ai_gateway(self) -> Optional[pulumi.Input['ModelServingAiGatewayArgs']]: def ai_gateway(self, value: Optional[pulumi.Input['ModelServingAiGatewayArgs']]): pulumi.set(self, "ai_gateway", value) + @property + @pulumi.getter + def config(self) -> Optional[pulumi.Input['ModelServingConfigArgs']]: + """ + The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. + """ + return pulumi.get(self, "config") + + @config.setter + def config(self, value: Optional[pulumi.Input['ModelServingConfigArgs']]): + pulumi.set(self, "config", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -134,7 +135,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering ModelServing resources. :param pulumi.Input['ModelServingAiGatewayArgs'] ai_gateway: A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* - :param pulumi.Input['ModelServingConfigArgs'] config: The model serving endpoint configuration. + :param pulumi.Input['ModelServingConfigArgs'] config: The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. :param pulumi.Input[str] name: The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. :param pulumi.Input[Sequence[pulumi.Input['ModelServingRateLimitArgs']]] rate_limits: A list of rate limit blocks to be applied to the serving endpoint. *Note: only external and foundation model endpoints are supported as of now.* :param pulumi.Input[bool] route_optimized: A boolean enabling route optimization for the endpoint. *Note: only available for custom models.* @@ -172,7 +173,7 @@ def ai_gateway(self, value: Optional[pulumi.Input['ModelServingAiGatewayArgs']]) @pulumi.getter def config(self) -> Optional[pulumi.Input['ModelServingConfigArgs']]: """ - The model serving endpoint configuration. + The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. """ return pulumi.get(self, "config") @@ -327,7 +328,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Union['ModelServingAiGatewayArgs', 'ModelServingAiGatewayArgsDict']] ai_gateway: A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* - :param pulumi.Input[Union['ModelServingConfigArgs', 'ModelServingConfigArgsDict']] config: The model serving endpoint configuration. + :param pulumi.Input[Union['ModelServingConfigArgs', 'ModelServingConfigArgsDict']] config: The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. :param pulumi.Input[str] name: The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. :param pulumi.Input[Sequence[pulumi.Input[Union['ModelServingRateLimitArgs', 'ModelServingRateLimitArgsDict']]]] rate_limits: A list of rate limit blocks to be applied to the serving endpoint. *Note: only external and foundation model endpoints are supported as of now.* :param pulumi.Input[bool] route_optimized: A boolean enabling route optimization for the endpoint. *Note: only available for custom models.* @@ -337,7 +338,7 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: ModelServingArgs, + args: Optional[ModelServingArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ This resource allows you to manage [Model Serving](https://docs.databricks.com/machine-learning/model-serving/index.html) endpoints in Databricks. @@ -441,8 +442,6 @@ def _internal_init(__self__, __props__ = ModelServingArgs.__new__(ModelServingArgs) __props__.__dict__["ai_gateway"] = ai_gateway - if config is None and not opts.urn: - raise TypeError("Missing required property 'config'") __props__.__dict__["config"] = config __props__.__dict__["name"] = name __props__.__dict__["rate_limits"] = rate_limits @@ -474,7 +473,7 @@ def get(resource_name: str, :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[Union['ModelServingAiGatewayArgs', 'ModelServingAiGatewayArgsDict']] ai_gateway: A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* - :param pulumi.Input[Union['ModelServingConfigArgs', 'ModelServingConfigArgsDict']] config: The model serving endpoint configuration. + :param pulumi.Input[Union['ModelServingConfigArgs', 'ModelServingConfigArgsDict']] config: The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. :param pulumi.Input[str] name: The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. :param pulumi.Input[Sequence[pulumi.Input[Union['ModelServingRateLimitArgs', 'ModelServingRateLimitArgsDict']]]] rate_limits: A list of rate limit blocks to be applied to the serving endpoint. *Note: only external and foundation model endpoints are supported as of now.* :param pulumi.Input[bool] route_optimized: A boolean enabling route optimization for the endpoint. *Note: only available for custom models.* @@ -504,9 +503,9 @@ def ai_gateway(self) -> pulumi.Output[Optional['outputs.ModelServingAiGateway']] @property @pulumi.getter - def config(self) -> pulumi.Output['outputs.ModelServingConfig']: + def config(self) -> pulumi.Output[Optional['outputs.ModelServingConfig']]: """ - The model serving endpoint configuration. + The model serving endpoint configuration. This is optional and can be added and modified after creation. If `config` was provided in a previous apply but is not provided in the current apply, the endpoint will be recreated. """ return pulumi.get(self, "config") diff --git a/sdk/python/pulumi_databricks/notebook.py b/sdk/python/pulumi_databricks/notebook.py index 7f65a0c1c..f321460c6 100644 --- a/sdk/python/pulumi_databricks/notebook.py +++ b/sdk/python/pulumi_databricks/notebook.py @@ -462,12 +462,12 @@ def content_base64(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter - def format(self) -> pulumi.Output[Optional[str]]: + def format(self) -> pulumi.Output[str]: return pulumi.get(self, "format") @property @pulumi.getter - def language(self) -> pulumi.Output[Optional[str]]: + def language(self) -> pulumi.Output[str]: """ One of `SCALA`, `PYTHON`, `SQL`, `R`. """ diff --git a/sdk/python/pulumi_databricks/outputs.py b/sdk/python/pulumi_databricks/outputs.py index 983a21f43..96860dc1c 100644 --- a/sdk/python/pulumi_databricks/outputs.py +++ b/sdk/python/pulumi_databricks/outputs.py @@ -12508,6 +12508,8 @@ def __key_warning(key: str): suggest = "jar_uri" elif key == "mainClassName": suggest = "main_class_name" + elif key == "runAsRepl": + suggest = "run_as_repl" if suggest: pulumi.log.warn(f"Key '{key}' not found in JobTaskForEachTaskTaskSparkJarTask. Access the value via the '{suggest}' property getter instead.") @@ -12523,7 +12525,8 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, jar_uri: Optional[str] = None, main_class_name: Optional[str] = None, - parameters: Optional[Sequence[str]] = None): + parameters: Optional[Sequence[str]] = None, + run_as_repl: Optional[bool] = None): """ :param str main_class_name: The full name of the class containing the main method to be executed. This class must be contained in a JAR provided as a library. The code should use `SparkContext.getOrCreate` to obtain a Spark context; otherwise, runs of the job will fail. :param Sequence[str] parameters: (List) Parameters passed to the main method. @@ -12534,6 +12537,8 @@ def __init__(__self__, *, pulumi.set(__self__, "main_class_name", main_class_name) if parameters is not None: pulumi.set(__self__, "parameters", parameters) + if run_as_repl is not None: + pulumi.set(__self__, "run_as_repl", run_as_repl) @property @pulumi.getter(name="jarUri") @@ -12556,6 +12561,11 @@ def parameters(self) -> Optional[Sequence[str]]: """ return pulumi.get(self, "parameters") + @property + @pulumi.getter(name="runAsRepl") + def run_as_repl(self) -> Optional[bool]: + return pulumi.get(self, "run_as_repl") + @pulumi.output_type class JobTaskForEachTaskTaskSparkPythonTask(dict): @@ -15267,6 +15277,8 @@ def __key_warning(key: str): suggest = "jar_uri" elif key == "mainClassName": suggest = "main_class_name" + elif key == "runAsRepl": + suggest = "run_as_repl" if suggest: pulumi.log.warn(f"Key '{key}' not found in JobTaskSparkJarTask. Access the value via the '{suggest}' property getter instead.") @@ -15282,7 +15294,8 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, jar_uri: Optional[str] = None, main_class_name: Optional[str] = None, - parameters: Optional[Sequence[str]] = None): + parameters: Optional[Sequence[str]] = None, + run_as_repl: Optional[bool] = None): """ :param str main_class_name: The full name of the class containing the main method to be executed. This class must be contained in a JAR provided as a library. The code should use `SparkContext.getOrCreate` to obtain a Spark context; otherwise, runs of the job will fail. :param Sequence[str] parameters: (List) Parameters passed to the main method. @@ -15293,6 +15306,8 @@ def __init__(__self__, *, pulumi.set(__self__, "main_class_name", main_class_name) if parameters is not None: pulumi.set(__self__, "parameters", parameters) + if run_as_repl is not None: + pulumi.set(__self__, "run_as_repl", run_as_repl) @property @pulumi.getter(name="jarUri") @@ -15315,6 +15330,11 @@ def parameters(self) -> Optional[Sequence[str]]: """ return pulumi.get(self, "parameters") + @property + @pulumi.getter(name="runAsRepl") + def run_as_repl(self) -> Optional[bool]: + return pulumi.get(self, "run_as_repl") + @pulumi.output_type class JobTaskSparkPythonTask(dict): @@ -17655,15 +17675,16 @@ def valid_topics(self) -> Optional[Sequence[str]]: @pulumi.output_type class ModelServingAiGatewayGuardrailsInputPii(dict): def __init__(__self__, *, - behavior: str): + behavior: Optional[str] = None): """ :param str behavior: a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. """ - pulumi.set(__self__, "behavior", behavior) + if behavior is not None: + pulumi.set(__self__, "behavior", behavior) @property @pulumi.getter - def behavior(self) -> str: + def behavior(self) -> Optional[str]: """ a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. """ @@ -17747,15 +17768,16 @@ def valid_topics(self) -> Optional[Sequence[str]]: @pulumi.output_type class ModelServingAiGatewayGuardrailsOutputPii(dict): def __init__(__self__, *, - behavior: str): + behavior: Optional[str] = None): """ :param str behavior: a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. """ - pulumi.set(__self__, "behavior", behavior) + if behavior is not None: + pulumi.set(__self__, "behavior", behavior) @property @pulumi.getter - def behavior(self) -> str: + def behavior(self) -> Optional[str]: """ a string that describes the behavior for PII filter. Currently only `BLOCK` value is supported. """ @@ -18737,12 +18759,12 @@ class ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig(dict) @staticmethod def __key_warning(key: str): suggest = None - if key == "privateKey": + if key == "projectId": + suggest = "project_id" + elif key == "privateKey": suggest = "private_key" elif key == "privateKeyPlaintext": suggest = "private_key_plaintext" - elif key == "projectId": - suggest = "project_id" if suggest: pulumi.log.warn(f"Key '{key}' not found in ModelServingConfigServedEntityExternalModelGoogleCloudVertexAiConfig. Access the value via the '{suggest}' property getter instead.") @@ -18756,56 +18778,54 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + project_id: str, + region: str, private_key: Optional[str] = None, - private_key_plaintext: Optional[str] = None, - project_id: Optional[str] = None, - region: Optional[str] = None): + private_key_plaintext: Optional[str] = None): """ - :param str private_key: The Databricks secret key reference for a private key for the service account that has access to the Google Cloud Vertex AI Service. - :param str private_key_plaintext: The private key for the service account that has access to the Google Cloud Vertex AI Service is provided as a plaintext secret. :param str project_id: This is the Google Cloud project id that the service account is associated with. :param str region: This is the region for the Google Cloud Vertex AI Service. + :param str private_key: The Databricks secret key reference for a private key for the service account that has access to the Google Cloud Vertex AI Service. + :param str private_key_plaintext: The private key for the service account that has access to the Google Cloud Vertex AI Service is provided as a plaintext secret. """ + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "region", region) if private_key is not None: pulumi.set(__self__, "private_key", private_key) if private_key_plaintext is not None: pulumi.set(__self__, "private_key_plaintext", private_key_plaintext) - if project_id is not None: - pulumi.set(__self__, "project_id", project_id) - if region is not None: - pulumi.set(__self__, "region", region) @property - @pulumi.getter(name="privateKey") - def private_key(self) -> Optional[str]: + @pulumi.getter(name="projectId") + def project_id(self) -> str: """ - The Databricks secret key reference for a private key for the service account that has access to the Google Cloud Vertex AI Service. + This is the Google Cloud project id that the service account is associated with. """ - return pulumi.get(self, "private_key") + return pulumi.get(self, "project_id") @property - @pulumi.getter(name="privateKeyPlaintext") - def private_key_plaintext(self) -> Optional[str]: + @pulumi.getter + def region(self) -> str: """ - The private key for the service account that has access to the Google Cloud Vertex AI Service is provided as a plaintext secret. + This is the region for the Google Cloud Vertex AI Service. """ - return pulumi.get(self, "private_key_plaintext") + return pulumi.get(self, "region") @property - @pulumi.getter(name="projectId") - def project_id(self) -> Optional[str]: + @pulumi.getter(name="privateKey") + def private_key(self) -> Optional[str]: """ - This is the Google Cloud project id that the service account is associated with. + The Databricks secret key reference for a private key for the service account that has access to the Google Cloud Vertex AI Service. """ - return pulumi.get(self, "project_id") + return pulumi.get(self, "private_key") @property - @pulumi.getter - def region(self) -> Optional[str]: + @pulumi.getter(name="privateKeyPlaintext") + def private_key_plaintext(self) -> Optional[str]: """ - This is the region for the Google Cloud Vertex AI Service. + The private key for the service account that has access to the Google Cloud Vertex AI Service is provided as a plaintext secret. """ - return pulumi.get(self, "region") + return pulumi.get(self, "private_key_plaintext") @pulumi.output_type @@ -41564,12 +41584,13 @@ def valid_topics(self) -> Optional[Sequence[str]]: @pulumi.output_type class GetServingEndpointsEndpointAiGatewayGuardrailInputPropertyPiiResult(dict): def __init__(__self__, *, - behavior: str): - pulumi.set(__self__, "behavior", behavior) + behavior: Optional[str] = None): + if behavior is not None: + pulumi.set(__self__, "behavior", behavior) @property @pulumi.getter - def behavior(self) -> str: + def behavior(self) -> Optional[str]: return pulumi.get(self, "behavior") @@ -41613,12 +41634,13 @@ def valid_topics(self) -> Optional[Sequence[str]]: @pulumi.output_type class GetServingEndpointsEndpointAiGatewayGuardrailOutputPiiResult(dict): def __init__(__self__, *, - behavior: str): - pulumi.set(__self__, "behavior", behavior) + behavior: Optional[str] = None): + if behavior is not None: + pulumi.set(__self__, "behavior", behavior) @property @pulumi.getter - def behavior(self) -> str: + def behavior(self) -> Optional[str]: return pulumi.get(self, "behavior") @@ -42020,18 +42042,26 @@ def databricks_api_token_plaintext(self) -> Optional[str]: @pulumi.output_type class GetServingEndpointsEndpointConfigServedEntityExternalModelGoogleCloudVertexAiConfigResult(dict): def __init__(__self__, *, + project_id: str, + region: str, private_key: Optional[str] = None, - private_key_plaintext: Optional[str] = None, - project_id: Optional[str] = None, - region: Optional[str] = None): + private_key_plaintext: Optional[str] = None): + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "region", region) if private_key is not None: pulumi.set(__self__, "private_key", private_key) if private_key_plaintext is not None: pulumi.set(__self__, "private_key_plaintext", private_key_plaintext) - if project_id is not None: - pulumi.set(__self__, "project_id", project_id) - if region is not None: - pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="projectId") + def project_id(self) -> str: + return pulumi.get(self, "project_id") + + @property + @pulumi.getter + def region(self) -> str: + return pulumi.get(self, "region") @property @pulumi.getter(name="privateKey") @@ -42043,16 +42073,6 @@ def private_key(self) -> Optional[str]: def private_key_plaintext(self) -> Optional[str]: return pulumi.get(self, "private_key_plaintext") - @property - @pulumi.getter(name="projectId") - def project_id(self) -> Optional[str]: - return pulumi.get(self, "project_id") - - @property - @pulumi.getter - def region(self) -> Optional[str]: - return pulumi.get(self, "region") - @pulumi.output_type class GetServingEndpointsEndpointConfigServedEntityExternalModelOpenaiConfigResult(dict): diff --git a/sdk/python/pulumi_databricks/recipient.py b/sdk/python/pulumi_databricks/recipient.py index c6af9f71f..f585c8050 100644 --- a/sdk/python/pulumi_databricks/recipient.py +++ b/sdk/python/pulumi_databricks/recipient.py @@ -24,6 +24,7 @@ def __init__(__self__, *, authentication_type: pulumi.Input[str], comment: Optional[pulumi.Input[str]] = None, data_recipient_global_metastore_id: Optional[pulumi.Input[str]] = None, + expiration_time: Optional[pulumi.Input[int]] = None, ip_access_list: Optional[pulumi.Input['RecipientIpAccessListArgs']] = None, name: Optional[pulumi.Input[str]] = None, owner: Optional[pulumi.Input[str]] = None, @@ -35,6 +36,7 @@ def __init__(__self__, *, :param pulumi.Input[str] authentication_type: The delta sharing authentication type. Valid values are `TOKEN` and `DATABRICKS`. :param pulumi.Input[str] comment: Description about the recipient. :param pulumi.Input[str] data_recipient_global_metastore_id: Required when `authentication_type` is `DATABRICKS`. + :param pulumi.Input[int] expiration_time: Expiration timestamp of the token in epoch milliseconds. :param pulumi.Input['RecipientIpAccessListArgs'] ip_access_list: Recipient IP access list. :param pulumi.Input[str] name: Name of recipient. Change forces creation of a new resource. :param pulumi.Input[str] owner: Username/groupname/sp application_id of the recipient owner. @@ -47,6 +49,8 @@ def __init__(__self__, *, pulumi.set(__self__, "comment", comment) if data_recipient_global_metastore_id is not None: pulumi.set(__self__, "data_recipient_global_metastore_id", data_recipient_global_metastore_id) + if expiration_time is not None: + pulumi.set(__self__, "expiration_time", expiration_time) if ip_access_list is not None: pulumi.set(__self__, "ip_access_list", ip_access_list) if name is not None: @@ -96,6 +100,18 @@ def data_recipient_global_metastore_id(self) -> Optional[pulumi.Input[str]]: def data_recipient_global_metastore_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "data_recipient_global_metastore_id", value) + @property + @pulumi.getter(name="expirationTime") + def expiration_time(self) -> Optional[pulumi.Input[int]]: + """ + Expiration timestamp of the token in epoch milliseconds. + """ + return pulumi.get(self, "expiration_time") + + @expiration_time.setter + def expiration_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "expiration_time", value) + @property @pulumi.getter(name="ipAccessList") def ip_access_list(self) -> Optional[pulumi.Input['RecipientIpAccessListArgs']]: @@ -180,6 +196,7 @@ def __init__(__self__, *, created_at: Optional[pulumi.Input[int]] = None, created_by: Optional[pulumi.Input[str]] = None, data_recipient_global_metastore_id: Optional[pulumi.Input[str]] = None, + expiration_time: Optional[pulumi.Input[int]] = None, ip_access_list: Optional[pulumi.Input['RecipientIpAccessListArgs']] = None, metastore_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -199,6 +216,7 @@ def __init__(__self__, *, :param pulumi.Input[int] created_at: Time at which this recipient was created, in epoch milliseconds. :param pulumi.Input[str] created_by: Username of recipient creator. :param pulumi.Input[str] data_recipient_global_metastore_id: Required when `authentication_type` is `DATABRICKS`. + :param pulumi.Input[int] expiration_time: Expiration timestamp of the token in epoch milliseconds. :param pulumi.Input['RecipientIpAccessListArgs'] ip_access_list: Recipient IP access list. :param pulumi.Input[str] metastore_id: Unique identifier of recipient's Unity Catalog metastore. This field is only present when the authentication_type is `DATABRICKS`. :param pulumi.Input[str] name: Name of recipient. Change forces creation of a new resource. @@ -226,6 +244,8 @@ def __init__(__self__, *, pulumi.set(__self__, "created_by", created_by) if data_recipient_global_metastore_id is not None: pulumi.set(__self__, "data_recipient_global_metastore_id", data_recipient_global_metastore_id) + if expiration_time is not None: + pulumi.set(__self__, "expiration_time", expiration_time) if ip_access_list is not None: pulumi.set(__self__, "ip_access_list", ip_access_list) if metastore_id is not None: @@ -340,6 +360,18 @@ def data_recipient_global_metastore_id(self) -> Optional[pulumi.Input[str]]: def data_recipient_global_metastore_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "data_recipient_global_metastore_id", value) + @property + @pulumi.getter(name="expirationTime") + def expiration_time(self) -> Optional[pulumi.Input[int]]: + """ + Expiration timestamp of the token in epoch milliseconds. + """ + return pulumi.get(self, "expiration_time") + + @expiration_time.setter + def expiration_time(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "expiration_time", value) + @property @pulumi.getter(name="ipAccessList") def ip_access_list(self) -> Optional[pulumi.Input['RecipientIpAccessListArgs']]: @@ -469,6 +501,7 @@ def __init__(__self__, authentication_type: Optional[pulumi.Input[str]] = None, comment: Optional[pulumi.Input[str]] = None, data_recipient_global_metastore_id: Optional[pulumi.Input[str]] = None, + expiration_time: Optional[pulumi.Input[int]] = None, ip_access_list: Optional[pulumi.Input[Union['RecipientIpAccessListArgs', 'RecipientIpAccessListArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, owner: Optional[pulumi.Input[str]] = None, @@ -516,6 +549,7 @@ def __init__(__self__, :param pulumi.Input[str] authentication_type: The delta sharing authentication type. Valid values are `TOKEN` and `DATABRICKS`. :param pulumi.Input[str] comment: Description about the recipient. :param pulumi.Input[str] data_recipient_global_metastore_id: Required when `authentication_type` is `DATABRICKS`. + :param pulumi.Input[int] expiration_time: Expiration timestamp of the token in epoch milliseconds. :param pulumi.Input[Union['RecipientIpAccessListArgs', 'RecipientIpAccessListArgsDict']] ip_access_list: Recipient IP access list. :param pulumi.Input[str] name: Name of recipient. Change forces creation of a new resource. :param pulumi.Input[str] owner: Username/groupname/sp application_id of the recipient owner. @@ -582,6 +616,7 @@ def _internal_init(__self__, authentication_type: Optional[pulumi.Input[str]] = None, comment: Optional[pulumi.Input[str]] = None, data_recipient_global_metastore_id: Optional[pulumi.Input[str]] = None, + expiration_time: Optional[pulumi.Input[int]] = None, ip_access_list: Optional[pulumi.Input[Union['RecipientIpAccessListArgs', 'RecipientIpAccessListArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, owner: Optional[pulumi.Input[str]] = None, @@ -602,6 +637,7 @@ def _internal_init(__self__, __props__.__dict__["authentication_type"] = authentication_type __props__.__dict__["comment"] = comment __props__.__dict__["data_recipient_global_metastore_id"] = data_recipient_global_metastore_id + __props__.__dict__["expiration_time"] = expiration_time __props__.__dict__["ip_access_list"] = ip_access_list __props__.__dict__["name"] = name __props__.__dict__["owner"] = owner @@ -637,6 +673,7 @@ def get(resource_name: str, created_at: Optional[pulumi.Input[int]] = None, created_by: Optional[pulumi.Input[str]] = None, data_recipient_global_metastore_id: Optional[pulumi.Input[str]] = None, + expiration_time: Optional[pulumi.Input[int]] = None, ip_access_list: Optional[pulumi.Input[Union['RecipientIpAccessListArgs', 'RecipientIpAccessListArgsDict']]] = None, metastore_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -661,6 +698,7 @@ def get(resource_name: str, :param pulumi.Input[int] created_at: Time at which this recipient was created, in epoch milliseconds. :param pulumi.Input[str] created_by: Username of recipient creator. :param pulumi.Input[str] data_recipient_global_metastore_id: Required when `authentication_type` is `DATABRICKS`. + :param pulumi.Input[int] expiration_time: Expiration timestamp of the token in epoch milliseconds. :param pulumi.Input[Union['RecipientIpAccessListArgs', 'RecipientIpAccessListArgsDict']] ip_access_list: Recipient IP access list. :param pulumi.Input[str] metastore_id: Unique identifier of recipient's Unity Catalog metastore. This field is only present when the authentication_type is `DATABRICKS`. :param pulumi.Input[str] name: Name of recipient. Change forces creation of a new resource. @@ -684,6 +722,7 @@ def get(resource_name: str, __props__.__dict__["created_at"] = created_at __props__.__dict__["created_by"] = created_by __props__.__dict__["data_recipient_global_metastore_id"] = data_recipient_global_metastore_id + __props__.__dict__["expiration_time"] = expiration_time __props__.__dict__["ip_access_list"] = ip_access_list __props__.__dict__["metastore_id"] = metastore_id __props__.__dict__["name"] = name @@ -757,6 +796,14 @@ def data_recipient_global_metastore_id(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "data_recipient_global_metastore_id") + @property + @pulumi.getter(name="expirationTime") + def expiration_time(self) -> pulumi.Output[Optional[int]]: + """ + Expiration timestamp of the token in epoch milliseconds. + """ + return pulumi.get(self, "expiration_time") + @property @pulumi.getter(name="ipAccessList") def ip_access_list(self) -> pulumi.Output[Optional['outputs.RecipientIpAccessList']]: diff --git a/sdk/python/pulumi_databricks/token.py b/sdk/python/pulumi_databricks/token.py index 38983f01b..ffb1c0024 100644 --- a/sdk/python/pulumi_databricks/token.py +++ b/sdk/python/pulumi_databricks/token.py @@ -27,7 +27,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a Token resource. :param pulumi.Input[str] comment: (String) Comment that will appear on the user’s settings page for this token. - :param pulumi.Input[int] lifetime_seconds: (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + :param pulumi.Input[int] lifetime_seconds: (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. """ if comment is not None: pulumi.set(__self__, "comment", comment) @@ -74,7 +74,7 @@ def expiry_time(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="lifetimeSeconds") def lifetime_seconds(self) -> Optional[pulumi.Input[int]]: """ - (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. """ return pulumi.get(self, "lifetime_seconds") @@ -104,7 +104,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering Token resources. :param pulumi.Input[str] comment: (String) Comment that will appear on the user’s settings page for this token. - :param pulumi.Input[int] lifetime_seconds: (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + :param pulumi.Input[int] lifetime_seconds: (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. :param pulumi.Input[str] token_value: **Sensitive** value of the newly-created token. """ if comment is not None: @@ -154,7 +154,7 @@ def expiry_time(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="lifetimeSeconds") def lifetime_seconds(self) -> Optional[pulumi.Input[int]]: """ - (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. """ return pulumi.get(self, "lifetime_seconds") @@ -231,7 +231,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] comment: (String) Comment that will appear on the user’s settings page for this token. - :param pulumi.Input[int] lifetime_seconds: (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + :param pulumi.Input[int] lifetime_seconds: (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. """ ... @overload @@ -333,7 +333,7 @@ def get(resource_name: str, :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] comment: (String) Comment that will appear on the user’s settings page for this token. - :param pulumi.Input[int] lifetime_seconds: (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + :param pulumi.Input[int] lifetime_seconds: (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. :param pulumi.Input[str] token_value: **Sensitive** value of the newly-created token. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -370,7 +370,7 @@ def expiry_time(self) -> pulumi.Output[int]: @pulumi.getter(name="lifetimeSeconds") def lifetime_seconds(self) -> pulumi.Output[Optional[int]]: """ - (Integer) The lifetime of the token, in seconds. If no lifetime is specified, the token remains valid indefinitely. + (Integer) The lifetime of the token, in seconds. If no lifetime is specified, then expire time will be set to maximum allowed by the workspace configuration or platform. """ return pulumi.get(self, "lifetime_seconds") diff --git a/upstream b/upstream index 70ac668be..3746ee431 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 70ac668be4df2b533035b555e8079ee90b5b627c +Subproject commit 3746ee431cc0ae252667bb1e14844230642afe2f