Skip to content

Commit

Permalink
Add type aliases and secret outputs to .NET resources (#1026)
Browse files Browse the repository at this point in the history
Add type aliases and secret outputs to .NET resources
  • Loading branch information
mikhailshilkov committed Mar 16, 2020
1 parent babb00f commit 8f7ff63
Show file tree
Hide file tree
Showing 189 changed files with 1,792 additions and 376 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@

## 1.5.7 (March 10, 2020)

### Improvements

- Automatically populate type aliases and additional secret outputs in the .NET SDK.
(https://github.com/pulumi/pulumi-kubernetes/pull/1026).

### Bug fixes

- Replace PersistentVolume if volume source changes. (https://github.com/pulumi/pulumi-kubernetes/pull/1015).
Expand Down
33 changes: 31 additions & 2 deletions pkg/gen/dotnet-templates/kind.cs.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ namespace Pulumi.Kubernetes.{{Group}}.{{Version}}
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public {{Kind}}(string name, Types.Inputs.{{Group}}.{{Version}}.{{Kind}}Args? args = null, CustomResourceOptions? options = null)
: base("kubernetes:{{URNAPIVersion}}:{{Kind}}", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:{{URNAPIVersion}}:{{Kind}}", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -43,6 +43,36 @@ namespace Pulumi.Kubernetes.{{Group}}.{{Version}}
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
{{#MergeOptsRequired}}
var extraOptions = new CustomResourceOptions
{
{{#AdditionalSecretOutputsPresent}}
AdditionalSecretOutputs =
{
{{#AdditionalSecretOutputs}}
"{{.}}",
{{/AdditionalSecretOutputs}}
},
{{/AdditionalSecretOutputsPresent}}
{{#AliasesPresent}}
Aliases =
{
{{#Aliases}}
new Alias { Type = "{{.}}" },
{{/Aliases}}
}
{{/AliasesPresent}}
};

return CustomResourceOptions.Merge(options, extraOptions);
{{/MergeOptsRequired}}
{{^MergeOptsRequired}}
return options;
{{/MergeOptsRequired}}
}

/// <summary>
/// Get an existing {{Kind}} resource's state with the given name and ID.
/// </summary>
Expand All @@ -54,6 +84,5 @@ namespace Pulumi.Kubernetes.{{Group}}.{{Version}}
return new {{Kind}}(name, default(Types.Inputs.{{Group}}.{{Version}}.{{Kind}}Args),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public partial class MutatingWebhookConfiguration : KubernetesResource
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public MutatingWebhookConfiguration(string name, Types.Inputs.AdmissionRegistration.V1.MutatingWebhookConfigurationArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:admissionregistration.k8s.io/v1:MutatingWebhookConfiguration", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:admissionregistration.k8s.io/v1:MutatingWebhookConfiguration", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -69,6 +69,19 @@ private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.AdmissionRegistrat
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
var extraOptions = new CustomResourceOptions
{
Aliases =
{
new Alias { Type = "kubernetes:admissionregistration.k8s.io/v1beta1:MutatingWebhookConfiguration" },
}
};

return CustomResourceOptions.Merge(options, extraOptions);
}

/// <summary>
/// Get an existing MutatingWebhookConfiguration resource's state with the given name and ID.
/// </summary>
Expand All @@ -80,6 +93,5 @@ public static MutatingWebhookConfiguration Get(string name, Input<string> id, Cu
return new MutatingWebhookConfiguration(name, default(Types.Inputs.AdmissionRegistration.V1.MutatingWebhookConfigurationArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public partial class MutatingWebhookConfigurationList : KubernetesResource
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public MutatingWebhookConfigurationList(string name, Types.Inputs.AdmissionRegistration.V1.MutatingWebhookConfigurationListArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:admissionregistration.k8s.io/v1:MutatingWebhookConfigurationList", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:admissionregistration.k8s.io/v1:MutatingWebhookConfigurationList", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -68,6 +68,11 @@ private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.AdmissionRegistrat
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
return options;
}

/// <summary>
/// Get an existing MutatingWebhookConfigurationList resource's state with the given name and ID.
/// </summary>
Expand All @@ -79,6 +84,5 @@ public static MutatingWebhookConfigurationList Get(string name, Input<string> id
return new MutatingWebhookConfigurationList(name, default(Types.Inputs.AdmissionRegistration.V1.MutatingWebhookConfigurationListArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public partial class ValidatingWebhookConfiguration : KubernetesResource
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public ValidatingWebhookConfiguration(string name, Types.Inputs.AdmissionRegistration.V1.ValidatingWebhookConfigurationArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:admissionregistration.k8s.io/v1:ValidatingWebhookConfiguration", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:admissionregistration.k8s.io/v1:ValidatingWebhookConfiguration", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -69,6 +69,19 @@ private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.AdmissionRegistrat
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
var extraOptions = new CustomResourceOptions
{
Aliases =
{
new Alias { Type = "kubernetes:admissionregistration.k8s.io/v1beta1:ValidatingWebhookConfiguration" },
}
};

return CustomResourceOptions.Merge(options, extraOptions);
}

/// <summary>
/// Get an existing ValidatingWebhookConfiguration resource's state with the given name and ID.
/// </summary>
Expand All @@ -80,6 +93,5 @@ public static ValidatingWebhookConfiguration Get(string name, Input<string> id,
return new ValidatingWebhookConfiguration(name, default(Types.Inputs.AdmissionRegistration.V1.ValidatingWebhookConfigurationArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public partial class ValidatingWebhookConfigurationList : KubernetesResource
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public ValidatingWebhookConfigurationList(string name, Types.Inputs.AdmissionRegistration.V1.ValidatingWebhookConfigurationListArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:admissionregistration.k8s.io/v1:ValidatingWebhookConfigurationList", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:admissionregistration.k8s.io/v1:ValidatingWebhookConfigurationList", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -68,6 +68,11 @@ private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.AdmissionRegistrat
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
return options;
}

/// <summary>
/// Get an existing ValidatingWebhookConfigurationList resource's state with the given name and ID.
/// </summary>
Expand All @@ -79,6 +84,5 @@ public static ValidatingWebhookConfigurationList Get(string name, Input<string>
return new ValidatingWebhookConfigurationList(name, default(Types.Inputs.AdmissionRegistration.V1.ValidatingWebhookConfigurationListArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public partial class MutatingWebhookConfiguration : KubernetesResource
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public MutatingWebhookConfiguration(string name, Types.Inputs.AdmissionRegistration.V1Beta1.MutatingWebhookConfigurationArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:admissionregistration.k8s.io/v1beta1:MutatingWebhookConfiguration", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:admissionregistration.k8s.io/v1beta1:MutatingWebhookConfiguration", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -70,6 +70,19 @@ private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.AdmissionRegistrat
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
var extraOptions = new CustomResourceOptions
{
Aliases =
{
new Alias { Type = "kubernetes:admissionregistration.k8s.io/v1:MutatingWebhookConfiguration" },
}
};

return CustomResourceOptions.Merge(options, extraOptions);
}

/// <summary>
/// Get an existing MutatingWebhookConfiguration resource's state with the given name and ID.
/// </summary>
Expand All @@ -81,6 +94,5 @@ public static MutatingWebhookConfiguration Get(string name, Input<string> id, Cu
return new MutatingWebhookConfiguration(name, default(Types.Inputs.AdmissionRegistration.V1Beta1.MutatingWebhookConfigurationArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public partial class MutatingWebhookConfigurationList : KubernetesResource
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public MutatingWebhookConfigurationList(string name, Types.Inputs.AdmissionRegistration.V1Beta1.MutatingWebhookConfigurationListArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:admissionregistration.k8s.io/v1beta1:MutatingWebhookConfigurationList", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:admissionregistration.k8s.io/v1beta1:MutatingWebhookConfigurationList", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -68,6 +68,11 @@ private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.AdmissionRegistrat
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
return options;
}

/// <summary>
/// Get an existing MutatingWebhookConfigurationList resource's state with the given name and ID.
/// </summary>
Expand All @@ -79,6 +84,5 @@ public static MutatingWebhookConfigurationList Get(string name, Input<string> id
return new MutatingWebhookConfigurationList(name, default(Types.Inputs.AdmissionRegistration.V1Beta1.MutatingWebhookConfigurationListArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public partial class ValidatingWebhookConfiguration : KubernetesResource
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public ValidatingWebhookConfiguration(string name, Types.Inputs.AdmissionRegistration.V1Beta1.ValidatingWebhookConfigurationArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:admissionregistration.k8s.io/v1beta1:ValidatingWebhookConfiguration", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:admissionregistration.k8s.io/v1beta1:ValidatingWebhookConfiguration", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -70,6 +70,19 @@ private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.AdmissionRegistrat
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
var extraOptions = new CustomResourceOptions
{
Aliases =
{
new Alias { Type = "kubernetes:admissionregistration.k8s.io/v1:ValidatingWebhookConfiguration" },
}
};

return CustomResourceOptions.Merge(options, extraOptions);
}

/// <summary>
/// Get an existing ValidatingWebhookConfiguration resource's state with the given name and ID.
/// </summary>
Expand All @@ -81,6 +94,5 @@ public static ValidatingWebhookConfiguration Get(string name, Input<string> id,
return new ValidatingWebhookConfiguration(name, default(Types.Inputs.AdmissionRegistration.V1Beta1.ValidatingWebhookConfigurationArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public partial class ValidatingWebhookConfigurationList : KubernetesResource
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public ValidatingWebhookConfigurationList(string name, Types.Inputs.AdmissionRegistration.V1Beta1.ValidatingWebhookConfigurationListArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:admissionregistration.k8s.io/v1beta1:ValidatingWebhookConfigurationList", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:admissionregistration.k8s.io/v1beta1:ValidatingWebhookConfigurationList", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -68,6 +68,11 @@ private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.AdmissionRegistrat
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
return options;
}

/// <summary>
/// Get an existing ValidatingWebhookConfigurationList resource's state with the given name and ID.
/// </summary>
Expand All @@ -79,6 +84,5 @@ public static ValidatingWebhookConfigurationList Get(string name, Input<string>
return new ValidatingWebhookConfigurationList(name, default(Types.Inputs.AdmissionRegistration.V1Beta1.ValidatingWebhookConfigurationListArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
16 changes: 14 additions & 2 deletions sdk/dotnet/ApiExtensions/V1/CustomResourceDefinition.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public partial class CustomResourceDefinition : KubernetesResource
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public CustomResourceDefinition(string name, Types.Inputs.ApiExtensions.V1.CustomResourceDefinitionArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:apiextensions.k8s.io/v1:CustomResourceDefinition", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:apiextensions.k8s.io/v1:CustomResourceDefinition", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -72,6 +72,19 @@ private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.ApiExtensions.V1.C
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
var extraOptions = new CustomResourceOptions
{
Aliases =
{
new Alias { Type = "kubernetes:apiextensions.k8s.io/v1beta1:CustomResourceDefinition" },
}
};

return CustomResourceOptions.Merge(options, extraOptions);
}

/// <summary>
/// Get an existing CustomResourceDefinition resource's state with the given name and ID.
/// </summary>
Expand All @@ -83,6 +96,5 @@ public static CustomResourceDefinition Get(string name, Input<string> id, Custom
return new CustomResourceDefinition(name, default(Types.Inputs.ApiExtensions.V1.CustomResourceDefinitionArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
8 changes: 6 additions & 2 deletions sdk/dotnet/ApiExtensions/V1/CustomResourceDefinitionList.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public partial class CustomResourceDefinitionList : KubernetesResource
/// <param name="args">The arguments used to populate this resource's properties</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public CustomResourceDefinitionList(string name, Types.Inputs.ApiExtensions.V1.CustomResourceDefinitionListArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:apiextensions.k8s.io/v1:CustomResourceDefinitionList", name, SetAPIKindAndVersion(args), options)
: base("kubernetes:apiextensions.k8s.io/v1:CustomResourceDefinitionList", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

Expand All @@ -65,6 +65,11 @@ private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.ApiExtensions.V1.C
return args;
}

private static CustomResourceOptions? MakeOptions(CustomResourceOptions? options)
{
return options;
}

/// <summary>
/// Get an existing CustomResourceDefinitionList resource's state with the given name and ID.
/// </summary>
Expand All @@ -76,6 +81,5 @@ public static CustomResourceDefinitionList Get(string name, Input<string> id, Cu
return new CustomResourceDefinitionList(name, default(Types.Inputs.ApiExtensions.V1.CustomResourceDefinitionListArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}

}
}
Loading

0 comments on commit 8f7ff63

Please sign in to comment.