diff --git a/sdk/dotnet/Cluster.cs b/sdk/dotnet/Cluster.cs index 1119fe993..f9319bfe9 100644 --- a/sdk/dotnet/Cluster.cs +++ b/sdk/dotnet/Cluster.cs @@ -723,6 +723,10 @@ namespace Pulumi.Rancher2 /// DnsPrefix = "<dns-prefix>", /// KubernetesVersion = "1.24.6", /// NetworkPlugin = "<network-plugin>", + /// VirtualNetwork = "<virtual-network>", + /// VirtualNetworkResourceGroup = "<virtual-network-resource-group>", + /// Subnet = "<subnet>", + /// NodeResourceGroup = "<node-resource-group>", /// NodePools = new[] /// { /// new Rancher2.Inputs.ClusterAksConfigV2NodePoolArgs diff --git a/sdk/dotnet/GetRoleTemplate.cs b/sdk/dotnet/GetRoleTemplate.cs index 23a37618a..1227a6454 100644 --- a/sdk/dotnet/GetRoleTemplate.cs +++ b/sdk/dotnet/GetRoleTemplate.cs @@ -69,6 +69,18 @@ public sealed class GetRoleTemplateArgs : global::Pulumi.InvokeArgs [Input("context")] public string? Context { get; set; } + [Input("externalRules")] + private List? _externalRules; + + /// + /// (Computed) External rules used for authorization. (list) + /// + public List ExternalRules + { + get => _externalRules ?? (_externalRules = new List()); + set => _externalRules = value; + } + /// /// The name of the Role Template (string) /// @@ -89,6 +101,18 @@ public sealed class GetRoleTemplateInvokeArgs : global::Pulumi.InvokeArgs [Input("context")] public Input? Context { get; set; } + [Input("externalRules")] + private InputList? _externalRules; + + /// + /// (Computed) External rules used for authorization. (list) + /// + public InputList ExternalRules + { + get => _externalRules ?? (_externalRules = new InputList()); + set => _externalRules = value; + } + /// /// The name of the Role Template (string) /// @@ -131,6 +155,10 @@ public sealed class GetRoleTemplateResult /// public readonly bool External; /// + /// (Computed) External rules used for authorization. (list) + /// + public readonly ImmutableArray ExternalRules; + /// /// (Computed) Hidden role template (bool) /// public readonly bool Hidden; @@ -172,6 +200,8 @@ private GetRoleTemplateResult( bool external, + ImmutableArray externalRules, + bool hidden, string id, @@ -193,6 +223,7 @@ private GetRoleTemplateResult( DefaultRole = defaultRole; Description = description; External = external; + ExternalRules = externalRules; Hidden = hidden; Id = id; Labels = labels; diff --git a/sdk/dotnet/GlobalRole.cs b/sdk/dotnet/GlobalRole.cs index 2028d1016..d81eb3d46 100644 --- a/sdk/dotnet/GlobalRole.cs +++ b/sdk/dotnet/GlobalRole.cs @@ -81,7 +81,7 @@ public partial class GlobalRole : global::Pulumi.CustomResource public Output Description { get; private set; } = null!; /// - /// Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + /// Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) /// [Output("inheritedClusterRoles")] public Output> InheritedClusterRoles { get; private set; } = null!; @@ -178,7 +178,7 @@ public InputMap Annotations private InputList? _inheritedClusterRoles; /// - /// Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + /// Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) /// public InputList InheritedClusterRoles { @@ -258,7 +258,7 @@ public InputMap Annotations private InputList? _inheritedClusterRoles; /// - /// Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + /// Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) /// public InputList InheritedClusterRoles { diff --git a/sdk/dotnet/Inputs/ClusterAksConfigV2Args.cs b/sdk/dotnet/Inputs/ClusterAksConfigV2Args.cs index 33d7ba24b..c08b14322 100644 --- a/sdk/dotnet/Inputs/ClusterAksConfigV2Args.cs +++ b/sdk/dotnet/Inputs/ClusterAksConfigV2Args.cs @@ -156,6 +156,12 @@ public InputList NodePools set => _nodePools = value; } + /// + /// The AKS node resource group name + /// + [Input("nodeResourceGroup")] + public Input? NodeResourceGroup { get; set; } + /// /// Is AKS cluster private? /// diff --git a/sdk/dotnet/Inputs/ClusterAksConfigV2GetArgs.cs b/sdk/dotnet/Inputs/ClusterAksConfigV2GetArgs.cs index 005e89be0..c70cad97a 100644 --- a/sdk/dotnet/Inputs/ClusterAksConfigV2GetArgs.cs +++ b/sdk/dotnet/Inputs/ClusterAksConfigV2GetArgs.cs @@ -156,6 +156,12 @@ public InputList NodePools set => _nodePools = value; } + /// + /// The AKS node resource group name + /// + [Input("nodeResourceGroup")] + public Input? NodeResourceGroup { get; set; } + /// /// Is AKS cluster private? /// diff --git a/sdk/dotnet/Inputs/GetRoleTemplateExternalRule.cs b/sdk/dotnet/Inputs/GetRoleTemplateExternalRule.cs new file mode 100644 index 000000000..68a9f3e18 --- /dev/null +++ b/sdk/dotnet/Inputs/GetRoleTemplateExternalRule.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rancher2.Inputs +{ + + public sealed class GetRoleTemplateExternalRuleArgs : global::Pulumi.InvokeArgs + { + [Input("apiGroups")] + private List? _apiGroups; + + /// + /// Policy rule api groups + /// + public List ApiGroups + { + get => _apiGroups ?? (_apiGroups = new List()); + set => _apiGroups = value; + } + + [Input("nonResourceUrls")] + private List? _nonResourceUrls; + + /// + /// Policy rule non resource urls + /// + public List NonResourceUrls + { + get => _nonResourceUrls ?? (_nonResourceUrls = new List()); + set => _nonResourceUrls = value; + } + + [Input("resourceNames")] + private List? _resourceNames; + + /// + /// Policy rule resource names + /// + public List ResourceNames + { + get => _resourceNames ?? (_resourceNames = new List()); + set => _resourceNames = value; + } + + [Input("resources")] + private List? _resources; + + /// + /// Policy rule resources + /// + public List Resources + { + get => _resources ?? (_resources = new List()); + set => _resources = value; + } + + [Input("verbs")] + private List? _verbs; + + /// + /// Policy rule verbs + /// + public List Verbs + { + get => _verbs ?? (_verbs = new List()); + set => _verbs = value; + } + + public GetRoleTemplateExternalRuleArgs() + { + } + public static new GetRoleTemplateExternalRuleArgs Empty => new GetRoleTemplateExternalRuleArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetRoleTemplateExternalRuleArgs.cs b/sdk/dotnet/Inputs/GetRoleTemplateExternalRuleArgs.cs new file mode 100644 index 000000000..75e221910 --- /dev/null +++ b/sdk/dotnet/Inputs/GetRoleTemplateExternalRuleArgs.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rancher2.Inputs +{ + + public sealed class GetRoleTemplateExternalRuleInputArgs : global::Pulumi.ResourceArgs + { + [Input("apiGroups")] + private InputList? _apiGroups; + + /// + /// Policy rule api groups + /// + public InputList ApiGroups + { + get => _apiGroups ?? (_apiGroups = new InputList()); + set => _apiGroups = value; + } + + [Input("nonResourceUrls")] + private InputList? _nonResourceUrls; + + /// + /// Policy rule non resource urls + /// + public InputList NonResourceUrls + { + get => _nonResourceUrls ?? (_nonResourceUrls = new InputList()); + set => _nonResourceUrls = value; + } + + [Input("resourceNames")] + private InputList? _resourceNames; + + /// + /// Policy rule resource names + /// + public InputList ResourceNames + { + get => _resourceNames ?? (_resourceNames = new InputList()); + set => _resourceNames = value; + } + + [Input("resources")] + private InputList? _resources; + + /// + /// Policy rule resources + /// + public InputList Resources + { + get => _resources ?? (_resources = new InputList()); + set => _resources = value; + } + + [Input("verbs")] + private InputList? _verbs; + + /// + /// Policy rule verbs + /// + public InputList Verbs + { + get => _verbs ?? (_verbs = new InputList()); + set => _verbs = value; + } + + public GetRoleTemplateExternalRuleInputArgs() + { + } + public static new GetRoleTemplateExternalRuleInputArgs Empty => new GetRoleTemplateExternalRuleInputArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RoleTemplateExternalRuleArgs.cs b/sdk/dotnet/Inputs/RoleTemplateExternalRuleArgs.cs new file mode 100644 index 000000000..62b86ea2e --- /dev/null +++ b/sdk/dotnet/Inputs/RoleTemplateExternalRuleArgs.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rancher2.Inputs +{ + + public sealed class RoleTemplateExternalRuleArgs : global::Pulumi.ResourceArgs + { + [Input("apiGroups")] + private InputList? _apiGroups; + + /// + /// Policy rule api groups + /// + public InputList ApiGroups + { + get => _apiGroups ?? (_apiGroups = new InputList()); + set => _apiGroups = value; + } + + [Input("nonResourceUrls")] + private InputList? _nonResourceUrls; + + /// + /// Policy rule non resource urls + /// + public InputList NonResourceUrls + { + get => _nonResourceUrls ?? (_nonResourceUrls = new InputList()); + set => _nonResourceUrls = value; + } + + [Input("resourceNames")] + private InputList? _resourceNames; + + /// + /// Policy rule resource names + /// + public InputList ResourceNames + { + get => _resourceNames ?? (_resourceNames = new InputList()); + set => _resourceNames = value; + } + + [Input("resources")] + private InputList? _resources; + + /// + /// Policy rule resources + /// + public InputList Resources + { + get => _resources ?? (_resources = new InputList()); + set => _resources = value; + } + + [Input("verbs")] + private InputList? _verbs; + + /// + /// Policy rule verbs + /// + public InputList Verbs + { + get => _verbs ?? (_verbs = new InputList()); + set => _verbs = value; + } + + public RoleTemplateExternalRuleArgs() + { + } + public static new RoleTemplateExternalRuleArgs Empty => new RoleTemplateExternalRuleArgs(); + } +} diff --git a/sdk/dotnet/Inputs/RoleTemplateExternalRuleGetArgs.cs b/sdk/dotnet/Inputs/RoleTemplateExternalRuleGetArgs.cs new file mode 100644 index 000000000..d41ad5f20 --- /dev/null +++ b/sdk/dotnet/Inputs/RoleTemplateExternalRuleGetArgs.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rancher2.Inputs +{ + + public sealed class RoleTemplateExternalRuleGetArgs : global::Pulumi.ResourceArgs + { + [Input("apiGroups")] + private InputList? _apiGroups; + + /// + /// Policy rule api groups + /// + public InputList ApiGroups + { + get => _apiGroups ?? (_apiGroups = new InputList()); + set => _apiGroups = value; + } + + [Input("nonResourceUrls")] + private InputList? _nonResourceUrls; + + /// + /// Policy rule non resource urls + /// + public InputList NonResourceUrls + { + get => _nonResourceUrls ?? (_nonResourceUrls = new InputList()); + set => _nonResourceUrls = value; + } + + [Input("resourceNames")] + private InputList? _resourceNames; + + /// + /// Policy rule resource names + /// + public InputList ResourceNames + { + get => _resourceNames ?? (_resourceNames = new InputList()); + set => _resourceNames = value; + } + + [Input("resources")] + private InputList? _resources; + + /// + /// Policy rule resources + /// + public InputList Resources + { + get => _resources ?? (_resources = new InputList()); + set => _resources = value; + } + + [Input("verbs")] + private InputList? _verbs; + + /// + /// Policy rule verbs + /// + public InputList Verbs + { + get => _verbs ?? (_verbs = new InputList()); + set => _verbs = value; + } + + public RoleTemplateExternalRuleGetArgs() + { + } + public static new RoleTemplateExternalRuleGetArgs Empty => new RoleTemplateExternalRuleGetArgs(); + } +} diff --git a/sdk/dotnet/Outputs/ClusterAksConfigV2.cs b/sdk/dotnet/Outputs/ClusterAksConfigV2.cs index fc637079e..c8280b066 100644 --- a/sdk/dotnet/Outputs/ClusterAksConfigV2.cs +++ b/sdk/dotnet/Outputs/ClusterAksConfigV2.cs @@ -102,6 +102,10 @@ public sealed class ClusterAksConfigV2 /// public readonly ImmutableArray NodePools; /// + /// The AKS node resource group name + /// + public readonly string? NodeResourceGroup; + /// /// Is AKS cluster private? /// public readonly bool? PrivateCluster; @@ -176,6 +180,8 @@ private ClusterAksConfigV2( ImmutableArray nodePools, + string? nodeResourceGroup, + bool? privateCluster, string resourceGroup, @@ -212,6 +218,7 @@ private ClusterAksConfigV2( NetworkPolicy = networkPolicy; NetworkServiceCidr = networkServiceCidr; NodePools = nodePools; + NodeResourceGroup = nodeResourceGroup; PrivateCluster = privateCluster; ResourceGroup = resourceGroup; ResourceLocation = resourceLocation; diff --git a/sdk/dotnet/Outputs/GetClusterAksConfigV2Result.cs b/sdk/dotnet/Outputs/GetClusterAksConfigV2Result.cs index 579f4e9fc..5fa4fcad4 100644 --- a/sdk/dotnet/Outputs/GetClusterAksConfigV2Result.cs +++ b/sdk/dotnet/Outputs/GetClusterAksConfigV2Result.cs @@ -102,6 +102,10 @@ public sealed class GetClusterAksConfigV2Result /// public readonly ImmutableArray NodePools; /// + /// The AKS node resource group name + /// + public readonly string NodeResourceGroup; + /// /// Is AKS cluster private? /// public readonly bool PrivateCluster; @@ -176,6 +180,8 @@ private GetClusterAksConfigV2Result( ImmutableArray nodePools, + string nodeResourceGroup, + bool privateCluster, string resourceGroup, @@ -212,6 +218,7 @@ private GetClusterAksConfigV2Result( NetworkPolicy = networkPolicy; NetworkServiceCidr = networkServiceCidr; NodePools = nodePools; + NodeResourceGroup = nodeResourceGroup; PrivateCluster = privateCluster; ResourceGroup = resourceGroup; ResourceLocation = resourceLocation; diff --git a/sdk/dotnet/Outputs/GetRoleTemplateExternalRuleResult.cs b/sdk/dotnet/Outputs/GetRoleTemplateExternalRuleResult.cs new file mode 100644 index 000000000..8dd8803fc --- /dev/null +++ b/sdk/dotnet/Outputs/GetRoleTemplateExternalRuleResult.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rancher2.Outputs +{ + + [OutputType] + public sealed class GetRoleTemplateExternalRuleResult + { + /// + /// Policy rule api groups + /// + public readonly ImmutableArray ApiGroups; + /// + /// Policy rule non resource urls + /// + public readonly ImmutableArray NonResourceUrls; + /// + /// Policy rule resource names + /// + public readonly ImmutableArray ResourceNames; + /// + /// Policy rule resources + /// + public readonly ImmutableArray Resources; + /// + /// Policy rule verbs + /// + public readonly ImmutableArray Verbs; + + [OutputConstructor] + private GetRoleTemplateExternalRuleResult( + ImmutableArray apiGroups, + + ImmutableArray nonResourceUrls, + + ImmutableArray resourceNames, + + ImmutableArray resources, + + ImmutableArray verbs) + { + ApiGroups = apiGroups; + NonResourceUrls = nonResourceUrls; + ResourceNames = resourceNames; + Resources = resources; + Verbs = verbs; + } + } +} diff --git a/sdk/dotnet/Outputs/RoleTemplateExternalRule.cs b/sdk/dotnet/Outputs/RoleTemplateExternalRule.cs new file mode 100644 index 000000000..ca6cacc3d --- /dev/null +++ b/sdk/dotnet/Outputs/RoleTemplateExternalRule.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Rancher2.Outputs +{ + + [OutputType] + public sealed class RoleTemplateExternalRule + { + /// + /// Policy rule api groups + /// + public readonly ImmutableArray ApiGroups; + /// + /// Policy rule non resource urls + /// + public readonly ImmutableArray NonResourceUrls; + /// + /// Policy rule resource names + /// + public readonly ImmutableArray ResourceNames; + /// + /// Policy rule resources + /// + public readonly ImmutableArray Resources; + /// + /// Policy rule verbs + /// + public readonly ImmutableArray Verbs; + + [OutputConstructor] + private RoleTemplateExternalRule( + ImmutableArray apiGroups, + + ImmutableArray nonResourceUrls, + + ImmutableArray resourceNames, + + ImmutableArray resources, + + ImmutableArray verbs) + { + ApiGroups = apiGroups; + NonResourceUrls = nonResourceUrls; + ResourceNames = resourceNames; + Resources = resources; + Verbs = verbs; + } + } +} diff --git a/sdk/dotnet/RoleTemplate.cs b/sdk/dotnet/RoleTemplate.cs index dabb6f89a..098b25a91 100644 --- a/sdk/dotnet/RoleTemplate.cs +++ b/sdk/dotnet/RoleTemplate.cs @@ -145,6 +145,12 @@ public partial class RoleTemplate : global::Pulumi.CustomResource [Output("external")] public Output External { get; private set; } = null!; + /// + /// External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + /// + [Output("externalRules")] + public Output> ExternalRules { get; private set; } = null!; + /// /// Hidden role template. Default `false` (bool) /// @@ -269,6 +275,18 @@ public InputMap Annotations [Input("external")] public Input? External { get; set; } + [Input("externalRules")] + private InputList? _externalRules; + + /// + /// External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + /// + public InputList ExternalRules + { + get => _externalRules ?? (_externalRules = new InputList()); + set => _externalRules = value; + } + /// /// Hidden role template. Default `false` (bool) /// @@ -379,6 +397,18 @@ public InputMap Annotations [Input("external")] public Input? External { get; set; } + [Input("externalRules")] + private InputList? _externalRules; + + /// + /// External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + /// + public InputList ExternalRules + { + get => _externalRules ?? (_externalRules = new InputList()); + set => _externalRules = value; + } + /// /// Hidden role template. Default `false` (bool) /// diff --git a/sdk/go/rancher2/cluster.go b/sdk/go/rancher2/cluster.go index 05891be04..42de3d67a 100644 --- a/sdk/go/rancher2/cluster.go +++ b/sdk/go/rancher2/cluster.go @@ -767,12 +767,16 @@ import ( // Name: pulumi.String("foo"), // Description: pulumi.String("Terraform AKS cluster"), // AksConfigV2: &rancher2.ClusterAksConfigV2Args{ -// CloudCredentialId: foo_aks.ID(), -// ResourceGroup: pulumi.String(""), -// ResourceLocation: pulumi.String(""), -// DnsPrefix: pulumi.String(""), -// KubernetesVersion: pulumi.String("1.24.6"), -// NetworkPlugin: pulumi.String(""), +// CloudCredentialId: foo_aks.ID(), +// ResourceGroup: pulumi.String(""), +// ResourceLocation: pulumi.String(""), +// DnsPrefix: pulumi.String(""), +// KubernetesVersion: pulumi.String("1.24.6"), +// NetworkPlugin: pulumi.String(""), +// VirtualNetwork: pulumi.String(""), +// VirtualNetworkResourceGroup: pulumi.String(""), +// Subnet: pulumi.String(""), +// NodeResourceGroup: pulumi.String(""), // NodePools: rancher2.ClusterAksConfigV2NodePoolArray{ // &rancher2.ClusterAksConfigV2NodePoolArgs{ // AvailabilityZones: pulumi.StringArray{ diff --git a/sdk/go/rancher2/getRoleTemplate.go b/sdk/go/rancher2/getRoleTemplate.go index 373580616..abf9e190d 100644 --- a/sdk/go/rancher2/getRoleTemplate.go +++ b/sdk/go/rancher2/getRoleTemplate.go @@ -52,6 +52,8 @@ func LookupRoleTemplate(ctx *pulumi.Context, args *LookupRoleTemplateArgs, opts type LookupRoleTemplateArgs struct { // Role template context. `cluster` and `project` values are supported (string) Context *string `pulumi:"context"` + // (Computed) External rules used for authorization. (list) + ExternalRules []GetRoleTemplateExternalRule `pulumi:"externalRules"` // The name of the Role Template (string) Name string `pulumi:"name"` } @@ -71,6 +73,8 @@ type LookupRoleTemplateResult struct { Description string `pulumi:"description"` // (Computed) External role template (bool) External bool `pulumi:"external"` + // (Computed) External rules used for authorization. (list) + ExternalRules []GetRoleTemplateExternalRule `pulumi:"externalRules"` // (Computed) Hidden role template (bool) Hidden bool `pulumi:"hidden"` // The provider-assigned unique ID for this managed resource. @@ -103,6 +107,8 @@ func LookupRoleTemplateOutput(ctx *pulumi.Context, args LookupRoleTemplateOutput type LookupRoleTemplateOutputArgs struct { // Role template context. `cluster` and `project` values are supported (string) Context pulumi.StringPtrInput `pulumi:"context"` + // (Computed) External rules used for authorization. (list) + ExternalRules GetRoleTemplateExternalRuleArrayInput `pulumi:"externalRules"` // The name of the Role Template (string) Name pulumi.StringInput `pulumi:"name"` } @@ -160,6 +166,11 @@ func (o LookupRoleTemplateResultOutput) External() pulumi.BoolOutput { return o.ApplyT(func(v LookupRoleTemplateResult) bool { return v.External }).(pulumi.BoolOutput) } +// (Computed) External rules used for authorization. (list) +func (o LookupRoleTemplateResultOutput) ExternalRules() GetRoleTemplateExternalRuleArrayOutput { + return o.ApplyT(func(v LookupRoleTemplateResult) []GetRoleTemplateExternalRule { return v.ExternalRules }).(GetRoleTemplateExternalRuleArrayOutput) +} + // (Computed) Hidden role template (bool) func (o LookupRoleTemplateResultOutput) Hidden() pulumi.BoolOutput { return o.ApplyT(func(v LookupRoleTemplateResult) bool { return v.Hidden }).(pulumi.BoolOutput) diff --git a/sdk/go/rancher2/globalRole.go b/sdk/go/rancher2/globalRole.go index 4735d4976..c662558ba 100644 --- a/sdk/go/rancher2/globalRole.go +++ b/sdk/go/rancher2/globalRole.go @@ -71,7 +71,7 @@ type GlobalRole struct { Builtin pulumi.BoolOutput `pulumi:"builtin"` // Global role description (string) Description pulumi.StringOutput `pulumi:"description"` - // Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + // Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) InheritedClusterRoles pulumi.StringArrayOutput `pulumi:"inheritedClusterRoles"` // Labels for global role object (map) Labels pulumi.MapOutput `pulumi:"labels"` @@ -119,7 +119,7 @@ type globalRoleState struct { Builtin *bool `pulumi:"builtin"` // Global role description (string) Description *string `pulumi:"description"` - // Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + // Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) InheritedClusterRoles []string `pulumi:"inheritedClusterRoles"` // Labels for global role object (map) Labels map[string]interface{} `pulumi:"labels"` @@ -138,7 +138,7 @@ type GlobalRoleState struct { Builtin pulumi.BoolPtrInput // Global role description (string) Description pulumi.StringPtrInput - // Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + // Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) InheritedClusterRoles pulumi.StringArrayInput // Labels for global role object (map) Labels pulumi.MapInput @@ -159,7 +159,7 @@ type globalRoleArgs struct { Annotations map[string]interface{} `pulumi:"annotations"` // Global role description (string) Description *string `pulumi:"description"` - // Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + // Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) InheritedClusterRoles []string `pulumi:"inheritedClusterRoles"` // Labels for global role object (map) Labels map[string]interface{} `pulumi:"labels"` @@ -177,7 +177,7 @@ type GlobalRoleArgs struct { Annotations pulumi.MapInput // Global role description (string) Description pulumi.StringPtrInput - // Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + // Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) InheritedClusterRoles pulumi.StringArrayInput // Labels for global role object (map) Labels pulumi.MapInput @@ -291,7 +291,7 @@ func (o GlobalRoleOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *GlobalRole) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } -// Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster +// Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) func (o GlobalRoleOutput) InheritedClusterRoles() pulumi.StringArrayOutput { return o.ApplyT(func(v *GlobalRole) pulumi.StringArrayOutput { return v.InheritedClusterRoles }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/rancher2/pulumiTypes.go b/sdk/go/rancher2/pulumiTypes.go index ad236a503..5ebab5d2b 100644 --- a/sdk/go/rancher2/pulumiTypes.go +++ b/sdk/go/rancher2/pulumiTypes.go @@ -2603,6 +2603,8 @@ type ClusterAksConfigV2 struct { NetworkServiceCidr *string `pulumi:"networkServiceCidr"` // The AKS node pools to use. Required if `import=false` NodePools []ClusterAksConfigV2NodePool `pulumi:"nodePools"` + // The AKS node resource group name + NodeResourceGroup *string `pulumi:"nodeResourceGroup"` // Is AKS cluster private? PrivateCluster *bool `pulumi:"privateCluster"` // The AKS resource group @@ -2675,6 +2677,8 @@ type ClusterAksConfigV2Args struct { NetworkServiceCidr pulumi.StringPtrInput `pulumi:"networkServiceCidr"` // The AKS node pools to use. Required if `import=false` NodePools ClusterAksConfigV2NodePoolArrayInput `pulumi:"nodePools"` + // The AKS node resource group name + NodeResourceGroup pulumi.StringPtrInput `pulumi:"nodeResourceGroup"` // Is AKS cluster private? PrivateCluster pulumi.BoolPtrInput `pulumi:"privateCluster"` // The AKS resource group @@ -2878,6 +2882,11 @@ func (o ClusterAksConfigV2Output) NodePools() ClusterAksConfigV2NodePoolArrayOut return o.ApplyT(func(v ClusterAksConfigV2) []ClusterAksConfigV2NodePool { return v.NodePools }).(ClusterAksConfigV2NodePoolArrayOutput) } +// The AKS node resource group name +func (o ClusterAksConfigV2Output) NodeResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterAksConfigV2) *string { return v.NodeResourceGroup }).(pulumi.StringPtrOutput) +} + // Is AKS cluster private? func (o ClusterAksConfigV2Output) PrivateCluster() pulumi.BoolPtrOutput { return o.ApplyT(func(v ClusterAksConfigV2) *bool { return v.PrivateCluster }).(pulumi.BoolPtrOutput) @@ -3157,6 +3166,16 @@ func (o ClusterAksConfigV2PtrOutput) NodePools() ClusterAksConfigV2NodePoolArray }).(ClusterAksConfigV2NodePoolArrayOutput) } +// The AKS node resource group name +func (o ClusterAksConfigV2PtrOutput) NodeResourceGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterAksConfigV2) *string { + if v == nil { + return nil + } + return v.NodeResourceGroup + }).(pulumi.StringPtrOutput) +} + // Is AKS cluster private? func (o ClusterAksConfigV2PtrOutput) PrivateCluster() pulumi.BoolPtrOutput { return o.ApplyT(func(v *ClusterAksConfigV2) *bool { @@ -63179,6 +63198,139 @@ func (o RegistryRegistryArrayOutput) Index(i pulumi.IntInput) RegistryRegistryOu }).(RegistryRegistryOutput) } +type RoleTemplateExternalRule struct { + // Policy rule api groups + ApiGroups []string `pulumi:"apiGroups"` + // Policy rule non resource urls + NonResourceUrls []string `pulumi:"nonResourceUrls"` + // Policy rule resource names + ResourceNames []string `pulumi:"resourceNames"` + // Policy rule resources + Resources []string `pulumi:"resources"` + // Policy rule verbs + Verbs []string `pulumi:"verbs"` +} + +// RoleTemplateExternalRuleInput is an input type that accepts RoleTemplateExternalRuleArgs and RoleTemplateExternalRuleOutput values. +// You can construct a concrete instance of `RoleTemplateExternalRuleInput` via: +// +// RoleTemplateExternalRuleArgs{...} +type RoleTemplateExternalRuleInput interface { + pulumi.Input + + ToRoleTemplateExternalRuleOutput() RoleTemplateExternalRuleOutput + ToRoleTemplateExternalRuleOutputWithContext(context.Context) RoleTemplateExternalRuleOutput +} + +type RoleTemplateExternalRuleArgs struct { + // Policy rule api groups + ApiGroups pulumi.StringArrayInput `pulumi:"apiGroups"` + // Policy rule non resource urls + NonResourceUrls pulumi.StringArrayInput `pulumi:"nonResourceUrls"` + // Policy rule resource names + ResourceNames pulumi.StringArrayInput `pulumi:"resourceNames"` + // Policy rule resources + Resources pulumi.StringArrayInput `pulumi:"resources"` + // Policy rule verbs + Verbs pulumi.StringArrayInput `pulumi:"verbs"` +} + +func (RoleTemplateExternalRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RoleTemplateExternalRule)(nil)).Elem() +} + +func (i RoleTemplateExternalRuleArgs) ToRoleTemplateExternalRuleOutput() RoleTemplateExternalRuleOutput { + return i.ToRoleTemplateExternalRuleOutputWithContext(context.Background()) +} + +func (i RoleTemplateExternalRuleArgs) ToRoleTemplateExternalRuleOutputWithContext(ctx context.Context) RoleTemplateExternalRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleTemplateExternalRuleOutput) +} + +// RoleTemplateExternalRuleArrayInput is an input type that accepts RoleTemplateExternalRuleArray and RoleTemplateExternalRuleArrayOutput values. +// You can construct a concrete instance of `RoleTemplateExternalRuleArrayInput` via: +// +// RoleTemplateExternalRuleArray{ RoleTemplateExternalRuleArgs{...} } +type RoleTemplateExternalRuleArrayInput interface { + pulumi.Input + + ToRoleTemplateExternalRuleArrayOutput() RoleTemplateExternalRuleArrayOutput + ToRoleTemplateExternalRuleArrayOutputWithContext(context.Context) RoleTemplateExternalRuleArrayOutput +} + +type RoleTemplateExternalRuleArray []RoleTemplateExternalRuleInput + +func (RoleTemplateExternalRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RoleTemplateExternalRule)(nil)).Elem() +} + +func (i RoleTemplateExternalRuleArray) ToRoleTemplateExternalRuleArrayOutput() RoleTemplateExternalRuleArrayOutput { + return i.ToRoleTemplateExternalRuleArrayOutputWithContext(context.Background()) +} + +func (i RoleTemplateExternalRuleArray) ToRoleTemplateExternalRuleArrayOutputWithContext(ctx context.Context) RoleTemplateExternalRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoleTemplateExternalRuleArrayOutput) +} + +type RoleTemplateExternalRuleOutput struct{ *pulumi.OutputState } + +func (RoleTemplateExternalRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoleTemplateExternalRule)(nil)).Elem() +} + +func (o RoleTemplateExternalRuleOutput) ToRoleTemplateExternalRuleOutput() RoleTemplateExternalRuleOutput { + return o +} + +func (o RoleTemplateExternalRuleOutput) ToRoleTemplateExternalRuleOutputWithContext(ctx context.Context) RoleTemplateExternalRuleOutput { + return o +} + +// Policy rule api groups +func (o RoleTemplateExternalRuleOutput) ApiGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v RoleTemplateExternalRule) []string { return v.ApiGroups }).(pulumi.StringArrayOutput) +} + +// Policy rule non resource urls +func (o RoleTemplateExternalRuleOutput) NonResourceUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v RoleTemplateExternalRule) []string { return v.NonResourceUrls }).(pulumi.StringArrayOutput) +} + +// Policy rule resource names +func (o RoleTemplateExternalRuleOutput) ResourceNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v RoleTemplateExternalRule) []string { return v.ResourceNames }).(pulumi.StringArrayOutput) +} + +// Policy rule resources +func (o RoleTemplateExternalRuleOutput) Resources() pulumi.StringArrayOutput { + return o.ApplyT(func(v RoleTemplateExternalRule) []string { return v.Resources }).(pulumi.StringArrayOutput) +} + +// Policy rule verbs +func (o RoleTemplateExternalRuleOutput) Verbs() pulumi.StringArrayOutput { + return o.ApplyT(func(v RoleTemplateExternalRule) []string { return v.Verbs }).(pulumi.StringArrayOutput) +} + +type RoleTemplateExternalRuleArrayOutput struct{ *pulumi.OutputState } + +func (RoleTemplateExternalRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RoleTemplateExternalRule)(nil)).Elem() +} + +func (o RoleTemplateExternalRuleArrayOutput) ToRoleTemplateExternalRuleArrayOutput() RoleTemplateExternalRuleArrayOutput { + return o +} + +func (o RoleTemplateExternalRuleArrayOutput) ToRoleTemplateExternalRuleArrayOutputWithContext(ctx context.Context) RoleTemplateExternalRuleArrayOutput { + return o +} + +func (o RoleTemplateExternalRuleArrayOutput) Index(i pulumi.IntInput) RoleTemplateExternalRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RoleTemplateExternalRule { + return vs[0].([]RoleTemplateExternalRule)[vs[1].(int)] + }).(RoleTemplateExternalRuleOutput) +} + type RoleTemplateRule struct { // Policy rule api groups ApiGroups []string `pulumi:"apiGroups"` @@ -63757,6 +63909,8 @@ type GetClusterAksConfigV2 struct { NetworkServiceCidr string `pulumi:"networkServiceCidr"` // The AKS node pools to use. Required if `import=false` NodePools []GetClusterAksConfigV2NodePool `pulumi:"nodePools"` + // The AKS node resource group name + NodeResourceGroup string `pulumi:"nodeResourceGroup"` // Is AKS cluster private? PrivateCluster bool `pulumi:"privateCluster"` // The AKS resource group @@ -63829,6 +63983,8 @@ type GetClusterAksConfigV2Args struct { NetworkServiceCidr pulumi.StringInput `pulumi:"networkServiceCidr"` // The AKS node pools to use. Required if `import=false` NodePools GetClusterAksConfigV2NodePoolArrayInput `pulumi:"nodePools"` + // The AKS node resource group name + NodeResourceGroup pulumi.StringInput `pulumi:"nodeResourceGroup"` // Is AKS cluster private? PrivateCluster pulumi.BoolInput `pulumi:"privateCluster"` // The AKS resource group @@ -63981,6 +64137,11 @@ func (o GetClusterAksConfigV2Output) NodePools() GetClusterAksConfigV2NodePoolAr return o.ApplyT(func(v GetClusterAksConfigV2) []GetClusterAksConfigV2NodePool { return v.NodePools }).(GetClusterAksConfigV2NodePoolArrayOutput) } +// The AKS node resource group name +func (o GetClusterAksConfigV2Output) NodeResourceGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterAksConfigV2) string { return v.NodeResourceGroup }).(pulumi.StringOutput) +} + // Is AKS cluster private? func (o GetClusterAksConfigV2Output) PrivateCluster() pulumi.BoolOutput { return o.ApplyT(func(v GetClusterAksConfigV2) bool { return v.PrivateCluster }).(pulumi.BoolOutput) @@ -96873,76 +97034,6 @@ func (o GetNotifierPagerdutyConfigOutput) ServiceKey() pulumi.StringOutput { return o.ApplyT(func(v GetNotifierPagerdutyConfig) string { return v.ServiceKey }).(pulumi.StringOutput) } -type GetNotifierSlackConfig struct { - // Slack default channel - DefaultRecipient string `pulumi:"defaultRecipient"` - // Slack proxy URL - ProxyUrl *string `pulumi:"proxyUrl"` - // Slack URL - Url string `pulumi:"url"` -} - -// GetNotifierSlackConfigInput is an input type that accepts GetNotifierSlackConfigArgs and GetNotifierSlackConfigOutput values. -// You can construct a concrete instance of `GetNotifierSlackConfigInput` via: -// -// GetNotifierSlackConfigArgs{...} -type GetNotifierSlackConfigInput interface { - pulumi.Input - - ToGetNotifierSlackConfigOutput() GetNotifierSlackConfigOutput - ToGetNotifierSlackConfigOutputWithContext(context.Context) GetNotifierSlackConfigOutput -} - -type GetNotifierSlackConfigArgs struct { - // Slack default channel - DefaultRecipient pulumi.StringInput `pulumi:"defaultRecipient"` - // Slack proxy URL - ProxyUrl pulumi.StringPtrInput `pulumi:"proxyUrl"` - // Slack URL - Url pulumi.StringInput `pulumi:"url"` -} - -func (GetNotifierSlackConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNotifierSlackConfig)(nil)).Elem() -} - -func (i GetNotifierSlackConfigArgs) ToGetNotifierSlackConfigOutput() GetNotifierSlackConfigOutput { - return i.ToGetNotifierSlackConfigOutputWithContext(context.Background()) -} - -func (i GetNotifierSlackConfigArgs) ToGetNotifierSlackConfigOutputWithContext(ctx context.Context) GetNotifierSlackConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNotifierSlackConfigOutput) -} - -type GetNotifierSlackConfigOutput struct{ *pulumi.OutputState } - -func (GetNotifierSlackConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNotifierSlackConfig)(nil)).Elem() -} - -func (o GetNotifierSlackConfigOutput) ToGetNotifierSlackConfigOutput() GetNotifierSlackConfigOutput { - return o -} - -func (o GetNotifierSlackConfigOutput) ToGetNotifierSlackConfigOutputWithContext(ctx context.Context) GetNotifierSlackConfigOutput { - return o -} - -// Slack default channel -func (o GetNotifierSlackConfigOutput) DefaultRecipient() pulumi.StringOutput { - return o.ApplyT(func(v GetNotifierSlackConfig) string { return v.DefaultRecipient }).(pulumi.StringOutput) -} - -// Slack proxy URL -func (o GetNotifierSlackConfigOutput) ProxyUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetNotifierSlackConfig) *string { return v.ProxyUrl }).(pulumi.StringPtrOutput) -} - -// Slack URL -func (o GetNotifierSlackConfigOutput) Url() pulumi.StringOutput { - return o.ApplyT(func(v GetNotifierSlackConfig) string { return v.Url }).(pulumi.StringOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*CloudCredentialAmazonec2CredentialConfigInput)(nil)).Elem(), CloudCredentialAmazonec2CredentialConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudCredentialAmazonec2CredentialConfigPtrInput)(nil)).Elem(), CloudCredentialAmazonec2CredentialConfigArgs{}) @@ -97511,6 +97602,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ProjectResourceQuotaProjectLimitPtrInput)(nil)).Elem(), ProjectResourceQuotaProjectLimitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RegistryRegistryInput)(nil)).Elem(), RegistryRegistryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RegistryRegistryArrayInput)(nil)).Elem(), RegistryRegistryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RoleTemplateExternalRuleInput)(nil)).Elem(), RoleTemplateExternalRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RoleTemplateExternalRuleArrayInput)(nil)).Elem(), RoleTemplateExternalRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*RoleTemplateRuleInput)(nil)).Elem(), RoleTemplateRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RoleTemplateRuleArrayInput)(nil)).Elem(), RoleTemplateRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterAksConfigInput)(nil)).Elem(), GetClusterAksConfigArgs{}) @@ -97861,7 +97954,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetNotifierMsteamsConfigInput)(nil)).Elem(), GetNotifierMsteamsConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNotifierMsteamsConfigPtrInput)(nil)).Elem(), GetNotifierMsteamsConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNotifierPagerdutyConfigInput)(nil)).Elem(), GetNotifierPagerdutyConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*GetNotifierSlackConfigInput)(nil)).Elem(), GetNotifierSlackConfigArgs{}) pulumi.RegisterOutputType(CloudCredentialAmazonec2CredentialConfigOutput{}) pulumi.RegisterOutputType(CloudCredentialAmazonec2CredentialConfigPtrOutput{}) pulumi.RegisterOutputType(CloudCredentialAzureCredentialConfigOutput{}) @@ -98429,6 +98521,8 @@ func init() { pulumi.RegisterOutputType(ProjectResourceQuotaProjectLimitPtrOutput{}) pulumi.RegisterOutputType(RegistryRegistryOutput{}) pulumi.RegisterOutputType(RegistryRegistryArrayOutput{}) + pulumi.RegisterOutputType(RoleTemplateExternalRuleOutput{}) + pulumi.RegisterOutputType(RoleTemplateExternalRuleArrayOutput{}) pulumi.RegisterOutputType(RoleTemplateRuleOutput{}) pulumi.RegisterOutputType(RoleTemplateRuleArrayOutput{}) pulumi.RegisterOutputType(GetClusterAksConfigOutput{}) @@ -98779,5 +98873,4 @@ func init() { pulumi.RegisterOutputType(GetNotifierMsteamsConfigOutput{}) pulumi.RegisterOutputType(GetNotifierMsteamsConfigPtrOutput{}) pulumi.RegisterOutputType(GetNotifierPagerdutyConfigOutput{}) - pulumi.RegisterOutputType(GetNotifierSlackConfigOutput{}) } diff --git a/sdk/go/rancher2/pulumiTypes1.go b/sdk/go/rancher2/pulumiTypes1.go index e910c163a..2a0e6bd80 100644 --- a/sdk/go/rancher2/pulumiTypes1.go +++ b/sdk/go/rancher2/pulumiTypes1.go @@ -13,6 +13,76 @@ import ( var _ = internal.GetEnvOrDefault +type GetNotifierSlackConfig struct { + // Slack default channel + DefaultRecipient string `pulumi:"defaultRecipient"` + // Slack proxy URL + ProxyUrl *string `pulumi:"proxyUrl"` + // Slack URL + Url string `pulumi:"url"` +} + +// GetNotifierSlackConfigInput is an input type that accepts GetNotifierSlackConfigArgs and GetNotifierSlackConfigOutput values. +// You can construct a concrete instance of `GetNotifierSlackConfigInput` via: +// +// GetNotifierSlackConfigArgs{...} +type GetNotifierSlackConfigInput interface { + pulumi.Input + + ToGetNotifierSlackConfigOutput() GetNotifierSlackConfigOutput + ToGetNotifierSlackConfigOutputWithContext(context.Context) GetNotifierSlackConfigOutput +} + +type GetNotifierSlackConfigArgs struct { + // Slack default channel + DefaultRecipient pulumi.StringInput `pulumi:"defaultRecipient"` + // Slack proxy URL + ProxyUrl pulumi.StringPtrInput `pulumi:"proxyUrl"` + // Slack URL + Url pulumi.StringInput `pulumi:"url"` +} + +func (GetNotifierSlackConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNotifierSlackConfig)(nil)).Elem() +} + +func (i GetNotifierSlackConfigArgs) ToGetNotifierSlackConfigOutput() GetNotifierSlackConfigOutput { + return i.ToGetNotifierSlackConfigOutputWithContext(context.Background()) +} + +func (i GetNotifierSlackConfigArgs) ToGetNotifierSlackConfigOutputWithContext(ctx context.Context) GetNotifierSlackConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNotifierSlackConfigOutput) +} + +type GetNotifierSlackConfigOutput struct{ *pulumi.OutputState } + +func (GetNotifierSlackConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNotifierSlackConfig)(nil)).Elem() +} + +func (o GetNotifierSlackConfigOutput) ToGetNotifierSlackConfigOutput() GetNotifierSlackConfigOutput { + return o +} + +func (o GetNotifierSlackConfigOutput) ToGetNotifierSlackConfigOutputWithContext(ctx context.Context) GetNotifierSlackConfigOutput { + return o +} + +// Slack default channel +func (o GetNotifierSlackConfigOutput) DefaultRecipient() pulumi.StringOutput { + return o.ApplyT(func(v GetNotifierSlackConfig) string { return v.DefaultRecipient }).(pulumi.StringOutput) +} + +// Slack proxy URL +func (o GetNotifierSlackConfigOutput) ProxyUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetNotifierSlackConfig) *string { return v.ProxyUrl }).(pulumi.StringPtrOutput) +} + +// Slack URL +func (o GetNotifierSlackConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v GetNotifierSlackConfig) string { return v.Url }).(pulumi.StringOutput) +} + type GetNotifierSmtpConfig struct { // SMTP default recipient address DefaultRecipient string `pulumi:"defaultRecipient"` @@ -3247,6 +3317,139 @@ func (o GetRegistryRegistryArrayOutput) Index(i pulumi.IntInput) GetRegistryRegi }).(GetRegistryRegistryOutput) } +type GetRoleTemplateExternalRule struct { + // Policy rule api groups + ApiGroups []string `pulumi:"apiGroups"` + // Policy rule non resource urls + NonResourceUrls []string `pulumi:"nonResourceUrls"` + // Policy rule resource names + ResourceNames []string `pulumi:"resourceNames"` + // Policy rule resources + Resources []string `pulumi:"resources"` + // Policy rule verbs + Verbs []string `pulumi:"verbs"` +} + +// GetRoleTemplateExternalRuleInput is an input type that accepts GetRoleTemplateExternalRuleArgs and GetRoleTemplateExternalRuleOutput values. +// You can construct a concrete instance of `GetRoleTemplateExternalRuleInput` via: +// +// GetRoleTemplateExternalRuleArgs{...} +type GetRoleTemplateExternalRuleInput interface { + pulumi.Input + + ToGetRoleTemplateExternalRuleOutput() GetRoleTemplateExternalRuleOutput + ToGetRoleTemplateExternalRuleOutputWithContext(context.Context) GetRoleTemplateExternalRuleOutput +} + +type GetRoleTemplateExternalRuleArgs struct { + // Policy rule api groups + ApiGroups pulumi.StringArrayInput `pulumi:"apiGroups"` + // Policy rule non resource urls + NonResourceUrls pulumi.StringArrayInput `pulumi:"nonResourceUrls"` + // Policy rule resource names + ResourceNames pulumi.StringArrayInput `pulumi:"resourceNames"` + // Policy rule resources + Resources pulumi.StringArrayInput `pulumi:"resources"` + // Policy rule verbs + Verbs pulumi.StringArrayInput `pulumi:"verbs"` +} + +func (GetRoleTemplateExternalRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoleTemplateExternalRule)(nil)).Elem() +} + +func (i GetRoleTemplateExternalRuleArgs) ToGetRoleTemplateExternalRuleOutput() GetRoleTemplateExternalRuleOutput { + return i.ToGetRoleTemplateExternalRuleOutputWithContext(context.Background()) +} + +func (i GetRoleTemplateExternalRuleArgs) ToGetRoleTemplateExternalRuleOutputWithContext(ctx context.Context) GetRoleTemplateExternalRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoleTemplateExternalRuleOutput) +} + +// GetRoleTemplateExternalRuleArrayInput is an input type that accepts GetRoleTemplateExternalRuleArray and GetRoleTemplateExternalRuleArrayOutput values. +// You can construct a concrete instance of `GetRoleTemplateExternalRuleArrayInput` via: +// +// GetRoleTemplateExternalRuleArray{ GetRoleTemplateExternalRuleArgs{...} } +type GetRoleTemplateExternalRuleArrayInput interface { + pulumi.Input + + ToGetRoleTemplateExternalRuleArrayOutput() GetRoleTemplateExternalRuleArrayOutput + ToGetRoleTemplateExternalRuleArrayOutputWithContext(context.Context) GetRoleTemplateExternalRuleArrayOutput +} + +type GetRoleTemplateExternalRuleArray []GetRoleTemplateExternalRuleInput + +func (GetRoleTemplateExternalRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoleTemplateExternalRule)(nil)).Elem() +} + +func (i GetRoleTemplateExternalRuleArray) ToGetRoleTemplateExternalRuleArrayOutput() GetRoleTemplateExternalRuleArrayOutput { + return i.ToGetRoleTemplateExternalRuleArrayOutputWithContext(context.Background()) +} + +func (i GetRoleTemplateExternalRuleArray) ToGetRoleTemplateExternalRuleArrayOutputWithContext(ctx context.Context) GetRoleTemplateExternalRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoleTemplateExternalRuleArrayOutput) +} + +type GetRoleTemplateExternalRuleOutput struct{ *pulumi.OutputState } + +func (GetRoleTemplateExternalRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoleTemplateExternalRule)(nil)).Elem() +} + +func (o GetRoleTemplateExternalRuleOutput) ToGetRoleTemplateExternalRuleOutput() GetRoleTemplateExternalRuleOutput { + return o +} + +func (o GetRoleTemplateExternalRuleOutput) ToGetRoleTemplateExternalRuleOutputWithContext(ctx context.Context) GetRoleTemplateExternalRuleOutput { + return o +} + +// Policy rule api groups +func (o GetRoleTemplateExternalRuleOutput) ApiGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRoleTemplateExternalRule) []string { return v.ApiGroups }).(pulumi.StringArrayOutput) +} + +// Policy rule non resource urls +func (o GetRoleTemplateExternalRuleOutput) NonResourceUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRoleTemplateExternalRule) []string { return v.NonResourceUrls }).(pulumi.StringArrayOutput) +} + +// Policy rule resource names +func (o GetRoleTemplateExternalRuleOutput) ResourceNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRoleTemplateExternalRule) []string { return v.ResourceNames }).(pulumi.StringArrayOutput) +} + +// Policy rule resources +func (o GetRoleTemplateExternalRuleOutput) Resources() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRoleTemplateExternalRule) []string { return v.Resources }).(pulumi.StringArrayOutput) +} + +// Policy rule verbs +func (o GetRoleTemplateExternalRuleOutput) Verbs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRoleTemplateExternalRule) []string { return v.Verbs }).(pulumi.StringArrayOutput) +} + +type GetRoleTemplateExternalRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetRoleTemplateExternalRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoleTemplateExternalRule)(nil)).Elem() +} + +func (o GetRoleTemplateExternalRuleArrayOutput) ToGetRoleTemplateExternalRuleArrayOutput() GetRoleTemplateExternalRuleArrayOutput { + return o +} + +func (o GetRoleTemplateExternalRuleArrayOutput) ToGetRoleTemplateExternalRuleArrayOutputWithContext(ctx context.Context) GetRoleTemplateExternalRuleArrayOutput { + return o +} + +func (o GetRoleTemplateExternalRuleArrayOutput) Index(i pulumi.IntInput) GetRoleTemplateExternalRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoleTemplateExternalRule { + return vs[0].([]GetRoleTemplateExternalRule)[vs[1].(int)] + }).(GetRoleTemplateExternalRuleOutput) +} + type GetRoleTemplateRule struct { // Policy rule api groups ApiGroups []string `pulumi:"apiGroups"` @@ -3381,6 +3584,7 @@ func (o GetRoleTemplateRuleArrayOutput) Index(i pulumi.IntInput) GetRoleTemplate } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*GetNotifierSlackConfigInput)(nil)).Elem(), GetNotifierSlackConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNotifierSmtpConfigInput)(nil)).Elem(), GetNotifierSmtpConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNotifierWebhookConfigInput)(nil)).Elem(), GetNotifierWebhookConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNotifierWechatConfigInput)(nil)).Elem(), GetNotifierWechatConfigArgs{}) @@ -3427,8 +3631,11 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetProjectResourceQuotaProjectLimitInput)(nil)).Elem(), GetProjectResourceQuotaProjectLimitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRegistryRegistryInput)(nil)).Elem(), GetRegistryRegistryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRegistryRegistryArrayInput)(nil)).Elem(), GetRegistryRegistryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRoleTemplateExternalRuleInput)(nil)).Elem(), GetRoleTemplateExternalRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRoleTemplateExternalRuleArrayInput)(nil)).Elem(), GetRoleTemplateExternalRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRoleTemplateRuleInput)(nil)).Elem(), GetRoleTemplateRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRoleTemplateRuleArrayInput)(nil)).Elem(), GetRoleTemplateRuleArray{}) + pulumi.RegisterOutputType(GetNotifierSlackConfigOutput{}) pulumi.RegisterOutputType(GetNotifierSmtpConfigOutput{}) pulumi.RegisterOutputType(GetNotifierWebhookConfigOutput{}) pulumi.RegisterOutputType(GetNotifierWechatConfigOutput{}) @@ -3475,6 +3682,8 @@ func init() { pulumi.RegisterOutputType(GetProjectResourceQuotaProjectLimitOutput{}) pulumi.RegisterOutputType(GetRegistryRegistryOutput{}) pulumi.RegisterOutputType(GetRegistryRegistryArrayOutput{}) + pulumi.RegisterOutputType(GetRoleTemplateExternalRuleOutput{}) + pulumi.RegisterOutputType(GetRoleTemplateExternalRuleArrayOutput{}) pulumi.RegisterOutputType(GetRoleTemplateRuleOutput{}) pulumi.RegisterOutputType(GetRoleTemplateRuleArrayOutput{}) } diff --git a/sdk/go/rancher2/roleTemplate.go b/sdk/go/rancher2/roleTemplate.go index e98182b3c..edf5b762c 100644 --- a/sdk/go/rancher2/roleTemplate.go +++ b/sdk/go/rancher2/roleTemplate.go @@ -123,6 +123,8 @@ type RoleTemplate struct { Description pulumi.StringOutput `pulumi:"description"` // External role template. Default `false` (bool) External pulumi.BoolPtrOutput `pulumi:"external"` + // External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + ExternalRules RoleTemplateExternalRuleArrayOutput `pulumi:"externalRules"` // Hidden role template. Default `false` (bool) Hidden pulumi.BoolPtrOutput `pulumi:"hidden"` // Labels for role template object (map) @@ -181,6 +183,8 @@ type roleTemplateState struct { Description *string `pulumi:"description"` // External role template. Default `false` (bool) External *bool `pulumi:"external"` + // External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + ExternalRules []RoleTemplateExternalRule `pulumi:"externalRules"` // Hidden role template. Default `false` (bool) Hidden *bool `pulumi:"hidden"` // Labels for role template object (map) @@ -210,6 +214,8 @@ type RoleTemplateState struct { Description pulumi.StringPtrInput // External role template. Default `false` (bool) External pulumi.BoolPtrInput + // External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + ExternalRules RoleTemplateExternalRuleArrayInput // Hidden role template. Default `false` (bool) Hidden pulumi.BoolPtrInput // Labels for role template object (map) @@ -241,6 +247,8 @@ type roleTemplateArgs struct { Description *string `pulumi:"description"` // External role template. Default `false` (bool) External *bool `pulumi:"external"` + // External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + ExternalRules []RoleTemplateExternalRule `pulumi:"externalRules"` // Hidden role template. Default `false` (bool) Hidden *bool `pulumi:"hidden"` // Labels for role template object (map) @@ -269,6 +277,8 @@ type RoleTemplateArgs struct { Description pulumi.StringPtrInput // External role template. Default `false` (bool) External pulumi.BoolPtrInput + // External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + ExternalRules RoleTemplateExternalRuleArrayInput // Hidden role template. Default `false` (bool) Hidden pulumi.BoolPtrInput // Labels for role template object (map) @@ -405,6 +415,11 @@ func (o RoleTemplateOutput) External() pulumi.BoolPtrOutput { return o.ApplyT(func(v *RoleTemplate) pulumi.BoolPtrOutput { return v.External }).(pulumi.BoolPtrOutput) } +// External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) +func (o RoleTemplateOutput) ExternalRules() RoleTemplateExternalRuleArrayOutput { + return o.ApplyT(func(v *RoleTemplate) RoleTemplateExternalRuleArrayOutput { return v.ExternalRules }).(RoleTemplateExternalRuleArrayOutput) +} + // Hidden role template. Default `false` (bool) func (o RoleTemplateOutput) Hidden() pulumi.BoolPtrOutput { return o.ApplyT(func(v *RoleTemplate) pulumi.BoolPtrOutput { return v.Hidden }).(pulumi.BoolPtrOutput) diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java b/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java index baebd9135..35aa0e5d5 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java @@ -917,6 +917,10 @@ * .dnsPrefix("") * .kubernetesVersion("1.24.6") * .networkPlugin("") + * .virtualNetwork("") + * .virtualNetworkResourceGroup("") + * .subnet("") + * .nodeResourceGroup("") * .nodePools( * ClusterAksConfigV2NodePoolArgs.builder() * .availabilityZones( diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRole.java b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRole.java index 5bba9e770..01d16cc73 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRole.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRole.java @@ -120,14 +120,14 @@ public Output description() { return this.description; } /** - * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * */ @Export(name="inheritedClusterRoles", refs={List.class,String.class}, tree="[0,1]") private Output> inheritedClusterRoles; /** - * @return Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * @return Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * */ public Output>> inheritedClusterRoles() { diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRoleArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRoleArgs.java index df411e619..43200e89a 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRoleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRoleArgs.java @@ -51,14 +51,14 @@ public Optional> description() { } /** - * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * */ @Import(name="inheritedClusterRoles") private @Nullable Output> inheritedClusterRoles; /** - * @return Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * @return Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * */ public Optional>> inheritedClusterRoles() { @@ -198,7 +198,7 @@ public Builder description(String description) { } /** - * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * * @return builder * @@ -209,7 +209,7 @@ public Builder inheritedClusterRoles(@Nullable Output> inheritedClu } /** - * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * * @return builder * @@ -219,7 +219,7 @@ public Builder inheritedClusterRoles(List inheritedClusterRoles) { } /** - * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplate.java b/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplate.java index 1652ba66b..adc513282 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplate.java @@ -10,6 +10,7 @@ import com.pulumi.rancher2.RoleTemplateArgs; import com.pulumi.rancher2.Utilities; import com.pulumi.rancher2.inputs.RoleTemplateState; +import com.pulumi.rancher2.outputs.RoleTemplateExternalRule; import com.pulumi.rancher2.outputs.RoleTemplateRule; import java.lang.Boolean; import java.lang.Object; @@ -221,6 +222,20 @@ public Output description() { public Output> external() { return Codegen.optional(this.external); } + /** + * External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + */ + @Export(name="externalRules", refs={List.class,RoleTemplateExternalRule.class}, tree="[0,1]") + private Output> externalRules; + + /** + * @return External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + */ + public Output> externalRules() { + return this.externalRules; + } /** * Hidden role template. Default `false` (bool) * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplateArgs.java index 4adf327a9..3f8388652 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplateArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import com.pulumi.rancher2.inputs.RoleTemplateExternalRuleArgs; import com.pulumi.rancher2.inputs.RoleTemplateRuleArgs; import java.lang.Boolean; import java.lang.Object; @@ -110,6 +111,21 @@ public Optional> external() { return Optional.ofNullable(this.external); } + /** + * External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + */ + @Import(name="externalRules") + private @Nullable Output> externalRules; + + /** + * @return External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + */ + public Optional>> externalRules() { + return Optional.ofNullable(this.externalRules); + } + /** * Hidden role template. Default `false` (bool) * @@ -209,6 +225,7 @@ private RoleTemplateArgs(RoleTemplateArgs $) { this.defaultRole = $.defaultRole; this.description = $.description; this.external = $.external; + this.externalRules = $.externalRules; this.hidden = $.hidden; this.labels = $.labels; this.locked = $.locked; @@ -361,6 +378,37 @@ public Builder external(Boolean external) { return external(Output.of(external)); } + /** + * @param externalRules External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + * @return builder + * + */ + public Builder externalRules(@Nullable Output> externalRules) { + $.externalRules = externalRules; + return this; + } + + /** + * @param externalRules External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + * @return builder + * + */ + public Builder externalRules(List externalRules) { + return externalRules(Output.of(externalRules)); + } + + /** + * @param externalRules External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + * @return builder + * + */ + public Builder externalRules(RoleTemplateExternalRuleArgs... externalRules) { + return externalRules(List.of(externalRules)); + } + /** * @param hidden Hidden role template. Default `false` (bool) * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterAksConfigV2Args.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterAksConfigV2Args.java index 351515acf..866ea7ff0 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterAksConfigV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterAksConfigV2Args.java @@ -351,6 +351,21 @@ public Optional>> nodePools() { return Optional.ofNullable(this.nodePools); } + /** + * The AKS node resource group name + * + */ + @Import(name="nodeResourceGroup") + private @Nullable Output nodeResourceGroup; + + /** + * @return The AKS node resource group name + * + */ + public Optional> nodeResourceGroup() { + return Optional.ofNullable(this.nodeResourceGroup); + } + /** * Is AKS cluster private? * @@ -481,6 +496,7 @@ private ClusterAksConfigV2Args(ClusterAksConfigV2Args $) { this.networkPolicy = $.networkPolicy; this.networkServiceCidr = $.networkServiceCidr; this.nodePools = $.nodePools; + this.nodeResourceGroup = $.nodeResourceGroup; this.privateCluster = $.privateCluster; this.resourceGroup = $.resourceGroup; this.resourceLocation = $.resourceLocation; @@ -990,6 +1006,27 @@ public Builder nodePools(ClusterAksConfigV2NodePoolArgs... nodePools) { return nodePools(List.of(nodePools)); } + /** + * @param nodeResourceGroup The AKS node resource group name + * + * @return builder + * + */ + public Builder nodeResourceGroup(@Nullable Output nodeResourceGroup) { + $.nodeResourceGroup = nodeResourceGroup; + return this; + } + + /** + * @param nodeResourceGroup The AKS node resource group name + * + * @return builder + * + */ + public Builder nodeResourceGroup(String nodeResourceGroup) { + return nodeResourceGroup(Output.of(nodeResourceGroup)); + } + /** * @param privateCluster Is AKS cluster private? * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplateArgs.java index 089ca17cd..b262a55c1 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplateArgs.java @@ -6,7 +6,9 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.rancher2.inputs.GetRoleTemplateExternalRuleArgs; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -31,6 +33,21 @@ public Optional> context() { return Optional.ofNullable(this.context); } + /** + * (Computed) External rules used for authorization. (list) + * + */ + @Import(name="externalRules") + private @Nullable Output> externalRules; + + /** + * @return (Computed) External rules used for authorization. (list) + * + */ + public Optional>> externalRules() { + return Optional.ofNullable(this.externalRules); + } + /** * The name of the Role Template (string) * @@ -50,6 +67,7 @@ private GetRoleTemplateArgs() {} private GetRoleTemplateArgs(GetRoleTemplateArgs $) { this.context = $.context; + this.externalRules = $.externalRules; this.name = $.name; } @@ -92,6 +110,37 @@ public Builder context(String context) { return context(Output.of(context)); } + /** + * @param externalRules (Computed) External rules used for authorization. (list) + * + * @return builder + * + */ + public Builder externalRules(@Nullable Output> externalRules) { + $.externalRules = externalRules; + return this; + } + + /** + * @param externalRules (Computed) External rules used for authorization. (list) + * + * @return builder + * + */ + public Builder externalRules(List externalRules) { + return externalRules(Output.of(externalRules)); + } + + /** + * @param externalRules (Computed) External rules used for authorization. (list) + * + * @return builder + * + */ + public Builder externalRules(GetRoleTemplateExternalRuleArgs... externalRules) { + return externalRules(List.of(externalRules)); + } + /** * @param name The name of the Role Template (string) * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplateExternalRule.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplateExternalRule.java new file mode 100644 index 000000000..1004a565b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplateExternalRule.java @@ -0,0 +1,231 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.rancher2.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetRoleTemplateExternalRule extends com.pulumi.resources.InvokeArgs { + + public static final GetRoleTemplateExternalRule Empty = new GetRoleTemplateExternalRule(); + + /** + * Policy rule api groups + * + */ + @Import(name="apiGroups") + private @Nullable List apiGroups; + + /** + * @return Policy rule api groups + * + */ + public Optional> apiGroups() { + return Optional.ofNullable(this.apiGroups); + } + + /** + * Policy rule non resource urls + * + */ + @Import(name="nonResourceUrls") + private @Nullable List nonResourceUrls; + + /** + * @return Policy rule non resource urls + * + */ + public Optional> nonResourceUrls() { + return Optional.ofNullable(this.nonResourceUrls); + } + + /** + * Policy rule resource names + * + */ + @Import(name="resourceNames") + private @Nullable List resourceNames; + + /** + * @return Policy rule resource names + * + */ + public Optional> resourceNames() { + return Optional.ofNullable(this.resourceNames); + } + + /** + * Policy rule resources + * + */ + @Import(name="resources") + private @Nullable List resources; + + /** + * @return Policy rule resources + * + */ + public Optional> resources() { + return Optional.ofNullable(this.resources); + } + + /** + * Policy rule verbs + * + */ + @Import(name="verbs") + private @Nullable List verbs; + + /** + * @return Policy rule verbs + * + */ + public Optional> verbs() { + return Optional.ofNullable(this.verbs); + } + + private GetRoleTemplateExternalRule() {} + + private GetRoleTemplateExternalRule(GetRoleTemplateExternalRule $) { + this.apiGroups = $.apiGroups; + this.nonResourceUrls = $.nonResourceUrls; + this.resourceNames = $.resourceNames; + this.resources = $.resources; + this.verbs = $.verbs; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetRoleTemplateExternalRule defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetRoleTemplateExternalRule $; + + public Builder() { + $ = new GetRoleTemplateExternalRule(); + } + + public Builder(GetRoleTemplateExternalRule defaults) { + $ = new GetRoleTemplateExternalRule(Objects.requireNonNull(defaults)); + } + + /** + * @param apiGroups Policy rule api groups + * + * @return builder + * + */ + public Builder apiGroups(@Nullable List apiGroups) { + $.apiGroups = apiGroups; + return this; + } + + /** + * @param apiGroups Policy rule api groups + * + * @return builder + * + */ + public Builder apiGroups(String... apiGroups) { + return apiGroups(List.of(apiGroups)); + } + + /** + * @param nonResourceUrls Policy rule non resource urls + * + * @return builder + * + */ + public Builder nonResourceUrls(@Nullable List nonResourceUrls) { + $.nonResourceUrls = nonResourceUrls; + return this; + } + + /** + * @param nonResourceUrls Policy rule non resource urls + * + * @return builder + * + */ + public Builder nonResourceUrls(String... nonResourceUrls) { + return nonResourceUrls(List.of(nonResourceUrls)); + } + + /** + * @param resourceNames Policy rule resource names + * + * @return builder + * + */ + public Builder resourceNames(@Nullable List resourceNames) { + $.resourceNames = resourceNames; + return this; + } + + /** + * @param resourceNames Policy rule resource names + * + * @return builder + * + */ + public Builder resourceNames(String... resourceNames) { + return resourceNames(List.of(resourceNames)); + } + + /** + * @param resources Policy rule resources + * + * @return builder + * + */ + public Builder resources(@Nullable List resources) { + $.resources = resources; + return this; + } + + /** + * @param resources Policy rule resources + * + * @return builder + * + */ + public Builder resources(String... resources) { + return resources(List.of(resources)); + } + + /** + * @param verbs Policy rule verbs + * + * @return builder + * + */ + public Builder verbs(@Nullable List verbs) { + $.verbs = verbs; + return this; + } + + /** + * @param verbs Policy rule verbs + * + * @return builder + * + */ + public Builder verbs(String... verbs) { + return verbs(List.of(verbs)); + } + + public GetRoleTemplateExternalRule build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplateExternalRuleArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplateExternalRuleArgs.java new file mode 100644 index 000000000..f17841f7d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplateExternalRuleArgs.java @@ -0,0 +1,282 @@ +// *** 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.rancher2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetRoleTemplateExternalRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final GetRoleTemplateExternalRuleArgs Empty = new GetRoleTemplateExternalRuleArgs(); + + /** + * Policy rule api groups + * + */ + @Import(name="apiGroups") + private @Nullable Output> apiGroups; + + /** + * @return Policy rule api groups + * + */ + public Optional>> apiGroups() { + return Optional.ofNullable(this.apiGroups); + } + + /** + * Policy rule non resource urls + * + */ + @Import(name="nonResourceUrls") + private @Nullable Output> nonResourceUrls; + + /** + * @return Policy rule non resource urls + * + */ + public Optional>> nonResourceUrls() { + return Optional.ofNullable(this.nonResourceUrls); + } + + /** + * Policy rule resource names + * + */ + @Import(name="resourceNames") + private @Nullable Output> resourceNames; + + /** + * @return Policy rule resource names + * + */ + public Optional>> resourceNames() { + return Optional.ofNullable(this.resourceNames); + } + + /** + * Policy rule resources + * + */ + @Import(name="resources") + private @Nullable Output> resources; + + /** + * @return Policy rule resources + * + */ + public Optional>> resources() { + return Optional.ofNullable(this.resources); + } + + /** + * Policy rule verbs + * + */ + @Import(name="verbs") + private @Nullable Output> verbs; + + /** + * @return Policy rule verbs + * + */ + public Optional>> verbs() { + return Optional.ofNullable(this.verbs); + } + + private GetRoleTemplateExternalRuleArgs() {} + + private GetRoleTemplateExternalRuleArgs(GetRoleTemplateExternalRuleArgs $) { + this.apiGroups = $.apiGroups; + this.nonResourceUrls = $.nonResourceUrls; + this.resourceNames = $.resourceNames; + this.resources = $.resources; + this.verbs = $.verbs; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetRoleTemplateExternalRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetRoleTemplateExternalRuleArgs $; + + public Builder() { + $ = new GetRoleTemplateExternalRuleArgs(); + } + + public Builder(GetRoleTemplateExternalRuleArgs defaults) { + $ = new GetRoleTemplateExternalRuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param apiGroups Policy rule api groups + * + * @return builder + * + */ + public Builder apiGroups(@Nullable Output> apiGroups) { + $.apiGroups = apiGroups; + return this; + } + + /** + * @param apiGroups Policy rule api groups + * + * @return builder + * + */ + public Builder apiGroups(List apiGroups) { + return apiGroups(Output.of(apiGroups)); + } + + /** + * @param apiGroups Policy rule api groups + * + * @return builder + * + */ + public Builder apiGroups(String... apiGroups) { + return apiGroups(List.of(apiGroups)); + } + + /** + * @param nonResourceUrls Policy rule non resource urls + * + * @return builder + * + */ + public Builder nonResourceUrls(@Nullable Output> nonResourceUrls) { + $.nonResourceUrls = nonResourceUrls; + return this; + } + + /** + * @param nonResourceUrls Policy rule non resource urls + * + * @return builder + * + */ + public Builder nonResourceUrls(List nonResourceUrls) { + return nonResourceUrls(Output.of(nonResourceUrls)); + } + + /** + * @param nonResourceUrls Policy rule non resource urls + * + * @return builder + * + */ + public Builder nonResourceUrls(String... nonResourceUrls) { + return nonResourceUrls(List.of(nonResourceUrls)); + } + + /** + * @param resourceNames Policy rule resource names + * + * @return builder + * + */ + public Builder resourceNames(@Nullable Output> resourceNames) { + $.resourceNames = resourceNames; + return this; + } + + /** + * @param resourceNames Policy rule resource names + * + * @return builder + * + */ + public Builder resourceNames(List resourceNames) { + return resourceNames(Output.of(resourceNames)); + } + + /** + * @param resourceNames Policy rule resource names + * + * @return builder + * + */ + public Builder resourceNames(String... resourceNames) { + return resourceNames(List.of(resourceNames)); + } + + /** + * @param resources Policy rule resources + * + * @return builder + * + */ + public Builder resources(@Nullable Output> resources) { + $.resources = resources; + return this; + } + + /** + * @param resources Policy rule resources + * + * @return builder + * + */ + public Builder resources(List resources) { + return resources(Output.of(resources)); + } + + /** + * @param resources Policy rule resources + * + * @return builder + * + */ + public Builder resources(String... resources) { + return resources(List.of(resources)); + } + + /** + * @param verbs Policy rule verbs + * + * @return builder + * + */ + public Builder verbs(@Nullable Output> verbs) { + $.verbs = verbs; + return this; + } + + /** + * @param verbs Policy rule verbs + * + * @return builder + * + */ + public Builder verbs(List verbs) { + return verbs(Output.of(verbs)); + } + + /** + * @param verbs Policy rule verbs + * + * @return builder + * + */ + public Builder verbs(String... verbs) { + return verbs(List.of(verbs)); + } + + public GetRoleTemplateExternalRuleArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplatePlainArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplatePlainArgs.java index bd1df7b60..5e03755d2 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplatePlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GetRoleTemplatePlainArgs.java @@ -5,7 +5,9 @@ import com.pulumi.core.annotations.Import; import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.rancher2.inputs.GetRoleTemplateExternalRule; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -30,6 +32,21 @@ public Optional context() { return Optional.ofNullable(this.context); } + /** + * (Computed) External rules used for authorization. (list) + * + */ + @Import(name="externalRules") + private @Nullable List externalRules; + + /** + * @return (Computed) External rules used for authorization. (list) + * + */ + public Optional> externalRules() { + return Optional.ofNullable(this.externalRules); + } + /** * The name of the Role Template (string) * @@ -49,6 +66,7 @@ private GetRoleTemplatePlainArgs() {} private GetRoleTemplatePlainArgs(GetRoleTemplatePlainArgs $) { this.context = $.context; + this.externalRules = $.externalRules; this.name = $.name; } @@ -81,6 +99,27 @@ public Builder context(@Nullable String context) { return this; } + /** + * @param externalRules (Computed) External rules used for authorization. (list) + * + * @return builder + * + */ + public Builder externalRules(@Nullable List externalRules) { + $.externalRules = externalRules; + return this; + } + + /** + * @param externalRules (Computed) External rules used for authorization. (list) + * + * @return builder + * + */ + public Builder externalRules(GetRoleTemplateExternalRule... externalRules) { + return externalRules(List.of(externalRules)); + } + /** * @param name The name of the Role Template (string) * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalRoleState.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalRoleState.java index 2e57ddb6c..6fff22100 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalRoleState.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/GlobalRoleState.java @@ -66,14 +66,14 @@ public Optional> description() { } /** - * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * */ @Import(name="inheritedClusterRoles") private @Nullable Output> inheritedClusterRoles; /** - * @return Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * @return Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * */ public Optional>> inheritedClusterRoles() { @@ -235,7 +235,7 @@ public Builder description(String description) { } /** - * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * * @return builder * @@ -246,7 +246,7 @@ public Builder inheritedClusterRoles(@Nullable Output> inheritedClu } /** - * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * * @return builder * @@ -256,7 +256,7 @@ public Builder inheritedClusterRoles(List inheritedClusterRoles) { } /** - * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * @param inheritedClusterRoles Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/RoleTemplateExternalRuleArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/RoleTemplateExternalRuleArgs.java new file mode 100644 index 000000000..d4dae92b5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/RoleTemplateExternalRuleArgs.java @@ -0,0 +1,282 @@ +// *** 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.rancher2.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RoleTemplateExternalRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final RoleTemplateExternalRuleArgs Empty = new RoleTemplateExternalRuleArgs(); + + /** + * Policy rule api groups + * + */ + @Import(name="apiGroups") + private @Nullable Output> apiGroups; + + /** + * @return Policy rule api groups + * + */ + public Optional>> apiGroups() { + return Optional.ofNullable(this.apiGroups); + } + + /** + * Policy rule non resource urls + * + */ + @Import(name="nonResourceUrls") + private @Nullable Output> nonResourceUrls; + + /** + * @return Policy rule non resource urls + * + */ + public Optional>> nonResourceUrls() { + return Optional.ofNullable(this.nonResourceUrls); + } + + /** + * Policy rule resource names + * + */ + @Import(name="resourceNames") + private @Nullable Output> resourceNames; + + /** + * @return Policy rule resource names + * + */ + public Optional>> resourceNames() { + return Optional.ofNullable(this.resourceNames); + } + + /** + * Policy rule resources + * + */ + @Import(name="resources") + private @Nullable Output> resources; + + /** + * @return Policy rule resources + * + */ + public Optional>> resources() { + return Optional.ofNullable(this.resources); + } + + /** + * Policy rule verbs + * + */ + @Import(name="verbs") + private @Nullable Output> verbs; + + /** + * @return Policy rule verbs + * + */ + public Optional>> verbs() { + return Optional.ofNullable(this.verbs); + } + + private RoleTemplateExternalRuleArgs() {} + + private RoleTemplateExternalRuleArgs(RoleTemplateExternalRuleArgs $) { + this.apiGroups = $.apiGroups; + this.nonResourceUrls = $.nonResourceUrls; + this.resourceNames = $.resourceNames; + this.resources = $.resources; + this.verbs = $.verbs; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RoleTemplateExternalRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RoleTemplateExternalRuleArgs $; + + public Builder() { + $ = new RoleTemplateExternalRuleArgs(); + } + + public Builder(RoleTemplateExternalRuleArgs defaults) { + $ = new RoleTemplateExternalRuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param apiGroups Policy rule api groups + * + * @return builder + * + */ + public Builder apiGroups(@Nullable Output> apiGroups) { + $.apiGroups = apiGroups; + return this; + } + + /** + * @param apiGroups Policy rule api groups + * + * @return builder + * + */ + public Builder apiGroups(List apiGroups) { + return apiGroups(Output.of(apiGroups)); + } + + /** + * @param apiGroups Policy rule api groups + * + * @return builder + * + */ + public Builder apiGroups(String... apiGroups) { + return apiGroups(List.of(apiGroups)); + } + + /** + * @param nonResourceUrls Policy rule non resource urls + * + * @return builder + * + */ + public Builder nonResourceUrls(@Nullable Output> nonResourceUrls) { + $.nonResourceUrls = nonResourceUrls; + return this; + } + + /** + * @param nonResourceUrls Policy rule non resource urls + * + * @return builder + * + */ + public Builder nonResourceUrls(List nonResourceUrls) { + return nonResourceUrls(Output.of(nonResourceUrls)); + } + + /** + * @param nonResourceUrls Policy rule non resource urls + * + * @return builder + * + */ + public Builder nonResourceUrls(String... nonResourceUrls) { + return nonResourceUrls(List.of(nonResourceUrls)); + } + + /** + * @param resourceNames Policy rule resource names + * + * @return builder + * + */ + public Builder resourceNames(@Nullable Output> resourceNames) { + $.resourceNames = resourceNames; + return this; + } + + /** + * @param resourceNames Policy rule resource names + * + * @return builder + * + */ + public Builder resourceNames(List resourceNames) { + return resourceNames(Output.of(resourceNames)); + } + + /** + * @param resourceNames Policy rule resource names + * + * @return builder + * + */ + public Builder resourceNames(String... resourceNames) { + return resourceNames(List.of(resourceNames)); + } + + /** + * @param resources Policy rule resources + * + * @return builder + * + */ + public Builder resources(@Nullable Output> resources) { + $.resources = resources; + return this; + } + + /** + * @param resources Policy rule resources + * + * @return builder + * + */ + public Builder resources(List resources) { + return resources(Output.of(resources)); + } + + /** + * @param resources Policy rule resources + * + * @return builder + * + */ + public Builder resources(String... resources) { + return resources(List.of(resources)); + } + + /** + * @param verbs Policy rule verbs + * + * @return builder + * + */ + public Builder verbs(@Nullable Output> verbs) { + $.verbs = verbs; + return this; + } + + /** + * @param verbs Policy rule verbs + * + * @return builder + * + */ + public Builder verbs(List verbs) { + return verbs(Output.of(verbs)); + } + + /** + * @param verbs Policy rule verbs + * + * @return builder + * + */ + public Builder verbs(String... verbs) { + return verbs(List.of(verbs)); + } + + public RoleTemplateExternalRuleArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/RoleTemplateState.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/RoleTemplateState.java index 4573bee1e..820f5f1e2 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/RoleTemplateState.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/RoleTemplateState.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import com.pulumi.rancher2.inputs.RoleTemplateExternalRuleArgs; import com.pulumi.rancher2.inputs.RoleTemplateRuleArgs; import java.lang.Boolean; import java.lang.Object; @@ -125,6 +126,21 @@ public Optional> external() { return Optional.ofNullable(this.external); } + /** + * External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + */ + @Import(name="externalRules") + private @Nullable Output> externalRules; + + /** + * @return External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + */ + public Optional>> externalRules() { + return Optional.ofNullable(this.externalRules); + } + /** * Hidden role template. Default `false` (bool) * @@ -225,6 +241,7 @@ private RoleTemplateState(RoleTemplateState $) { this.defaultRole = $.defaultRole; this.description = $.description; this.external = $.external; + this.externalRules = $.externalRules; this.hidden = $.hidden; this.labels = $.labels; this.locked = $.locked; @@ -398,6 +415,37 @@ public Builder external(Boolean external) { return external(Output.of(external)); } + /** + * @param externalRules External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + * @return builder + * + */ + public Builder externalRules(@Nullable Output> externalRules) { + $.externalRules = externalRules; + return this; + } + + /** + * @param externalRules External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + * @return builder + * + */ + public Builder externalRules(List externalRules) { + return externalRules(Output.of(externalRules)); + } + + /** + * @param externalRules External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + * + * @return builder + * + */ + public Builder externalRules(RoleTemplateExternalRuleArgs... externalRules) { + return externalRules(List.of(externalRules)); + } + /** * @param hidden Hidden role template. Default `false` (bool) * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterAksConfigV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterAksConfigV2.java index 1b5564d20..887ba0624 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterAksConfigV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterAksConfigV2.java @@ -127,6 +127,11 @@ public final class ClusterAksConfigV2 { * */ private @Nullable List nodePools; + /** + * @return The AKS node resource group name + * + */ + private @Nullable String nodeResourceGroup; /** * @return Is AKS cluster private? * @@ -318,6 +323,13 @@ public Optional networkServiceCidr() { public List nodePools() { return this.nodePools == null ? List.of() : this.nodePools; } + /** + * @return The AKS node resource group name + * + */ + public Optional nodeResourceGroup() { + return Optional.ofNullable(this.nodeResourceGroup); + } /** * @return Is AKS cluster private? * @@ -399,6 +411,7 @@ public static final class Builder { private @Nullable String networkPolicy; private @Nullable String networkServiceCidr; private @Nullable List nodePools; + private @Nullable String nodeResourceGroup; private @Nullable Boolean privateCluster; private String resourceGroup; private String resourceLocation; @@ -431,6 +444,7 @@ public Builder(ClusterAksConfigV2 defaults) { this.networkPolicy = defaults.networkPolicy; this.networkServiceCidr = defaults.networkServiceCidr; this.nodePools = defaults.nodePools; + this.nodeResourceGroup = defaults.nodeResourceGroup; this.privateCluster = defaults.privateCluster; this.resourceGroup = defaults.resourceGroup; this.resourceLocation = defaults.resourceLocation; @@ -581,6 +595,12 @@ public Builder nodePools(ClusterAksConfigV2NodePool... nodePools) { return nodePools(List.of(nodePools)); } @CustomType.Setter + public Builder nodeResourceGroup(@Nullable String nodeResourceGroup) { + + this.nodeResourceGroup = nodeResourceGroup; + return this; + } + @CustomType.Setter public Builder privateCluster(@Nullable Boolean privateCluster) { this.privateCluster = privateCluster; @@ -650,6 +670,7 @@ public ClusterAksConfigV2 build() { _resultValue.networkPolicy = networkPolicy; _resultValue.networkServiceCidr = networkServiceCidr; _resultValue.nodePools = nodePools; + _resultValue.nodeResourceGroup = nodeResourceGroup; _resultValue.privateCluster = privateCluster; _resultValue.resourceGroup = resourceGroup; _resultValue.resourceLocation = resourceLocation; diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterAksConfigV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterAksConfigV2.java index f5735f12c..96da81d32 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterAksConfigV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterAksConfigV2.java @@ -127,6 +127,11 @@ public final class GetClusterAksConfigV2 { * */ private @Nullable List nodePools; + /** + * @return The AKS node resource group name + * + */ + private String nodeResourceGroup; /** * @return Is AKS cluster private? * @@ -318,6 +323,13 @@ public String networkServiceCidr() { public List nodePools() { return this.nodePools == null ? List.of() : this.nodePools; } + /** + * @return The AKS node resource group name + * + */ + public String nodeResourceGroup() { + return this.nodeResourceGroup; + } /** * @return Is AKS cluster private? * @@ -399,6 +411,7 @@ public static final class Builder { private String networkPolicy; private String networkServiceCidr; private @Nullable List nodePools; + private String nodeResourceGroup; private Boolean privateCluster; private String resourceGroup; private String resourceLocation; @@ -431,6 +444,7 @@ public Builder(GetClusterAksConfigV2 defaults) { this.networkPolicy = defaults.networkPolicy; this.networkServiceCidr = defaults.networkServiceCidr; this.nodePools = defaults.nodePools; + this.nodeResourceGroup = defaults.nodeResourceGroup; this.privateCluster = defaults.privateCluster; this.resourceGroup = defaults.resourceGroup; this.resourceLocation = defaults.resourceLocation; @@ -607,6 +621,14 @@ public Builder nodePools(GetClusterAksConfigV2NodePool... nodePools) { return nodePools(List.of(nodePools)); } @CustomType.Setter + public Builder nodeResourceGroup(String nodeResourceGroup) { + if (nodeResourceGroup == null) { + throw new MissingRequiredPropertyException("GetClusterAksConfigV2", "nodeResourceGroup"); + } + this.nodeResourceGroup = nodeResourceGroup; + return this; + } + @CustomType.Setter public Builder privateCluster(Boolean privateCluster) { if (privateCluster == null) { throw new MissingRequiredPropertyException("GetClusterAksConfigV2", "privateCluster"); @@ -686,6 +708,7 @@ public GetClusterAksConfigV2 build() { _resultValue.networkPolicy = networkPolicy; _resultValue.networkServiceCidr = networkServiceCidr; _resultValue.nodePools = nodePools; + _resultValue.nodeResourceGroup = nodeResourceGroup; _resultValue.privateCluster = privateCluster; _resultValue.resourceGroup = resourceGroup; _resultValue.resourceLocation = resourceLocation; diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetRoleTemplateExternalRule.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetRoleTemplateExternalRule.java new file mode 100644 index 000000000..700679356 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetRoleTemplateExternalRule.java @@ -0,0 +1,156 @@ +// *** 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.rancher2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class GetRoleTemplateExternalRule { + /** + * @return Policy rule api groups + * + */ + private @Nullable List apiGroups; + /** + * @return Policy rule non resource urls + * + */ + private @Nullable List nonResourceUrls; + /** + * @return Policy rule resource names + * + */ + private @Nullable List resourceNames; + /** + * @return Policy rule resources + * + */ + private @Nullable List resources; + /** + * @return Policy rule verbs + * + */ + private @Nullable List verbs; + + private GetRoleTemplateExternalRule() {} + /** + * @return Policy rule api groups + * + */ + public List apiGroups() { + return this.apiGroups == null ? List.of() : this.apiGroups; + } + /** + * @return Policy rule non resource urls + * + */ + public List nonResourceUrls() { + return this.nonResourceUrls == null ? List.of() : this.nonResourceUrls; + } + /** + * @return Policy rule resource names + * + */ + public List resourceNames() { + return this.resourceNames == null ? List.of() : this.resourceNames; + } + /** + * @return Policy rule resources + * + */ + public List resources() { + return this.resources == null ? List.of() : this.resources; + } + /** + * @return Policy rule verbs + * + */ + public List verbs() { + return this.verbs == null ? List.of() : this.verbs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRoleTemplateExternalRule defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List apiGroups; + private @Nullable List nonResourceUrls; + private @Nullable List resourceNames; + private @Nullable List resources; + private @Nullable List verbs; + public Builder() {} + public Builder(GetRoleTemplateExternalRule defaults) { + Objects.requireNonNull(defaults); + this.apiGroups = defaults.apiGroups; + this.nonResourceUrls = defaults.nonResourceUrls; + this.resourceNames = defaults.resourceNames; + this.resources = defaults.resources; + this.verbs = defaults.verbs; + } + + @CustomType.Setter + public Builder apiGroups(@Nullable List apiGroups) { + + this.apiGroups = apiGroups; + return this; + } + public Builder apiGroups(String... apiGroups) { + return apiGroups(List.of(apiGroups)); + } + @CustomType.Setter + public Builder nonResourceUrls(@Nullable List nonResourceUrls) { + + this.nonResourceUrls = nonResourceUrls; + return this; + } + public Builder nonResourceUrls(String... nonResourceUrls) { + return nonResourceUrls(List.of(nonResourceUrls)); + } + @CustomType.Setter + public Builder resourceNames(@Nullable List resourceNames) { + + this.resourceNames = resourceNames; + return this; + } + public Builder resourceNames(String... resourceNames) { + return resourceNames(List.of(resourceNames)); + } + @CustomType.Setter + public Builder resources(@Nullable List resources) { + + this.resources = resources; + return this; + } + public Builder resources(String... resources) { + return resources(List.of(resources)); + } + @CustomType.Setter + public Builder verbs(@Nullable List verbs) { + + this.verbs = verbs; + return this; + } + public Builder verbs(String... verbs) { + return verbs(List.of(verbs)); + } + public GetRoleTemplateExternalRule build() { + final var _resultValue = new GetRoleTemplateExternalRule(); + _resultValue.apiGroups = apiGroups; + _resultValue.nonResourceUrls = nonResourceUrls; + _resultValue.resourceNames = resourceNames; + _resultValue.resources = resources; + _resultValue.verbs = verbs; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetRoleTemplateResult.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetRoleTemplateResult.java index 3e218a232..b0a8d9778 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetRoleTemplateResult.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetRoleTemplateResult.java @@ -5,6 +5,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.rancher2.outputs.GetRoleTemplateExternalRule; import com.pulumi.rancher2.outputs.GetRoleTemplateRule; import java.lang.Boolean; import java.lang.Object; @@ -46,6 +47,11 @@ public final class GetRoleTemplateResult { * */ private Boolean external; + /** + * @return (Computed) External rules used for authorization. (list) + * + */ + private List externalRules; /** * @return (Computed) Hidden role template (bool) * @@ -124,6 +130,13 @@ public String description() { public Boolean external() { return this.external; } + /** + * @return (Computed) External rules used for authorization. (list) + * + */ + public List externalRules() { + return this.externalRules; + } /** * @return (Computed) Hidden role template (bool) * @@ -186,6 +199,7 @@ public static final class Builder { private Boolean defaultRole; private String description; private Boolean external; + private List externalRules; private Boolean hidden; private String id; private Map labels; @@ -203,6 +217,7 @@ public Builder(GetRoleTemplateResult defaults) { this.defaultRole = defaults.defaultRole; this.description = defaults.description; this.external = defaults.external; + this.externalRules = defaults.externalRules; this.hidden = defaults.hidden; this.id = defaults.id; this.labels = defaults.labels; @@ -269,6 +284,17 @@ public Builder external(Boolean external) { return this; } @CustomType.Setter + public Builder externalRules(List externalRules) { + if (externalRules == null) { + throw new MissingRequiredPropertyException("GetRoleTemplateResult", "externalRules"); + } + this.externalRules = externalRules; + return this; + } + public Builder externalRules(GetRoleTemplateExternalRule... externalRules) { + return externalRules(List.of(externalRules)); + } + @CustomType.Setter public Builder hidden(Boolean hidden) { if (hidden == null) { throw new MissingRequiredPropertyException("GetRoleTemplateResult", "hidden"); @@ -339,6 +365,7 @@ public GetRoleTemplateResult build() { _resultValue.defaultRole = defaultRole; _resultValue.description = description; _resultValue.external = external; + _resultValue.externalRules = externalRules; _resultValue.hidden = hidden; _resultValue.id = id; _resultValue.labels = labels; diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/RoleTemplateExternalRule.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/RoleTemplateExternalRule.java new file mode 100644 index 000000000..6f24cda52 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/RoleTemplateExternalRule.java @@ -0,0 +1,156 @@ +// *** 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.rancher2.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class RoleTemplateExternalRule { + /** + * @return Policy rule api groups + * + */ + private @Nullable List apiGroups; + /** + * @return Policy rule non resource urls + * + */ + private @Nullable List nonResourceUrls; + /** + * @return Policy rule resource names + * + */ + private @Nullable List resourceNames; + /** + * @return Policy rule resources + * + */ + private @Nullable List resources; + /** + * @return Policy rule verbs + * + */ + private @Nullable List verbs; + + private RoleTemplateExternalRule() {} + /** + * @return Policy rule api groups + * + */ + public List apiGroups() { + return this.apiGroups == null ? List.of() : this.apiGroups; + } + /** + * @return Policy rule non resource urls + * + */ + public List nonResourceUrls() { + return this.nonResourceUrls == null ? List.of() : this.nonResourceUrls; + } + /** + * @return Policy rule resource names + * + */ + public List resourceNames() { + return this.resourceNames == null ? List.of() : this.resourceNames; + } + /** + * @return Policy rule resources + * + */ + public List resources() { + return this.resources == null ? List.of() : this.resources; + } + /** + * @return Policy rule verbs + * + */ + public List verbs() { + return this.verbs == null ? List.of() : this.verbs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RoleTemplateExternalRule defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List apiGroups; + private @Nullable List nonResourceUrls; + private @Nullable List resourceNames; + private @Nullable List resources; + private @Nullable List verbs; + public Builder() {} + public Builder(RoleTemplateExternalRule defaults) { + Objects.requireNonNull(defaults); + this.apiGroups = defaults.apiGroups; + this.nonResourceUrls = defaults.nonResourceUrls; + this.resourceNames = defaults.resourceNames; + this.resources = defaults.resources; + this.verbs = defaults.verbs; + } + + @CustomType.Setter + public Builder apiGroups(@Nullable List apiGroups) { + + this.apiGroups = apiGroups; + return this; + } + public Builder apiGroups(String... apiGroups) { + return apiGroups(List.of(apiGroups)); + } + @CustomType.Setter + public Builder nonResourceUrls(@Nullable List nonResourceUrls) { + + this.nonResourceUrls = nonResourceUrls; + return this; + } + public Builder nonResourceUrls(String... nonResourceUrls) { + return nonResourceUrls(List.of(nonResourceUrls)); + } + @CustomType.Setter + public Builder resourceNames(@Nullable List resourceNames) { + + this.resourceNames = resourceNames; + return this; + } + public Builder resourceNames(String... resourceNames) { + return resourceNames(List.of(resourceNames)); + } + @CustomType.Setter + public Builder resources(@Nullable List resources) { + + this.resources = resources; + return this; + } + public Builder resources(String... resources) { + return resources(List.of(resources)); + } + @CustomType.Setter + public Builder verbs(@Nullable List verbs) { + + this.verbs = verbs; + return this; + } + public Builder verbs(String... verbs) { + return verbs(List.of(verbs)); + } + public RoleTemplateExternalRule build() { + final var _resultValue = new RoleTemplateExternalRule(); + _resultValue.apiGroups = apiGroups; + _resultValue.nonResourceUrls = nonResourceUrls; + _resultValue.resourceNames = resourceNames; + _resultValue.resources = resources; + _resultValue.verbs = verbs; + return _resultValue; + } + } +} diff --git a/sdk/nodejs/cluster.ts b/sdk/nodejs/cluster.ts index b215bc830..ffcb5fcf1 100644 --- a/sdk/nodejs/cluster.ts +++ b/sdk/nodejs/cluster.ts @@ -534,6 +534,10 @@ import * as utilities from "./utilities"; * dnsPrefix: "", * kubernetesVersion: "1.24.6", * networkPlugin: "", + * virtualNetwork: "", + * virtualNetworkResourceGroup: "", + * subnet: "", + * nodeResourceGroup: "", * nodePools: [ * { * availabilityZones: [ diff --git a/sdk/nodejs/getRoleTemplate.ts b/sdk/nodejs/getRoleTemplate.ts index 64350f415..f2df951fa 100644 --- a/sdk/nodejs/getRoleTemplate.ts +++ b/sdk/nodejs/getRoleTemplate.ts @@ -25,6 +25,7 @@ export function getRoleTemplate(args: GetRoleTemplateArgs, opts?: pulumi.InvokeO opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("rancher2:index/getRoleTemplate:getRoleTemplate", { "context": args.context, + "externalRules": args.externalRules, "name": args.name, }, opts); } @@ -37,6 +38,10 @@ export interface GetRoleTemplateArgs { * Role template context. `cluster` and `project` values are supported (string) */ context?: string; + /** + * (Computed) External rules used for authorization. (list) + */ + externalRules?: inputs.GetRoleTemplateExternalRule[]; /** * The name of the Role Template (string) */ @@ -72,6 +77,10 @@ export interface GetRoleTemplateResult { * (Computed) External role template (bool) */ readonly external: boolean; + /** + * (Computed) External rules used for authorization. (list) + */ + readonly externalRules: outputs.GetRoleTemplateExternalRule[]; /** * (Computed) Hidden role template (bool) */ @@ -124,6 +133,10 @@ export interface GetRoleTemplateOutputArgs { * Role template context. `cluster` and `project` values are supported (string) */ context?: pulumi.Input; + /** + * (Computed) External rules used for authorization. (list) + */ + externalRules?: pulumi.Input[]>; /** * The name of the Role Template (string) */ diff --git a/sdk/nodejs/globalRole.ts b/sdk/nodejs/globalRole.ts index b9fa70b10..7a286fa10 100644 --- a/sdk/nodejs/globalRole.ts +++ b/sdk/nodejs/globalRole.ts @@ -77,7 +77,7 @@ export class GlobalRole extends pulumi.CustomResource { */ public readonly description!: pulumi.Output; /** - * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) */ public readonly inheritedClusterRoles!: pulumi.Output; /** @@ -151,7 +151,7 @@ export interface GlobalRoleState { */ description?: pulumi.Input; /** - * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) */ inheritedClusterRoles?: pulumi.Input[]>; /** @@ -185,7 +185,7 @@ export interface GlobalRoleArgs { */ description?: pulumi.Input; /** - * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + * Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) */ inheritedClusterRoles?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/roleTemplate.ts b/sdk/nodejs/roleTemplate.ts index 692542d35..db87afe9c 100644 --- a/sdk/nodejs/roleTemplate.ts +++ b/sdk/nodejs/roleTemplate.ts @@ -113,6 +113,10 @@ export class RoleTemplate extends pulumi.CustomResource { * External role template. Default `false` (bool) */ public readonly external!: pulumi.Output; + /** + * External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + */ + public readonly externalRules!: pulumi.Output; /** * Hidden role template. Default `false` (bool) */ @@ -158,6 +162,7 @@ export class RoleTemplate extends pulumi.CustomResource { resourceInputs["defaultRole"] = state ? state.defaultRole : undefined; resourceInputs["description"] = state ? state.description : undefined; resourceInputs["external"] = state ? state.external : undefined; + resourceInputs["externalRules"] = state ? state.externalRules : undefined; resourceInputs["hidden"] = state ? state.hidden : undefined; resourceInputs["labels"] = state ? state.labels : undefined; resourceInputs["locked"] = state ? state.locked : undefined; @@ -172,6 +177,7 @@ export class RoleTemplate extends pulumi.CustomResource { resourceInputs["defaultRole"] = args ? args.defaultRole : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["external"] = args ? args.external : undefined; + resourceInputs["externalRules"] = args ? args.externalRules : undefined; resourceInputs["hidden"] = args ? args.hidden : undefined; resourceInputs["labels"] = args ? args.labels : undefined; resourceInputs["locked"] = args ? args.locked : undefined; @@ -217,6 +223,10 @@ export interface RoleTemplateState { * External role template. Default `false` (bool) */ external?: pulumi.Input; + /** + * External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + */ + externalRules?: pulumi.Input[]>; /** * Hidden role template. Default `false` (bool) */ @@ -271,6 +281,10 @@ export interface RoleTemplateArgs { * External role template. Default `false` (bool) */ external?: pulumi.Input; + /** + * External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + */ + externalRules?: pulumi.Input[]>; /** * Hidden role template. Default `false` (bool) */ diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 4951b948e..7461728cb 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -398,6 +398,10 @@ export interface ClusterAksConfigV2 { * The AKS node pools to use. Required if `import=false` */ nodePools?: pulumi.Input[]>; + /** + * The AKS node resource group name + */ + nodeResourceGroup?: pulumi.Input; /** * Is AKS cluster private? */ @@ -4461,6 +4465,52 @@ export interface GetPodSecurityPolicyTemplateSupplementalGroupRangeArgs { min: pulumi.Input; } +export interface GetRoleTemplateExternalRule { + /** + * Policy rule api groups + */ + apiGroups?: string[]; + /** + * Policy rule non resource urls + */ + nonResourceUrls?: string[]; + /** + * Policy rule resource names + */ + resourceNames?: string[]; + /** + * Policy rule resources + */ + resources?: string[]; + /** + * Policy rule verbs + */ + verbs?: string[]; +} + +export interface GetRoleTemplateExternalRuleArgs { + /** + * Policy rule api groups + */ + apiGroups?: pulumi.Input[]>; + /** + * Policy rule non resource urls + */ + nonResourceUrls?: pulumi.Input[]>; + /** + * Policy rule resource names + */ + resourceNames?: pulumi.Input[]>; + /** + * Policy rule resources + */ + resources?: pulumi.Input[]>; + /** + * Policy rule verbs + */ + verbs?: pulumi.Input[]>; +} + export interface GlobalDnsProviderAlidnsConfig { accessKey: pulumi.Input; secretKey: pulumi.Input; @@ -6475,6 +6525,29 @@ export interface RegistryRegistry { username?: pulumi.Input; } +export interface RoleTemplateExternalRule { + /** + * Policy rule api groups + */ + apiGroups?: pulumi.Input[]>; + /** + * Policy rule non resource urls + */ + nonResourceUrls?: pulumi.Input[]>; + /** + * Policy rule resource names + */ + resourceNames?: pulumi.Input[]>; + /** + * Policy rule resources + */ + resources?: pulumi.Input[]>; + /** + * Policy rule verbs + */ + verbs?: pulumi.Input[]>; +} + export interface RoleTemplateRule { /** * Policy rule api groups diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 08c2252cd..80bb2b0ed 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -398,6 +398,10 @@ export interface ClusterAksConfigV2 { * The AKS node pools to use. Required if `import=false` */ nodePools?: outputs.ClusterAksConfigV2NodePool[]; + /** + * The AKS node resource group name + */ + nodeResourceGroup: string; /** * Is AKS cluster private? */ @@ -4329,6 +4333,10 @@ export interface GetClusterAksConfigV2 { * The AKS node pools to use. Required if `import=false` */ nodePools?: outputs.GetClusterAksConfigV2NodePool[]; + /** + * The AKS node resource group name + */ + nodeResourceGroup: string; /** * Is AKS cluster private? */ @@ -8410,6 +8418,29 @@ export interface GetRegistryRegistry { username?: string; } +export interface GetRoleTemplateExternalRule { + /** + * Policy rule api groups + */ + apiGroups?: string[]; + /** + * Policy rule non resource urls + */ + nonResourceUrls?: string[]; + /** + * Policy rule resource names + */ + resourceNames?: string[]; + /** + * Policy rule resources + */ + resources?: string[]; + /** + * Policy rule verbs + */ + verbs?: string[]; +} + export interface GetRoleTemplateRule { /** * Policy rule api groups @@ -10447,6 +10478,29 @@ export interface RegistryRegistry { username?: string; } +export interface RoleTemplateExternalRule { + /** + * Policy rule api groups + */ + apiGroups?: string[]; + /** + * Policy rule non resource urls + */ + nonResourceUrls?: string[]; + /** + * Policy rule resource names + */ + resourceNames?: string[]; + /** + * Policy rule resources + */ + resources?: string[]; + /** + * Policy rule verbs + */ + verbs?: string[]; +} + export interface RoleTemplateRule { /** * Policy rule api groups diff --git a/sdk/python/pulumi_rancher2/_inputs.py b/sdk/python/pulumi_rancher2/_inputs.py index 10aef33f0..98858bfa6 100644 --- a/sdk/python/pulumi_rancher2/_inputs.py +++ b/sdk/python/pulumi_rancher2/_inputs.py @@ -295,6 +295,7 @@ 'ProjectResourceQuotaNamespaceDefaultLimitArgs', 'ProjectResourceQuotaProjectLimitArgs', 'RegistryRegistryArgs', + 'RoleTemplateExternalRuleArgs', 'RoleTemplateRuleArgs', 'GetNotifierDingtalkConfigArgs', 'GetNotifierMsteamsConfigArgs', @@ -313,6 +314,7 @@ 'GetPodSecurityPolicyTemplateSeLinuxSeLinuxOptionArgs', 'GetPodSecurityPolicyTemplateSupplementalGroupArgs', 'GetPodSecurityPolicyTemplateSupplementalGroupRangeArgs', + 'GetRoleTemplateExternalRuleArgs', ] @pulumi.input_type @@ -1477,6 +1479,7 @@ def __init__(__self__, *, network_policy: Optional[pulumi.Input[str]] = None, network_service_cidr: Optional[pulumi.Input[str]] = None, node_pools: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterAksConfigV2NodePoolArgs']]]] = None, + node_resource_group: Optional[pulumi.Input[str]] = None, private_cluster: Optional[pulumi.Input[bool]] = None, subnet: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -1507,6 +1510,7 @@ def __init__(__self__, *, :param pulumi.Input[str] network_policy: The AKS network policy :param pulumi.Input[str] network_service_cidr: The AKS network service cidr :param pulumi.Input[Sequence[pulumi.Input['ClusterAksConfigV2NodePoolArgs']]] node_pools: The AKS node pools to use. Required if `import=false` + :param pulumi.Input[str] node_resource_group: The AKS node resource group name :param pulumi.Input[bool] private_cluster: Is AKS cluster private? :param pulumi.Input[str] subnet: The AKS subnet :param pulumi.Input[Mapping[str, Any]] tags: The AKS cluster tags @@ -1558,6 +1562,8 @@ def __init__(__self__, *, pulumi.set(__self__, "network_service_cidr", network_service_cidr) if node_pools is not None: pulumi.set(__self__, "node_pools", node_pools) + if node_resource_group is not None: + pulumi.set(__self__, "node_resource_group", node_resource_group) if private_cluster is not None: pulumi.set(__self__, "private_cluster", private_cluster) if subnet is not None: @@ -1857,6 +1863,18 @@ def node_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterAksC def node_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterAksConfigV2NodePoolArgs']]]]): pulumi.set(self, "node_pools", value) + @property + @pulumi.getter(name="nodeResourceGroup") + def node_resource_group(self) -> Optional[pulumi.Input[str]]: + """ + The AKS node resource group name + """ + return pulumi.get(self, "node_resource_group") + + @node_resource_group.setter + def node_resource_group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "node_resource_group", value) + @property @pulumi.getter(name="privateCluster") def private_cluster(self) -> Optional[pulumi.Input[bool]]: @@ -30388,6 +30406,93 @@ def username(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "username", value) +@pulumi.input_type +class RoleTemplateExternalRuleArgs: + def __init__(__self__, *, + api_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + non_resource_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + resource_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + verbs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] api_groups: Policy rule api groups + :param pulumi.Input[Sequence[pulumi.Input[str]]] non_resource_urls: Policy rule non resource urls + :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_names: Policy rule resource names + :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: Policy rule resources + :param pulumi.Input[Sequence[pulumi.Input[str]]] verbs: Policy rule verbs + """ + if api_groups is not None: + pulumi.set(__self__, "api_groups", api_groups) + if non_resource_urls is not None: + pulumi.set(__self__, "non_resource_urls", non_resource_urls) + if resource_names is not None: + pulumi.set(__self__, "resource_names", resource_names) + if resources is not None: + pulumi.set(__self__, "resources", resources) + if verbs is not None: + pulumi.set(__self__, "verbs", verbs) + + @property + @pulumi.getter(name="apiGroups") + def api_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Policy rule api groups + """ + return pulumi.get(self, "api_groups") + + @api_groups.setter + def api_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "api_groups", value) + + @property + @pulumi.getter(name="nonResourceUrls") + def non_resource_urls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Policy rule non resource urls + """ + return pulumi.get(self, "non_resource_urls") + + @non_resource_urls.setter + def non_resource_urls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "non_resource_urls", value) + + @property + @pulumi.getter(name="resourceNames") + def resource_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Policy rule resource names + """ + return pulumi.get(self, "resource_names") + + @resource_names.setter + def resource_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "resource_names", value) + + @property + @pulumi.getter + def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Policy rule resources + """ + return pulumi.get(self, "resources") + + @resources.setter + def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "resources", value) + + @property + @pulumi.getter + def verbs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Policy rule verbs + """ + return pulumi.get(self, "verbs") + + @verbs.setter + def verbs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "verbs", value) + + @pulumi.input_type class RoleTemplateRuleArgs: def __init__(__self__, *, @@ -31133,3 +31238,90 @@ def min(self, value: int): pulumi.set(self, "min", value) +@pulumi.input_type +class GetRoleTemplateExternalRuleArgs: + def __init__(__self__, *, + api_groups: Optional[Sequence[str]] = None, + non_resource_urls: Optional[Sequence[str]] = None, + resource_names: Optional[Sequence[str]] = None, + resources: Optional[Sequence[str]] = None, + verbs: Optional[Sequence[str]] = None): + """ + :param Sequence[str] api_groups: Policy rule api groups + :param Sequence[str] non_resource_urls: Policy rule non resource urls + :param Sequence[str] resource_names: Policy rule resource names + :param Sequence[str] resources: Policy rule resources + :param Sequence[str] verbs: Policy rule verbs + """ + if api_groups is not None: + pulumi.set(__self__, "api_groups", api_groups) + if non_resource_urls is not None: + pulumi.set(__self__, "non_resource_urls", non_resource_urls) + if resource_names is not None: + pulumi.set(__self__, "resource_names", resource_names) + if resources is not None: + pulumi.set(__self__, "resources", resources) + if verbs is not None: + pulumi.set(__self__, "verbs", verbs) + + @property + @pulumi.getter(name="apiGroups") + def api_groups(self) -> Optional[Sequence[str]]: + """ + Policy rule api groups + """ + return pulumi.get(self, "api_groups") + + @api_groups.setter + def api_groups(self, value: Optional[Sequence[str]]): + pulumi.set(self, "api_groups", value) + + @property + @pulumi.getter(name="nonResourceUrls") + def non_resource_urls(self) -> Optional[Sequence[str]]: + """ + Policy rule non resource urls + """ + return pulumi.get(self, "non_resource_urls") + + @non_resource_urls.setter + def non_resource_urls(self, value: Optional[Sequence[str]]): + pulumi.set(self, "non_resource_urls", value) + + @property + @pulumi.getter(name="resourceNames") + def resource_names(self) -> Optional[Sequence[str]]: + """ + Policy rule resource names + """ + return pulumi.get(self, "resource_names") + + @resource_names.setter + def resource_names(self, value: Optional[Sequence[str]]): + pulumi.set(self, "resource_names", value) + + @property + @pulumi.getter + def resources(self) -> Optional[Sequence[str]]: + """ + Policy rule resources + """ + return pulumi.get(self, "resources") + + @resources.setter + def resources(self, value: Optional[Sequence[str]]): + pulumi.set(self, "resources", value) + + @property + @pulumi.getter + def verbs(self) -> Optional[Sequence[str]]: + """ + Policy rule verbs + """ + return pulumi.get(self, "verbs") + + @verbs.setter + def verbs(self, value: Optional[Sequence[str]]): + pulumi.set(self, "verbs", value) + + diff --git a/sdk/python/pulumi_rancher2/cluster.py b/sdk/python/pulumi_rancher2/cluster.py index 9d7e91c70..540157df3 100644 --- a/sdk/python/pulumi_rancher2/cluster.py +++ b/sdk/python/pulumi_rancher2/cluster.py @@ -1779,6 +1779,10 @@ def __init__(__self__, dns_prefix="", kubernetes_version="1.24.6", network_plugin="", + virtual_network="", + virtual_network_resource_group="", + subnet="", + node_resource_group="", node_pools=[ rancher2.ClusterAksConfigV2NodePoolArgs( availability_zones=[ @@ -2373,6 +2377,10 @@ def __init__(__self__, dns_prefix="", kubernetes_version="1.24.6", network_plugin="", + virtual_network="", + virtual_network_resource_group="", + subnet="", + node_resource_group="", node_pools=[ rancher2.ClusterAksConfigV2NodePoolArgs( availability_zones=[ diff --git a/sdk/python/pulumi_rancher2/get_role_template.py b/sdk/python/pulumi_rancher2/get_role_template.py index bc1ace23e..bfa33758f 100644 --- a/sdk/python/pulumi_rancher2/get_role_template.py +++ b/sdk/python/pulumi_rancher2/get_role_template.py @@ -9,6 +9,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from . import _utilities from . import outputs +from ._inputs import * __all__ = [ 'GetRoleTemplateResult', @@ -22,7 +23,7 @@ class GetRoleTemplateResult: """ A collection of values returned by getRoleTemplate. """ - def __init__(__self__, administrative=None, annotations=None, builtin=None, context=None, default_role=None, description=None, external=None, hidden=None, id=None, labels=None, locked=None, name=None, role_template_ids=None, rules=None): + def __init__(__self__, administrative=None, annotations=None, builtin=None, context=None, default_role=None, description=None, external=None, external_rules=None, hidden=None, id=None, labels=None, locked=None, name=None, role_template_ids=None, rules=None): if administrative and not isinstance(administrative, bool): raise TypeError("Expected argument 'administrative' to be a bool") pulumi.set(__self__, "administrative", administrative) @@ -44,6 +45,9 @@ def __init__(__self__, administrative=None, annotations=None, builtin=None, cont if external and not isinstance(external, bool): raise TypeError("Expected argument 'external' to be a bool") pulumi.set(__self__, "external", external) + if external_rules and not isinstance(external_rules, list): + raise TypeError("Expected argument 'external_rules' to be a list") + pulumi.set(__self__, "external_rules", external_rules) if hidden and not isinstance(hidden, bool): raise TypeError("Expected argument 'hidden' to be a bool") pulumi.set(__self__, "hidden", hidden) @@ -119,6 +123,14 @@ def external(self) -> bool: """ return pulumi.get(self, "external") + @property + @pulumi.getter(name="externalRules") + def external_rules(self) -> Sequence['outputs.GetRoleTemplateExternalRuleResult']: + """ + (Computed) External rules used for authorization. (list) + """ + return pulumi.get(self, "external_rules") + @property @pulumi.getter def hidden(self) -> bool: @@ -186,6 +198,7 @@ def __await__(self): default_role=self.default_role, description=self.description, external=self.external, + external_rules=self.external_rules, hidden=self.hidden, id=self.id, labels=self.labels, @@ -196,6 +209,7 @@ def __await__(self): def get_role_template(context: Optional[str] = None, + external_rules: Optional[Sequence[pulumi.InputType['GetRoleTemplateExternalRuleArgs']]] = None, name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRoleTemplateResult: """ @@ -212,10 +226,12 @@ def get_role_template(context: Optional[str] = None, :param str context: Role template context. `cluster` and `project` values are supported (string) + :param Sequence[pulumi.InputType['GetRoleTemplateExternalRuleArgs']] external_rules: (Computed) External rules used for authorization. (list) :param str name: The name of the Role Template (string) """ __args__ = dict() __args__['context'] = context + __args__['externalRules'] = external_rules __args__['name'] = name opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('rancher2:index/getRoleTemplate:getRoleTemplate', __args__, opts=opts, typ=GetRoleTemplateResult).value @@ -228,6 +244,7 @@ def get_role_template(context: Optional[str] = None, default_role=pulumi.get(__ret__, 'default_role'), description=pulumi.get(__ret__, 'description'), external=pulumi.get(__ret__, 'external'), + external_rules=pulumi.get(__ret__, 'external_rules'), hidden=pulumi.get(__ret__, 'hidden'), id=pulumi.get(__ret__, 'id'), labels=pulumi.get(__ret__, 'labels'), @@ -239,6 +256,7 @@ def get_role_template(context: Optional[str] = None, @_utilities.lift_output_func(get_role_template) def get_role_template_output(context: Optional[pulumi.Input[Optional[str]]] = None, + external_rules: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetRoleTemplateExternalRuleArgs']]]]] = None, name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRoleTemplateResult]: """ @@ -255,6 +273,7 @@ def get_role_template_output(context: Optional[pulumi.Input[Optional[str]]] = No :param str context: Role template context. `cluster` and `project` values are supported (string) + :param Sequence[pulumi.InputType['GetRoleTemplateExternalRuleArgs']] external_rules: (Computed) External rules used for authorization. (list) :param str name: The name of the Role Template (string) """ ... diff --git a/sdk/python/pulumi_rancher2/global_role.py b/sdk/python/pulumi_rancher2/global_role.py index 86d596e84..b17437c16 100644 --- a/sdk/python/pulumi_rancher2/global_role.py +++ b/sdk/python/pulumi_rancher2/global_role.py @@ -27,7 +27,7 @@ def __init__(__self__, *, The set of arguments for constructing a GlobalRole resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for global role object (map) :param pulumi.Input[str] description: Global role description (string) - :param pulumi.Input[Sequence[pulumi.Input[str]]] inherited_cluster_roles: Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + :param pulumi.Input[Sequence[pulumi.Input[str]]] inherited_cluster_roles: Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) :param pulumi.Input[Mapping[str, Any]] labels: Labels for global role object (map) :param pulumi.Input[str] name: Global role name (string) :param pulumi.Input[bool] new_user_default: Whether or not this role should be added to new users. Default `false` (bool) @@ -76,7 +76,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="inheritedClusterRoles") def inherited_cluster_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) """ return pulumi.get(self, "inherited_cluster_roles") @@ -149,7 +149,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for global role object (map) :param pulumi.Input[bool] builtin: (Computed) Builtin global role (bool) :param pulumi.Input[str] description: Global role description (string) - :param pulumi.Input[Sequence[pulumi.Input[str]]] inherited_cluster_roles: Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + :param pulumi.Input[Sequence[pulumi.Input[str]]] inherited_cluster_roles: Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) :param pulumi.Input[Mapping[str, Any]] labels: Labels for global role object (map) :param pulumi.Input[str] name: Global role name (string) :param pulumi.Input[bool] new_user_default: Whether or not this role should be added to new users. Default `false` (bool) @@ -212,7 +212,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="inheritedClusterRoles") def inherited_cluster_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) """ return pulumi.get(self, "inherited_cluster_roles") @@ -315,7 +315,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for global role object (map) :param pulumi.Input[str] description: Global role description (string) - :param pulumi.Input[Sequence[pulumi.Input[str]]] inherited_cluster_roles: Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + :param pulumi.Input[Sequence[pulumi.Input[str]]] inherited_cluster_roles: Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) :param pulumi.Input[Mapping[str, Any]] labels: Labels for global role object (map) :param pulumi.Input[str] name: Global role name (string) :param pulumi.Input[bool] new_user_default: Whether or not this role should be added to new users. Default `false` (bool) @@ -423,7 +423,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for global role object (map) :param pulumi.Input[bool] builtin: (Computed) Builtin global role (bool) :param pulumi.Input[str] description: Global role description (string) - :param pulumi.Input[Sequence[pulumi.Input[str]]] inherited_cluster_roles: Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + :param pulumi.Input[Sequence[pulumi.Input[str]]] inherited_cluster_roles: Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) :param pulumi.Input[Mapping[str, Any]] labels: Labels for global role object (map) :param pulumi.Input[str] name: Global role name (string) :param pulumi.Input[bool] new_user_default: Whether or not this role should be added to new users. Default `false` (bool) @@ -471,7 +471,7 @@ def description(self) -> pulumi.Output[str]: @pulumi.getter(name="inheritedClusterRoles") def inherited_cluster_roles(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster + Names of role templates whose permissions are granted by this global role in every cluster besides the local cluster (list) """ return pulumi.get(self, "inherited_cluster_roles") diff --git a/sdk/python/pulumi_rancher2/outputs.py b/sdk/python/pulumi_rancher2/outputs.py index cccd6b0bf..b89dba7fc 100644 --- a/sdk/python/pulumi_rancher2/outputs.py +++ b/sdk/python/pulumi_rancher2/outputs.py @@ -296,6 +296,7 @@ 'ProjectResourceQuotaNamespaceDefaultLimit', 'ProjectResourceQuotaProjectLimit', 'RegistryRegistry', + 'RoleTemplateExternalRule', 'RoleTemplateRule', 'GetClusterAksConfigResult', 'GetClusterAksConfigV2Result', @@ -540,6 +541,7 @@ 'GetProjectResourceQuotaNamespaceDefaultLimitResult', 'GetProjectResourceQuotaProjectLimitResult', 'GetRegistryRegistryResult', + 'GetRoleTemplateExternalRuleResult', 'GetRoleTemplateRuleResult', ] @@ -1680,6 +1682,8 @@ def __key_warning(key: str): suggest = "network_service_cidr" elif key == "nodePools": suggest = "node_pools" + elif key == "nodeResourceGroup": + suggest = "node_resource_group" elif key == "privateCluster": suggest = "private_cluster" elif key == "virtualNetwork": @@ -1723,6 +1727,7 @@ def __init__(__self__, *, network_policy: Optional[str] = None, network_service_cidr: Optional[str] = None, node_pools: Optional[Sequence['outputs.ClusterAksConfigV2NodePool']] = None, + node_resource_group: Optional[str] = None, private_cluster: Optional[bool] = None, subnet: Optional[str] = None, tags: Optional[Mapping[str, Any]] = None, @@ -1753,6 +1758,7 @@ def __init__(__self__, *, :param str network_policy: The AKS network policy :param str network_service_cidr: The AKS network service cidr :param Sequence['ClusterAksConfigV2NodePoolArgs'] node_pools: The AKS node pools to use. Required if `import=false` + :param str node_resource_group: The AKS node resource group name :param bool private_cluster: Is AKS cluster private? :param str subnet: The AKS subnet :param Mapping[str, Any] tags: The AKS cluster tags @@ -1804,6 +1810,8 @@ def __init__(__self__, *, pulumi.set(__self__, "network_service_cidr", network_service_cidr) if node_pools is not None: pulumi.set(__self__, "node_pools", node_pools) + if node_resource_group is not None: + pulumi.set(__self__, "node_resource_group", node_resource_group) if private_cluster is not None: pulumi.set(__self__, "private_cluster", private_cluster) if subnet is not None: @@ -2007,6 +2015,14 @@ def node_pools(self) -> Optional[Sequence['outputs.ClusterAksConfigV2NodePool']] """ return pulumi.get(self, "node_pools") + @property + @pulumi.getter(name="nodeResourceGroup") + def node_resource_group(self) -> Optional[str]: + """ + The AKS node resource group name + """ + return pulumi.get(self, "node_resource_group") + @property @pulumi.getter(name="privateCluster") def private_cluster(self) -> Optional[bool]: @@ -28496,6 +28512,94 @@ def username(self) -> Optional[str]: return pulumi.get(self, "username") +@pulumi.output_type +class RoleTemplateExternalRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiGroups": + suggest = "api_groups" + elif key == "nonResourceUrls": + suggest = "non_resource_urls" + elif key == "resourceNames": + suggest = "resource_names" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RoleTemplateExternalRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RoleTemplateExternalRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RoleTemplateExternalRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + api_groups: Optional[Sequence[str]] = None, + non_resource_urls: Optional[Sequence[str]] = None, + resource_names: Optional[Sequence[str]] = None, + resources: Optional[Sequence[str]] = None, + verbs: Optional[Sequence[str]] = None): + """ + :param Sequence[str] api_groups: Policy rule api groups + :param Sequence[str] non_resource_urls: Policy rule non resource urls + :param Sequence[str] resource_names: Policy rule resource names + :param Sequence[str] resources: Policy rule resources + :param Sequence[str] verbs: Policy rule verbs + """ + if api_groups is not None: + pulumi.set(__self__, "api_groups", api_groups) + if non_resource_urls is not None: + pulumi.set(__self__, "non_resource_urls", non_resource_urls) + if resource_names is not None: + pulumi.set(__self__, "resource_names", resource_names) + if resources is not None: + pulumi.set(__self__, "resources", resources) + if verbs is not None: + pulumi.set(__self__, "verbs", verbs) + + @property + @pulumi.getter(name="apiGroups") + def api_groups(self) -> Optional[Sequence[str]]: + """ + Policy rule api groups + """ + return pulumi.get(self, "api_groups") + + @property + @pulumi.getter(name="nonResourceUrls") + def non_resource_urls(self) -> Optional[Sequence[str]]: + """ + Policy rule non resource urls + """ + return pulumi.get(self, "non_resource_urls") + + @property + @pulumi.getter(name="resourceNames") + def resource_names(self) -> Optional[Sequence[str]]: + """ + Policy rule resource names + """ + return pulumi.get(self, "resource_names") + + @property + @pulumi.getter + def resources(self) -> Optional[Sequence[str]]: + """ + Policy rule resources + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter + def verbs(self) -> Optional[Sequence[str]]: + """ + Policy rule verbs + """ + return pulumi.get(self, "verbs") + + @pulumi.output_type class RoleTemplateRule(dict): @staticmethod @@ -29062,6 +29166,7 @@ def __init__(__self__, *, network_pod_cidr: str, network_policy: str, network_service_cidr: str, + node_resource_group: str, private_cluster: bool, resource_group: str, resource_location: str, @@ -29092,6 +29197,7 @@ def __init__(__self__, *, :param str network_pod_cidr: The AKS network pod cidr :param str network_policy: The AKS network policy :param str network_service_cidr: The AKS network service cidr + :param str node_resource_group: The AKS node resource group name :param bool private_cluster: Is AKS cluster private? :param str resource_group: The AKS resource group :param str resource_location: The AKS resource location @@ -29122,6 +29228,7 @@ def __init__(__self__, *, pulumi.set(__self__, "network_pod_cidr", network_pod_cidr) pulumi.set(__self__, "network_policy", network_policy) pulumi.set(__self__, "network_service_cidr", network_service_cidr) + pulumi.set(__self__, "node_resource_group", node_resource_group) pulumi.set(__self__, "private_cluster", private_cluster) pulumi.set(__self__, "resource_group", resource_group) pulumi.set(__self__, "resource_location", resource_location) @@ -29258,6 +29365,14 @@ def network_service_cidr(self) -> str: """ return pulumi.get(self, "network_service_cidr") + @property + @pulumi.getter(name="nodeResourceGroup") + def node_resource_group(self) -> str: + """ + The AKS node resource group name + """ + return pulumi.get(self, "node_resource_group") + @property @pulumi.getter(name="privateCluster") def private_cluster(self) -> bool: @@ -44279,6 +44394,73 @@ def username(self) -> Optional[str]: return pulumi.get(self, "username") +@pulumi.output_type +class GetRoleTemplateExternalRuleResult(dict): + def __init__(__self__, *, + api_groups: Optional[Sequence[str]] = None, + non_resource_urls: Optional[Sequence[str]] = None, + resource_names: Optional[Sequence[str]] = None, + resources: Optional[Sequence[str]] = None, + verbs: Optional[Sequence[str]] = None): + """ + :param Sequence[str] api_groups: Policy rule api groups + :param Sequence[str] non_resource_urls: Policy rule non resource urls + :param Sequence[str] resource_names: Policy rule resource names + :param Sequence[str] resources: Policy rule resources + :param Sequence[str] verbs: Policy rule verbs + """ + if api_groups is not None: + pulumi.set(__self__, "api_groups", api_groups) + if non_resource_urls is not None: + pulumi.set(__self__, "non_resource_urls", non_resource_urls) + if resource_names is not None: + pulumi.set(__self__, "resource_names", resource_names) + if resources is not None: + pulumi.set(__self__, "resources", resources) + if verbs is not None: + pulumi.set(__self__, "verbs", verbs) + + @property + @pulumi.getter(name="apiGroups") + def api_groups(self) -> Optional[Sequence[str]]: + """ + Policy rule api groups + """ + return pulumi.get(self, "api_groups") + + @property + @pulumi.getter(name="nonResourceUrls") + def non_resource_urls(self) -> Optional[Sequence[str]]: + """ + Policy rule non resource urls + """ + return pulumi.get(self, "non_resource_urls") + + @property + @pulumi.getter(name="resourceNames") + def resource_names(self) -> Optional[Sequence[str]]: + """ + Policy rule resource names + """ + return pulumi.get(self, "resource_names") + + @property + @pulumi.getter + def resources(self) -> Optional[Sequence[str]]: + """ + Policy rule resources + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter + def verbs(self) -> Optional[Sequence[str]]: + """ + Policy rule verbs + """ + return pulumi.get(self, "verbs") + + @pulumi.output_type class GetRoleTemplateRuleResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_rancher2/role_template.py b/sdk/python/pulumi_rancher2/role_template.py index 70a7d4ccb..18c409055 100644 --- a/sdk/python/pulumi_rancher2/role_template.py +++ b/sdk/python/pulumi_rancher2/role_template.py @@ -22,6 +22,7 @@ def __init__(__self__, *, default_role: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, external: Optional[pulumi.Input[bool]] = None, + external_rules: Optional[pulumi.Input[Sequence[pulumi.Input['RoleTemplateExternalRuleArgs']]]] = None, hidden: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, locked: Optional[pulumi.Input[bool]] = None, @@ -36,6 +37,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] default_role: Default role template for new created cluster or project. Default `false` (bool) :param pulumi.Input[str] description: Role template description (string) :param pulumi.Input[bool] external: External role template. Default `false` (bool) + :param pulumi.Input[Sequence[pulumi.Input['RoleTemplateExternalRuleArgs']]] external_rules: External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) :param pulumi.Input[bool] hidden: Hidden role template. Default `false` (bool) :param pulumi.Input[Mapping[str, Any]] labels: Labels for role template object (map) :param pulumi.Input[bool] locked: Locked role template. Default `false` (bool) @@ -55,6 +57,8 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if external is not None: pulumi.set(__self__, "external", external) + if external_rules is not None: + pulumi.set(__self__, "external_rules", external_rules) if hidden is not None: pulumi.set(__self__, "hidden", hidden) if labels is not None: @@ -140,6 +144,18 @@ def external(self) -> Optional[pulumi.Input[bool]]: def external(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "external", value) + @property + @pulumi.getter(name="externalRules") + def external_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RoleTemplateExternalRuleArgs']]]]: + """ + External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + """ + return pulumi.get(self, "external_rules") + + @external_rules.setter + def external_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RoleTemplateExternalRuleArgs']]]]): + pulumi.set(self, "external_rules", value) + @property @pulumi.getter def hidden(self) -> Optional[pulumi.Input[bool]]: @@ -223,6 +239,7 @@ def __init__(__self__, *, default_role: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, external: Optional[pulumi.Input[bool]] = None, + external_rules: Optional[pulumi.Input[Sequence[pulumi.Input['RoleTemplateExternalRuleArgs']]]] = None, hidden: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, locked: Optional[pulumi.Input[bool]] = None, @@ -238,6 +255,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] default_role: Default role template for new created cluster or project. Default `false` (bool) :param pulumi.Input[str] description: Role template description (string) :param pulumi.Input[bool] external: External role template. Default `false` (bool) + :param pulumi.Input[Sequence[pulumi.Input['RoleTemplateExternalRuleArgs']]] external_rules: External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) :param pulumi.Input[bool] hidden: Hidden role template. Default `false` (bool) :param pulumi.Input[Mapping[str, Any]] labels: Labels for role template object (map) :param pulumi.Input[bool] locked: Locked role template. Default `false` (bool) @@ -259,6 +277,8 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if external is not None: pulumi.set(__self__, "external", external) + if external_rules is not None: + pulumi.set(__self__, "external_rules", external_rules) if hidden is not None: pulumi.set(__self__, "hidden", hidden) if labels is not None: @@ -356,6 +376,18 @@ def external(self) -> Optional[pulumi.Input[bool]]: def external(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "external", value) + @property + @pulumi.getter(name="externalRules") + def external_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RoleTemplateExternalRuleArgs']]]]: + """ + External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + """ + return pulumi.get(self, "external_rules") + + @external_rules.setter + def external_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RoleTemplateExternalRuleArgs']]]]): + pulumi.set(self, "external_rules", value) + @property @pulumi.getter def hidden(self) -> Optional[pulumi.Input[bool]]: @@ -440,6 +472,7 @@ def __init__(__self__, default_role: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, external: Optional[pulumi.Input[bool]] = None, + external_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateExternalRuleArgs']]]]] = None, hidden: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, locked: Optional[pulumi.Input[bool]] = None, @@ -504,6 +537,7 @@ def __init__(__self__, :param pulumi.Input[bool] default_role: Default role template for new created cluster or project. Default `false` (bool) :param pulumi.Input[str] description: Role template description (string) :param pulumi.Input[bool] external: External role template. Default `false` (bool) + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateExternalRuleArgs']]]] external_rules: External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) :param pulumi.Input[bool] hidden: Hidden role template. Default `false` (bool) :param pulumi.Input[Mapping[str, Any]] labels: Labels for role template object (map) :param pulumi.Input[bool] locked: Locked role template. Default `false` (bool) @@ -587,6 +621,7 @@ def _internal_init(__self__, default_role: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, external: Optional[pulumi.Input[bool]] = None, + external_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateExternalRuleArgs']]]]] = None, hidden: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, locked: Optional[pulumi.Input[bool]] = None, @@ -608,6 +643,7 @@ def _internal_init(__self__, __props__.__dict__["default_role"] = default_role __props__.__dict__["description"] = description __props__.__dict__["external"] = external + __props__.__dict__["external_rules"] = external_rules __props__.__dict__["hidden"] = hidden __props__.__dict__["labels"] = labels __props__.__dict__["locked"] = locked @@ -632,6 +668,7 @@ def get(resource_name: str, default_role: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, external: Optional[pulumi.Input[bool]] = None, + external_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateExternalRuleArgs']]]]] = None, hidden: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, locked: Optional[pulumi.Input[bool]] = None, @@ -652,6 +689,7 @@ def get(resource_name: str, :param pulumi.Input[bool] default_role: Default role template for new created cluster or project. Default `false` (bool) :param pulumi.Input[str] description: Role template description (string) :param pulumi.Input[bool] external: External role template. Default `false` (bool) + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateExternalRuleArgs']]]] external_rules: External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) :param pulumi.Input[bool] hidden: Hidden role template. Default `false` (bool) :param pulumi.Input[Mapping[str, Any]] labels: Labels for role template object (map) :param pulumi.Input[bool] locked: Locked role template. Default `false` (bool) @@ -670,6 +708,7 @@ def get(resource_name: str, __props__.__dict__["default_role"] = default_role __props__.__dict__["description"] = description __props__.__dict__["external"] = external + __props__.__dict__["external_rules"] = external_rules __props__.__dict__["hidden"] = hidden __props__.__dict__["labels"] = labels __props__.__dict__["locked"] = locked @@ -734,6 +773,14 @@ def external(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "external") + @property + @pulumi.getter(name="externalRules") + def external_rules(self) -> pulumi.Output[Sequence['outputs.RoleTemplateExternalRule']]: + """ + External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + """ + return pulumi.get(self, "external_rules") + @property @pulumi.getter def hidden(self) -> pulumi.Output[Optional[bool]]: