diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index 47d04a5..afaf360 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.18.0 \ No newline at end of file +1.0.0 \ No newline at end of file diff --git a/provider/cmd/pulumi-resource-port/schema.json b/provider/cmd/pulumi-resource-port/schema.json index 10adaf3..9037bb3 100644 --- a/provider/cmd/pulumi-resource-port/schema.json +++ b/provider/cmd/pulumi-resource-port/schema.json @@ -1093,6 +1093,10 @@ "type": "string" }, "description": "The teams the entity belongs to\n" + }, + "teamsJq": { + "type": "string", + "description": "Jq that returns the teams the entity belongs to\n" } }, "type": "object" @@ -1309,6 +1313,22 @@ "path" ] }, + "port:index/BlueprintOwnership:BlueprintOwnership": { + "properties": { + "path": { + "type": "string", + "description": "Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path.\n" + }, + "type": { + "type": "string", + "description": "Ownership type: either 'Inherited' or 'Direct'.\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, "port:index/BlueprintPermissionsEntities:BlueprintPermissionsEntities": { "properties": { "register": { @@ -3121,6 +3141,10 @@ }, "description": "The mirror properties of the blueprint\n" }, + "ownership": { + "$ref": "#/types/port:index/BlueprintOwnership:BlueprintOwnership", + "description": "Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and\nmust be a valid relation identifiers path.\n" + }, "properties": { "$ref": "#/types/port:index/BlueprintProperties:BlueprintProperties", "description": "The properties of the blueprint\n" @@ -3201,6 +3225,10 @@ }, "description": "The mirror properties of the blueprint\n" }, + "ownership": { + "$ref": "#/types/port:index/BlueprintOwnership:BlueprintOwnership", + "description": "Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and\nmust be a valid relation identifiers path.\n" + }, "properties": { "$ref": "#/types/port:index/BlueprintProperties:BlueprintProperties", "description": "The properties of the blueprint\n" @@ -3277,6 +3305,10 @@ }, "description": "The mirror properties of the blueprint\n" }, + "ownership": { + "$ref": "#/types/port:index/BlueprintOwnership:BlueprintOwnership", + "description": "Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and\nmust be a valid relation identifiers path.\n" + }, "properties": { "$ref": "#/types/port:index/BlueprintProperties:BlueprintProperties", "description": "The properties of the blueprint\n" diff --git a/provider/go.mod b/provider/go.mod index fea64ff..fd46af9 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -7,7 +7,7 @@ toolchain go1.22.7 replace github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240520223432-0c0bf0d65f10 require ( - github.com/port-labs/terraform-provider-port-labs/v2 v2.1.0 + github.com/port-labs/terraform-provider-port-labs/v2 v2.1.3 github.com/pulumi/pulumi-terraform-bridge/pf v0.49.0 github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 github.com/pulumi/pulumi/sdk/v3 v3.140.0 @@ -170,15 +170,15 @@ require ( go.opentelemetry.io/otel/metric v1.24.0 // indirect go.opentelemetry.io/otel/trace v1.24.0 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.20.0 // indirect golang.org/x/net v0.28.0 // indirect golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.23.0 // indirect google.golang.org/api v0.169.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index aee8de8..3b88921 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -716,8 +716,8 @@ github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/port-labs/terraform-provider-port-labs/v2 v2.1.0 h1:ihaa/W0CLIuQ8TS7/sUSjMcbzknoLT6t1Anreeq4dlk= -github.com/port-labs/terraform-provider-port-labs/v2 v2.1.0/go.mod h1:TAtCNx366feVGOZe5m0Dto7G4Hxh+pK12msspco25pc= +github.com/port-labs/terraform-provider-port-labs/v2 v2.1.3 h1:z2EawtY6wt4mBwhGGawN64WFFcHcBnr9DRvgQzn8aQI= +github.com/port-labs/terraform-provider-port-labs/v2 v2.1.3/go.mod h1:EEU1bfs7ZT4mSKvoizQbW63+V9t6rrESOvgZ2NyKeOE= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= @@ -888,8 +888,8 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1030,8 +1030,8 @@ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1113,8 +1113,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1123,8 +1123,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1139,8 +1139,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/sdk/go/port/blueprint.go b/sdk/go/port/blueprint.go index 551be40..24bae48 100644 --- a/sdk/go/port/blueprint.go +++ b/sdk/go/port/blueprint.go @@ -34,6 +34,9 @@ type Blueprint struct { KafkaChangelogDestination BlueprintKafkaChangelogDestinationPtrOutput `pulumi:"kafkaChangelogDestination"` // The mirror properties of the blueprint MirrorProperties BlueprintMirrorPropertiesMapOutput `pulumi:"mirrorProperties"` + // Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + // must be a valid relation identifiers path. + Ownership BlueprintOwnershipPtrOutput `pulumi:"ownership"` // The properties of the blueprint Properties BlueprintPropertiesPtrOutput `pulumi:"properties"` // The relations of the blueprint @@ -105,6 +108,9 @@ type blueprintState struct { KafkaChangelogDestination *BlueprintKafkaChangelogDestination `pulumi:"kafkaChangelogDestination"` // The mirror properties of the blueprint MirrorProperties map[string]BlueprintMirrorProperties `pulumi:"mirrorProperties"` + // Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + // must be a valid relation identifiers path. + Ownership *BlueprintOwnership `pulumi:"ownership"` // The properties of the blueprint Properties *BlueprintProperties `pulumi:"properties"` // The relations of the blueprint @@ -141,6 +147,9 @@ type BlueprintState struct { KafkaChangelogDestination BlueprintKafkaChangelogDestinationPtrInput // The mirror properties of the blueprint MirrorProperties BlueprintMirrorPropertiesMapInput + // Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + // must be a valid relation identifiers path. + Ownership BlueprintOwnershipPtrInput // The properties of the blueprint Properties BlueprintPropertiesPtrInput // The relations of the blueprint @@ -177,6 +186,9 @@ type blueprintArgs struct { KafkaChangelogDestination *BlueprintKafkaChangelogDestination `pulumi:"kafkaChangelogDestination"` // The mirror properties of the blueprint MirrorProperties map[string]BlueprintMirrorProperties `pulumi:"mirrorProperties"` + // Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + // must be a valid relation identifiers path. + Ownership *BlueprintOwnership `pulumi:"ownership"` // The properties of the blueprint Properties *BlueprintProperties `pulumi:"properties"` // The relations of the blueprint @@ -206,6 +218,9 @@ type BlueprintArgs struct { KafkaChangelogDestination BlueprintKafkaChangelogDestinationPtrInput // The mirror properties of the blueprint MirrorProperties BlueprintMirrorPropertiesMapInput + // Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + // must be a valid relation identifiers path. + Ownership BlueprintOwnershipPtrInput // The properties of the blueprint Properties BlueprintPropertiesPtrInput // The relations of the blueprint @@ -354,6 +369,12 @@ func (o BlueprintOutput) MirrorProperties() BlueprintMirrorPropertiesMapOutput { return o.ApplyT(func(v *Blueprint) BlueprintMirrorPropertiesMapOutput { return v.MirrorProperties }).(BlueprintMirrorPropertiesMapOutput) } +// Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and +// must be a valid relation identifiers path. +func (o BlueprintOutput) Ownership() BlueprintOwnershipPtrOutput { + return o.ApplyT(func(v *Blueprint) BlueprintOwnershipPtrOutput { return v.Ownership }).(BlueprintOwnershipPtrOutput) +} + // The properties of the blueprint func (o BlueprintOutput) Properties() BlueprintPropertiesPtrOutput { return o.ApplyT(func(v *Blueprint) BlueprintPropertiesPtrOutput { return v.Properties }).(BlueprintPropertiesPtrOutput) diff --git a/sdk/go/port/pulumiTypes.go b/sdk/go/port/pulumiTypes.go index 338b2ba..0a8f64d 100644 --- a/sdk/go/port/pulumiTypes.go +++ b/sdk/go/port/pulumiTypes.go @@ -6281,6 +6281,8 @@ type ActionUpsertEntityMethodMapping struct { Relations *string `pulumi:"relations"` // The teams the entity belongs to Teams []string `pulumi:"teams"` + // Jq that returns the teams the entity belongs to + TeamsJq *string `pulumi:"teamsJq"` } // ActionUpsertEntityMethodMappingInput is an input type that accepts ActionUpsertEntityMethodMappingArgs and ActionUpsertEntityMethodMappingOutput values. @@ -6305,6 +6307,8 @@ type ActionUpsertEntityMethodMappingArgs struct { Relations pulumi.StringPtrInput `pulumi:"relations"` // The teams the entity belongs to Teams pulumi.StringArrayInput `pulumi:"teams"` + // Jq that returns the teams the entity belongs to + TeamsJq pulumi.StringPtrInput `pulumi:"teamsJq"` } func (ActionUpsertEntityMethodMappingArgs) ElementType() reflect.Type { @@ -6409,6 +6413,11 @@ func (o ActionUpsertEntityMethodMappingOutput) Teams() pulumi.StringArrayOutput return o.ApplyT(func(v ActionUpsertEntityMethodMapping) []string { return v.Teams }).(pulumi.StringArrayOutput) } +// Jq that returns the teams the entity belongs to +func (o ActionUpsertEntityMethodMappingOutput) TeamsJq() pulumi.StringPtrOutput { + return o.ApplyT(func(v ActionUpsertEntityMethodMapping) *string { return v.TeamsJq }).(pulumi.StringPtrOutput) +} + type ActionUpsertEntityMethodMappingPtrOutput struct{ *pulumi.OutputState } func (ActionUpsertEntityMethodMappingPtrOutput) ElementType() reflect.Type { @@ -6483,6 +6492,16 @@ func (o ActionUpsertEntityMethodMappingPtrOutput) Teams() pulumi.StringArrayOutp }).(pulumi.StringArrayOutput) } +// Jq that returns the teams the entity belongs to +func (o ActionUpsertEntityMethodMappingPtrOutput) TeamsJq() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ActionUpsertEntityMethodMapping) *string { + if v == nil { + return nil + } + return v.TeamsJq + }).(pulumi.StringPtrOutput) +} + type ActionWebhookMethod struct { // Specifies whether to use an agent to invoke the action. This can be a boolean value (`'true''` or `'false'`) or a JQ if dynamic evaluation is needed. Agent *string `pulumi:"agent"` @@ -7813,6 +7832,162 @@ func (o BlueprintMirrorPropertiesMapOutput) MapIndex(k pulumi.StringInput) Bluep }).(BlueprintMirrorPropertiesOutput) } +type BlueprintOwnership struct { + // Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. + Path *string `pulumi:"path"` + // Ownership type: either 'Inherited' or 'Direct'. + Type string `pulumi:"type"` +} + +// BlueprintOwnershipInput is an input type that accepts BlueprintOwnershipArgs and BlueprintOwnershipOutput values. +// You can construct a concrete instance of `BlueprintOwnershipInput` via: +// +// BlueprintOwnershipArgs{...} +type BlueprintOwnershipInput interface { + pulumi.Input + + ToBlueprintOwnershipOutput() BlueprintOwnershipOutput + ToBlueprintOwnershipOutputWithContext(context.Context) BlueprintOwnershipOutput +} + +type BlueprintOwnershipArgs struct { + // Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. + Path pulumi.StringPtrInput `pulumi:"path"` + // Ownership type: either 'Inherited' or 'Direct'. + Type pulumi.StringInput `pulumi:"type"` +} + +func (BlueprintOwnershipArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BlueprintOwnership)(nil)).Elem() +} + +func (i BlueprintOwnershipArgs) ToBlueprintOwnershipOutput() BlueprintOwnershipOutput { + return i.ToBlueprintOwnershipOutputWithContext(context.Background()) +} + +func (i BlueprintOwnershipArgs) ToBlueprintOwnershipOutputWithContext(ctx context.Context) BlueprintOwnershipOutput { + return pulumi.ToOutputWithContext(ctx, i).(BlueprintOwnershipOutput) +} + +func (i BlueprintOwnershipArgs) ToBlueprintOwnershipPtrOutput() BlueprintOwnershipPtrOutput { + return i.ToBlueprintOwnershipPtrOutputWithContext(context.Background()) +} + +func (i BlueprintOwnershipArgs) ToBlueprintOwnershipPtrOutputWithContext(ctx context.Context) BlueprintOwnershipPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BlueprintOwnershipOutput).ToBlueprintOwnershipPtrOutputWithContext(ctx) +} + +// BlueprintOwnershipPtrInput is an input type that accepts BlueprintOwnershipArgs, BlueprintOwnershipPtr and BlueprintOwnershipPtrOutput values. +// You can construct a concrete instance of `BlueprintOwnershipPtrInput` via: +// +// BlueprintOwnershipArgs{...} +// +// or: +// +// nil +type BlueprintOwnershipPtrInput interface { + pulumi.Input + + ToBlueprintOwnershipPtrOutput() BlueprintOwnershipPtrOutput + ToBlueprintOwnershipPtrOutputWithContext(context.Context) BlueprintOwnershipPtrOutput +} + +type blueprintOwnershipPtrType BlueprintOwnershipArgs + +func BlueprintOwnershipPtr(v *BlueprintOwnershipArgs) BlueprintOwnershipPtrInput { + return (*blueprintOwnershipPtrType)(v) +} + +func (*blueprintOwnershipPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**BlueprintOwnership)(nil)).Elem() +} + +func (i *blueprintOwnershipPtrType) ToBlueprintOwnershipPtrOutput() BlueprintOwnershipPtrOutput { + return i.ToBlueprintOwnershipPtrOutputWithContext(context.Background()) +} + +func (i *blueprintOwnershipPtrType) ToBlueprintOwnershipPtrOutputWithContext(ctx context.Context) BlueprintOwnershipPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BlueprintOwnershipPtrOutput) +} + +type BlueprintOwnershipOutput struct{ *pulumi.OutputState } + +func (BlueprintOwnershipOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BlueprintOwnership)(nil)).Elem() +} + +func (o BlueprintOwnershipOutput) ToBlueprintOwnershipOutput() BlueprintOwnershipOutput { + return o +} + +func (o BlueprintOwnershipOutput) ToBlueprintOwnershipOutputWithContext(ctx context.Context) BlueprintOwnershipOutput { + return o +} + +func (o BlueprintOwnershipOutput) ToBlueprintOwnershipPtrOutput() BlueprintOwnershipPtrOutput { + return o.ToBlueprintOwnershipPtrOutputWithContext(context.Background()) +} + +func (o BlueprintOwnershipOutput) ToBlueprintOwnershipPtrOutputWithContext(ctx context.Context) BlueprintOwnershipPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v BlueprintOwnership) *BlueprintOwnership { + return &v + }).(BlueprintOwnershipPtrOutput) +} + +// Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. +func (o BlueprintOwnershipOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v BlueprintOwnership) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// Ownership type: either 'Inherited' or 'Direct'. +func (o BlueprintOwnershipOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v BlueprintOwnership) string { return v.Type }).(pulumi.StringOutput) +} + +type BlueprintOwnershipPtrOutput struct{ *pulumi.OutputState } + +func (BlueprintOwnershipPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BlueprintOwnership)(nil)).Elem() +} + +func (o BlueprintOwnershipPtrOutput) ToBlueprintOwnershipPtrOutput() BlueprintOwnershipPtrOutput { + return o +} + +func (o BlueprintOwnershipPtrOutput) ToBlueprintOwnershipPtrOutputWithContext(ctx context.Context) BlueprintOwnershipPtrOutput { + return o +} + +func (o BlueprintOwnershipPtrOutput) Elem() BlueprintOwnershipOutput { + return o.ApplyT(func(v *BlueprintOwnership) BlueprintOwnership { + if v != nil { + return *v + } + var ret BlueprintOwnership + return ret + }).(BlueprintOwnershipOutput) +} + +// Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. +func (o BlueprintOwnershipPtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BlueprintOwnership) *string { + if v == nil { + return nil + } + return v.Path + }).(pulumi.StringPtrOutput) +} + +// Ownership type: either 'Inherited' or 'Direct'. +func (o BlueprintOwnershipPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BlueprintOwnership) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + type BlueprintPermissionsEntities struct { // Manage permissions to register entities of the blueprint Register BlueprintPermissionsEntitiesRegister `pulumi:"register"` @@ -14508,6 +14683,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*BlueprintKafkaChangelogDestinationPtrInput)(nil)).Elem(), BlueprintKafkaChangelogDestinationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BlueprintMirrorPropertiesInput)(nil)).Elem(), BlueprintMirrorPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BlueprintMirrorPropertiesMapInput)(nil)).Elem(), BlueprintMirrorPropertiesMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*BlueprintOwnershipInput)(nil)).Elem(), BlueprintOwnershipArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BlueprintOwnershipPtrInput)(nil)).Elem(), BlueprintOwnershipArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BlueprintPermissionsEntitiesInput)(nil)).Elem(), BlueprintPermissionsEntitiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BlueprintPermissionsEntitiesPtrInput)(nil)).Elem(), BlueprintPermissionsEntitiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BlueprintPermissionsEntitiesRegisterInput)(nil)).Elem(), BlueprintPermissionsEntitiesRegisterArgs{}) @@ -14681,6 +14858,8 @@ func init() { pulumi.RegisterOutputType(BlueprintKafkaChangelogDestinationPtrOutput{}) pulumi.RegisterOutputType(BlueprintMirrorPropertiesOutput{}) pulumi.RegisterOutputType(BlueprintMirrorPropertiesMapOutput{}) + pulumi.RegisterOutputType(BlueprintOwnershipOutput{}) + pulumi.RegisterOutputType(BlueprintOwnershipPtrOutput{}) pulumi.RegisterOutputType(BlueprintPermissionsEntitiesOutput{}) pulumi.RegisterOutputType(BlueprintPermissionsEntitiesPtrOutput{}) pulumi.RegisterOutputType(BlueprintPermissionsEntitiesRegisterOutput{}) diff --git a/sdk/nodejs/blueprint.ts b/sdk/nodejs/blueprint.ts index d2e7c03..6f6be96 100644 --- a/sdk/nodejs/blueprint.ts +++ b/sdk/nodejs/blueprint.ts @@ -71,6 +71,11 @@ export class Blueprint extends pulumi.CustomResource { * The mirror properties of the blueprint */ public readonly mirrorProperties!: pulumi.Output<{[key: string]: outputs.BlueprintMirrorProperties} | undefined>; + /** + * Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + * must be a valid relation identifiers path. + */ + public readonly ownership!: pulumi.Output; /** * The properties of the blueprint */ @@ -123,6 +128,7 @@ export class Blueprint extends pulumi.CustomResource { resourceInputs["identifier"] = state ? state.identifier : undefined; resourceInputs["kafkaChangelogDestination"] = state ? state.kafkaChangelogDestination : undefined; resourceInputs["mirrorProperties"] = state ? state.mirrorProperties : undefined; + resourceInputs["ownership"] = state ? state.ownership : undefined; resourceInputs["properties"] = state ? state.properties : undefined; resourceInputs["relations"] = state ? state.relations : undefined; resourceInputs["teamInheritance"] = state ? state.teamInheritance : undefined; @@ -146,6 +152,7 @@ export class Blueprint extends pulumi.CustomResource { resourceInputs["identifier"] = args ? args.identifier : undefined; resourceInputs["kafkaChangelogDestination"] = args ? args.kafkaChangelogDestination : undefined; resourceInputs["mirrorProperties"] = args ? args.mirrorProperties : undefined; + resourceInputs["ownership"] = args ? args.ownership : undefined; resourceInputs["properties"] = args ? args.properties : undefined; resourceInputs["relations"] = args ? args.relations : undefined; resourceInputs["teamInheritance"] = args ? args.teamInheritance : undefined; @@ -202,6 +209,11 @@ export interface BlueprintState { * The mirror properties of the blueprint */ mirrorProperties?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + * must be a valid relation identifiers path. + */ + ownership?: pulumi.Input; /** * The properties of the blueprint */ @@ -265,6 +277,11 @@ export interface BlueprintArgs { * The mirror properties of the blueprint */ mirrorProperties?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + * must be a valid relation identifiers path. + */ + ownership?: pulumi.Input; /** * The properties of the blueprint */ diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index de22b93..a7ed16f 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -738,6 +738,10 @@ export interface ActionUpsertEntityMethodMapping { * The teams the entity belongs to */ teams?: pulumi.Input[]>; + /** + * Jq that returns the teams the entity belongs to + */ + teamsJq?: pulumi.Input; } export interface ActionWebhookMethod { @@ -899,6 +903,17 @@ export interface BlueprintMirrorProperties { title?: pulumi.Input; } +export interface BlueprintOwnership { + /** + * Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. + */ + path?: pulumi.Input; + /** + * Ownership type: either 'Inherited' or 'Direct'. + */ + type: pulumi.Input; +} + export interface BlueprintPermissionsEntities { /** * Manage permissions to register entities of the blueprint diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index c808bf4..c739af8 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -738,6 +738,10 @@ export interface ActionUpsertEntityMethodMapping { * The teams the entity belongs to */ teams?: string[]; + /** + * Jq that returns the teams the entity belongs to + */ + teamsJq?: string; } export interface ActionWebhookMethod { @@ -899,6 +903,17 @@ export interface BlueprintMirrorProperties { title?: string; } +export interface BlueprintOwnership { + /** + * Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. + */ + path?: string; + /** + * Ownership type: either 'Inherited' or 'Direct'. + */ + type: string; +} + export interface BlueprintPermissionsEntities { /** * Manage permissions to register entities of the blueprint diff --git a/sdk/python/port_pulumi/_inputs.py b/sdk/python/port_pulumi/_inputs.py index b55606d..38e2b4e 100644 --- a/sdk/python/port_pulumi/_inputs.py +++ b/sdk/python/port_pulumi/_inputs.py @@ -109,6 +109,8 @@ 'BlueprintKafkaChangelogDestinationArgsDict', 'BlueprintMirrorPropertiesArgs', 'BlueprintMirrorPropertiesArgsDict', + 'BlueprintOwnershipArgs', + 'BlueprintOwnershipArgsDict', 'BlueprintPermissionsEntitiesArgs', 'BlueprintPermissionsEntitiesArgsDict', 'BlueprintPermissionsEntitiesRegisterArgs', @@ -3633,6 +3635,10 @@ class ActionUpsertEntityMethodMappingArgsDict(TypedDict): """ The teams the entity belongs to """ + teams_jq: NotRequired[pulumi.Input[str]] + """ + Jq that returns the teams the entity belongs to + """ elif False: ActionUpsertEntityMethodMappingArgsDict: TypeAlias = Mapping[str, Any] @@ -3643,13 +3649,15 @@ def __init__(__self__, *, identifier: Optional[pulumi.Input[str]] = None, properties: Optional[pulumi.Input[str]] = None, relations: Optional[pulumi.Input[str]] = None, - teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + teams: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + teams_jq: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] icon: The icon of the entity :param pulumi.Input[str] identifier: Required when selecting type Upsert Entity. The entity identifier for the upsert :param pulumi.Input[str] properties: The properties of the entity (key-value object encoded to a string) :param pulumi.Input[str] relations: The relations of the entity (key-value object encoded to a string) :param pulumi.Input[Sequence[pulumi.Input[str]]] teams: The teams the entity belongs to + :param pulumi.Input[str] teams_jq: Jq that returns the teams the entity belongs to """ if icon is not None: pulumi.set(__self__, "icon", icon) @@ -3661,6 +3669,8 @@ def __init__(__self__, *, pulumi.set(__self__, "relations", relations) if teams is not None: pulumi.set(__self__, "teams", teams) + if teams_jq is not None: + pulumi.set(__self__, "teams_jq", teams_jq) @property @pulumi.getter @@ -3722,6 +3732,18 @@ def teams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def teams(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "teams", value) + @property + @pulumi.getter(name="teamsJq") + def teams_jq(self) -> Optional[pulumi.Input[str]]: + """ + Jq that returns the teams the entity belongs to + """ + return pulumi.get(self, "teams_jq") + + @teams_jq.setter + def teams_jq(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "teams_jq", value) + if not MYPY: class ActionWebhookMethodArgsDict(TypedDict): @@ -4480,6 +4502,57 @@ def title(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "title", value) +if not MYPY: + class BlueprintOwnershipArgsDict(TypedDict): + type: pulumi.Input[str] + """ + Ownership type: either 'Inherited' or 'Direct'. + """ + path: NotRequired[pulumi.Input[str]] + """ + Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. + """ +elif False: + BlueprintOwnershipArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class BlueprintOwnershipArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + path: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] type: Ownership type: either 'Inherited' or 'Direct'. + :param pulumi.Input[str] path: Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. + """ + pulumi.set(__self__, "type", type) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + Ownership type: either 'Inherited' or 'Direct'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + if not MYPY: class BlueprintPermissionsEntitiesArgsDict(TypedDict): register: pulumi.Input['BlueprintPermissionsEntitiesRegisterArgsDict'] diff --git a/sdk/python/port_pulumi/blueprint.py b/sdk/python/port_pulumi/blueprint.py index 6ebb64d..4c755de 100644 --- a/sdk/python/port_pulumi/blueprint.py +++ b/sdk/python/port_pulumi/blueprint.py @@ -30,6 +30,7 @@ def __init__(__self__, *, icon: Optional[pulumi.Input[str]] = None, kafka_changelog_destination: Optional[pulumi.Input['BlueprintKafkaChangelogDestinationArgs']] = None, mirror_properties: Optional[pulumi.Input[Mapping[str, pulumi.Input['BlueprintMirrorPropertiesArgs']]]] = None, + ownership: Optional[pulumi.Input['BlueprintOwnershipArgs']] = None, properties: Optional[pulumi.Input['BlueprintPropertiesArgs']] = None, relations: Optional[pulumi.Input[Mapping[str, pulumi.Input['BlueprintRelationsArgs']]]] = None, team_inheritance: Optional[pulumi.Input['BlueprintTeamInheritanceArgs']] = None, @@ -44,6 +45,8 @@ def __init__(__self__, *, :param pulumi.Input[str] icon: The icon of the blueprint :param pulumi.Input['BlueprintKafkaChangelogDestinationArgs'] kafka_changelog_destination: The changelog destination of the blueprint :param pulumi.Input[Mapping[str, pulumi.Input['BlueprintMirrorPropertiesArgs']]] mirror_properties: The mirror properties of the blueprint + :param pulumi.Input['BlueprintOwnershipArgs'] ownership: Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + must be a valid relation identifiers path. :param pulumi.Input['BlueprintPropertiesArgs'] properties: The properties of the blueprint :param pulumi.Input[Mapping[str, pulumi.Input['BlueprintRelationsArgs']]] relations: The relations of the blueprint :param pulumi.Input['BlueprintTeamInheritanceArgs'] team_inheritance: The team inheritance of the blueprint @@ -65,6 +68,8 @@ def __init__(__self__, *, pulumi.set(__self__, "kafka_changelog_destination", kafka_changelog_destination) if mirror_properties is not None: pulumi.set(__self__, "mirror_properties", mirror_properties) + if ownership is not None: + pulumi.set(__self__, "ownership", ownership) if properties is not None: pulumi.set(__self__, "properties", properties) if relations is not None: @@ -179,6 +184,19 @@ def mirror_properties(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[' def mirror_properties(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['BlueprintMirrorPropertiesArgs']]]]): pulumi.set(self, "mirror_properties", value) + @property + @pulumi.getter + def ownership(self) -> Optional[pulumi.Input['BlueprintOwnershipArgs']]: + """ + Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + must be a valid relation identifiers path. + """ + return pulumi.get(self, "ownership") + + @ownership.setter + def ownership(self, value: Optional[pulumi.Input['BlueprintOwnershipArgs']]): + pulumi.set(self, "ownership", value) + @property @pulumi.getter def properties(self) -> Optional[pulumi.Input['BlueprintPropertiesArgs']]: @@ -241,6 +259,7 @@ def __init__(__self__, *, identifier: Optional[pulumi.Input[str]] = None, kafka_changelog_destination: Optional[pulumi.Input['BlueprintKafkaChangelogDestinationArgs']] = None, mirror_properties: Optional[pulumi.Input[Mapping[str, pulumi.Input['BlueprintMirrorPropertiesArgs']]]] = None, + ownership: Optional[pulumi.Input['BlueprintOwnershipArgs']] = None, properties: Optional[pulumi.Input['BlueprintPropertiesArgs']] = None, relations: Optional[pulumi.Input[Mapping[str, pulumi.Input['BlueprintRelationsArgs']]]] = None, team_inheritance: Optional[pulumi.Input['BlueprintTeamInheritanceArgs']] = None, @@ -259,6 +278,8 @@ def __init__(__self__, *, :param pulumi.Input[str] identifier: The identifier of the blueprint :param pulumi.Input['BlueprintKafkaChangelogDestinationArgs'] kafka_changelog_destination: The changelog destination of the blueprint :param pulumi.Input[Mapping[str, pulumi.Input['BlueprintMirrorPropertiesArgs']]] mirror_properties: The mirror properties of the blueprint + :param pulumi.Input['BlueprintOwnershipArgs'] ownership: Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + must be a valid relation identifiers path. :param pulumi.Input['BlueprintPropertiesArgs'] properties: The properties of the blueprint :param pulumi.Input[Mapping[str, pulumi.Input['BlueprintRelationsArgs']]] relations: The relations of the blueprint :param pulumi.Input['BlueprintTeamInheritanceArgs'] team_inheritance: The team inheritance of the blueprint @@ -287,6 +308,8 @@ def __init__(__self__, *, pulumi.set(__self__, "kafka_changelog_destination", kafka_changelog_destination) if mirror_properties is not None: pulumi.set(__self__, "mirror_properties", mirror_properties) + if ownership is not None: + pulumi.set(__self__, "ownership", ownership) if properties is not None: pulumi.set(__self__, "properties", properties) if relations is not None: @@ -419,6 +442,19 @@ def mirror_properties(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[' def mirror_properties(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['BlueprintMirrorPropertiesArgs']]]]): pulumi.set(self, "mirror_properties", value) + @property + @pulumi.getter + def ownership(self) -> Optional[pulumi.Input['BlueprintOwnershipArgs']]: + """ + Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + must be a valid relation identifiers path. + """ + return pulumi.get(self, "ownership") + + @ownership.setter + def ownership(self, value: Optional[pulumi.Input['BlueprintOwnershipArgs']]): + pulumi.set(self, "ownership", value) + @property @pulumi.getter def properties(self) -> Optional[pulumi.Input['BlueprintPropertiesArgs']]: @@ -517,6 +553,7 @@ def __init__(__self__, identifier: Optional[pulumi.Input[str]] = None, kafka_changelog_destination: Optional[pulumi.Input[Union['BlueprintKafkaChangelogDestinationArgs', 'BlueprintKafkaChangelogDestinationArgsDict']]] = None, mirror_properties: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['BlueprintMirrorPropertiesArgs', 'BlueprintMirrorPropertiesArgsDict']]]]] = None, + ownership: Optional[pulumi.Input[Union['BlueprintOwnershipArgs', 'BlueprintOwnershipArgsDict']]] = None, properties: Optional[pulumi.Input[Union['BlueprintPropertiesArgs', 'BlueprintPropertiesArgsDict']]] = None, relations: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['BlueprintRelationsArgs', 'BlueprintRelationsArgsDict']]]]] = None, team_inheritance: Optional[pulumi.Input[Union['BlueprintTeamInheritanceArgs', 'BlueprintTeamInheritanceArgsDict']]] = None, @@ -534,6 +571,8 @@ def __init__(__self__, :param pulumi.Input[str] identifier: The identifier of the blueprint :param pulumi.Input[Union['BlueprintKafkaChangelogDestinationArgs', 'BlueprintKafkaChangelogDestinationArgsDict']] kafka_changelog_destination: The changelog destination of the blueprint :param pulumi.Input[Mapping[str, pulumi.Input[Union['BlueprintMirrorPropertiesArgs', 'BlueprintMirrorPropertiesArgsDict']]]] mirror_properties: The mirror properties of the blueprint + :param pulumi.Input[Union['BlueprintOwnershipArgs', 'BlueprintOwnershipArgsDict']] ownership: Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + must be a valid relation identifiers path. :param pulumi.Input[Union['BlueprintPropertiesArgs', 'BlueprintPropertiesArgsDict']] properties: The properties of the blueprint :param pulumi.Input[Mapping[str, pulumi.Input[Union['BlueprintRelationsArgs', 'BlueprintRelationsArgsDict']]]] relations: The relations of the blueprint :param pulumi.Input[Union['BlueprintTeamInheritanceArgs', 'BlueprintTeamInheritanceArgsDict']] team_inheritance: The team inheritance of the blueprint @@ -571,6 +610,7 @@ def _internal_init(__self__, identifier: Optional[pulumi.Input[str]] = None, kafka_changelog_destination: Optional[pulumi.Input[Union['BlueprintKafkaChangelogDestinationArgs', 'BlueprintKafkaChangelogDestinationArgsDict']]] = None, mirror_properties: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['BlueprintMirrorPropertiesArgs', 'BlueprintMirrorPropertiesArgsDict']]]]] = None, + ownership: Optional[pulumi.Input[Union['BlueprintOwnershipArgs', 'BlueprintOwnershipArgsDict']]] = None, properties: Optional[pulumi.Input[Union['BlueprintPropertiesArgs', 'BlueprintPropertiesArgsDict']]] = None, relations: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['BlueprintRelationsArgs', 'BlueprintRelationsArgsDict']]]]] = None, team_inheritance: Optional[pulumi.Input[Union['BlueprintTeamInheritanceArgs', 'BlueprintTeamInheritanceArgsDict']]] = None, @@ -595,6 +635,7 @@ def _internal_init(__self__, __props__.__dict__["identifier"] = identifier __props__.__dict__["kafka_changelog_destination"] = kafka_changelog_destination __props__.__dict__["mirror_properties"] = mirror_properties + __props__.__dict__["ownership"] = ownership __props__.__dict__["properties"] = properties __props__.__dict__["relations"] = relations __props__.__dict__["team_inheritance"] = team_inheritance @@ -626,6 +667,7 @@ def get(resource_name: str, identifier: Optional[pulumi.Input[str]] = None, kafka_changelog_destination: Optional[pulumi.Input[Union['BlueprintKafkaChangelogDestinationArgs', 'BlueprintKafkaChangelogDestinationArgsDict']]] = None, mirror_properties: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['BlueprintMirrorPropertiesArgs', 'BlueprintMirrorPropertiesArgsDict']]]]] = None, + ownership: Optional[pulumi.Input[Union['BlueprintOwnershipArgs', 'BlueprintOwnershipArgsDict']]] = None, properties: Optional[pulumi.Input[Union['BlueprintPropertiesArgs', 'BlueprintPropertiesArgsDict']]] = None, relations: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['BlueprintRelationsArgs', 'BlueprintRelationsArgsDict']]]]] = None, team_inheritance: Optional[pulumi.Input[Union['BlueprintTeamInheritanceArgs', 'BlueprintTeamInheritanceArgsDict']]] = None, @@ -649,6 +691,8 @@ def get(resource_name: str, :param pulumi.Input[str] identifier: The identifier of the blueprint :param pulumi.Input[Union['BlueprintKafkaChangelogDestinationArgs', 'BlueprintKafkaChangelogDestinationArgsDict']] kafka_changelog_destination: The changelog destination of the blueprint :param pulumi.Input[Mapping[str, pulumi.Input[Union['BlueprintMirrorPropertiesArgs', 'BlueprintMirrorPropertiesArgsDict']]]] mirror_properties: The mirror properties of the blueprint + :param pulumi.Input[Union['BlueprintOwnershipArgs', 'BlueprintOwnershipArgsDict']] ownership: Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + must be a valid relation identifiers path. :param pulumi.Input[Union['BlueprintPropertiesArgs', 'BlueprintPropertiesArgsDict']] properties: The properties of the blueprint :param pulumi.Input[Mapping[str, pulumi.Input[Union['BlueprintRelationsArgs', 'BlueprintRelationsArgsDict']]]] relations: The relations of the blueprint :param pulumi.Input[Union['BlueprintTeamInheritanceArgs', 'BlueprintTeamInheritanceArgsDict']] team_inheritance: The team inheritance of the blueprint @@ -671,6 +715,7 @@ def get(resource_name: str, __props__.__dict__["identifier"] = identifier __props__.__dict__["kafka_changelog_destination"] = kafka_changelog_destination __props__.__dict__["mirror_properties"] = mirror_properties + __props__.__dict__["ownership"] = ownership __props__.__dict__["properties"] = properties __props__.__dict__["relations"] = relations __props__.__dict__["team_inheritance"] = team_inheritance @@ -757,6 +802,15 @@ def mirror_properties(self) -> pulumi.Output[Optional[Mapping[str, 'outputs.Blue """ return pulumi.get(self, "mirror_properties") + @property + @pulumi.getter + def ownership(self) -> pulumi.Output[Optional['outputs.BlueprintOwnership']]: + """ + Optional ownership field for Blueprint. 'type' can be Inherited or Direct. If 'Inherited', then 'path' is required and + must be a valid relation identifiers path. + """ + return pulumi.get(self, "ownership") + @property @pulumi.getter def properties(self) -> pulumi.Output[Optional['outputs.BlueprintProperties']]: diff --git a/sdk/python/port_pulumi/outputs.py b/sdk/python/port_pulumi/outputs.py index 62d9d83..e9b43b6 100644 --- a/sdk/python/port_pulumi/outputs.py +++ b/sdk/python/port_pulumi/outputs.py @@ -63,6 +63,7 @@ 'BlueprintCalculationProperties', 'BlueprintKafkaChangelogDestination', 'BlueprintMirrorProperties', + 'BlueprintOwnership', 'BlueprintPermissionsEntities', 'BlueprintPermissionsEntitiesRegister', 'BlueprintPermissionsEntitiesUnregister', @@ -2614,18 +2615,37 @@ def title(self) -> Optional[str]: @pulumi.output_type class ActionUpsertEntityMethodMapping(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "teamsJq": + suggest = "teams_jq" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ActionUpsertEntityMethodMapping. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ActionUpsertEntityMethodMapping.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ActionUpsertEntityMethodMapping.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, icon: Optional[str] = None, identifier: Optional[str] = None, properties: Optional[str] = None, relations: Optional[str] = None, - teams: Optional[Sequence[str]] = None): + teams: Optional[Sequence[str]] = None, + teams_jq: Optional[str] = None): """ :param str icon: The icon of the entity :param str identifier: Required when selecting type Upsert Entity. The entity identifier for the upsert :param str properties: The properties of the entity (key-value object encoded to a string) :param str relations: The relations of the entity (key-value object encoded to a string) :param Sequence[str] teams: The teams the entity belongs to + :param str teams_jq: Jq that returns the teams the entity belongs to """ if icon is not None: pulumi.set(__self__, "icon", icon) @@ -2637,6 +2657,8 @@ def __init__(__self__, *, pulumi.set(__self__, "relations", relations) if teams is not None: pulumi.set(__self__, "teams", teams) + if teams_jq is not None: + pulumi.set(__self__, "teams_jq", teams_jq) @property @pulumi.getter @@ -2678,6 +2700,14 @@ def teams(self) -> Optional[Sequence[str]]: """ return pulumi.get(self, "teams") + @property + @pulumi.getter(name="teamsJq") + def teams_jq(self) -> Optional[str]: + """ + Jq that returns the teams the entity belongs to + """ + return pulumi.get(self, "teams_jq") + @pulumi.output_type class ActionWebhookMethod(dict): @@ -3204,6 +3234,36 @@ def title(self) -> Optional[str]: return pulumi.get(self, "title") +@pulumi.output_type +class BlueprintOwnership(dict): + def __init__(__self__, *, + type: str, + path: Optional[str] = None): + """ + :param str type: Ownership type: either 'Inherited' or 'Direct'. + :param str path: Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. + """ + pulumi.set(__self__, "type", type) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def type(self) -> str: + """ + Ownership type: either 'Inherited' or 'Direct'. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def path(self) -> Optional[str]: + """ + Path for the Inherited ownership type. Required when type is 'Inherited'. Must be a valid relation identifiers path. + """ + return pulumi.get(self, "path") + + @pulumi.output_type class BlueprintPermissionsEntities(dict): @staticmethod