Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for k8s 1.18 #872

Merged
merged 2 commits into from
Mar 25, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
## HEAD (Unreleased)

## 1.6.0 (March 25, 2020)

### Improvements

- Add a Go SDK. (https://github.com/pulumi/pulumi-kubernetes/pull/1029) (https://github.com/pulumi/pulumi-kubernetes/pull/1042).
- Add support for Kubernetes 1.18. (https://github.com/pulumi/pulumi-kubernetes/pull/872) (https://github.com/pulumi/pulumi-kubernetes/pull/1042).

### Bug fixes

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ PROVIDER := pulumi-resource-${PACK}
CODEGEN := pulumi-gen-${PACK}
VERSION ?= $(shell scripts/get-version)
PYPI_VERSION := $(shell scripts/get-py-version)
KUBE_VERSION ?= v1.17.0
KUBE_VERSION ?= v1.18.0-rc.1
SWAGGER_URL ?= https://github.com/kubernetes/kubernetes/raw/${KUBE_VERSION}/api/openapi-spec/swagger.json
OPENAPI_DIR := pkg/gen/openapi-specs
OPENAPI_FILE := ${OPENAPI_DIR}/swagger-${KUBE_VERSION}.json
Expand Down
9 changes: 9 additions & 0 deletions sdk/dotnet/Core/V1/ConfigMap.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,15 @@ public partial class ConfigMap : KubernetesResource
[Output("data")]
public Output<ImmutableDictionary<string, string>> Data { get; private set; } = null!;

/// <summary>
/// Immutable, if set to true, ensures that data stored in the ConfigMap cannot be updated
/// (only object metadata can be modified). If not set to true, the field can be modified at
/// any time. Defaulted to nil. This is an alpha field enabled by ImmutableEphemeralVolumes
/// feature gate.
/// </summary>
[Output("immutable")]
public Output<bool> Immutable { get; private set; } = null!;

/// <summary>
/// Kind is a string value representing the REST resource this object represents. Servers
/// may infer this from the endpoint the client submits requests to. Cannot be updated. In
Expand Down
9 changes: 9 additions & 0 deletions sdk/dotnet/Core/V1/Secret.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,15 @@ public partial class Secret : KubernetesResource
[Output("data")]
public Output<ImmutableDictionary<string, string>> Data { get; private set; } = null!;

/// <summary>
/// Immutable, if set to true, ensures that data stored in the Secret cannot be updated
/// (only object metadata can be modified). If not set to true, the field can be modified at
/// any time. Defaulted to nil. This is an alpha field enabled by ImmutableEphemeralVolumes
/// feature gate.
/// </summary>
[Output("immutable")]
public Output<bool> Immutable { get; private set; } = null!;

/// <summary>
/// Kind is a string value representing the REST resource this object represents. Servers
/// may infer this from the endpoint the client submits requests to. Cannot be updated. In
Expand Down
93 changes: 93 additions & 0 deletions sdk/dotnet/Networking/V1Beta1/IngressClass.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
// *** WARNING: this file was generated by the Pulumi Kubernetes codegen tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.Kubernetes.Networking.V1Beta1
{
/// <summary>
/// IngressClass represents the class of the Ingress, referenced by the Ingress Spec. The
/// `ingressclass.kubernetes.io/is-default-class` annotation can be used to indicate that an
/// IngressClass should be considered default. When a single IngressClass resource has this
/// annotation set to true, new Ingress resources without a class specified will be assigned
/// this default class.
/// </summary>
public partial class IngressClass : KubernetesResource
{
/// <summary>
/// APIVersion defines the versioned schema of this representation of an object. Servers
/// should convert recognized schemas to the latest internal value, and may reject
/// unrecognized values. More info:
/// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
/// </summary>
[Output("apiVersion")]
public Output<string> ApiVersion { get; private set; } = null!;

/// <summary>
/// Kind is a string value representing the REST resource this object represents. Servers
/// may infer this from the endpoint the client submits requests to. Cannot be updated. In
/// CamelCase. More info:
/// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
/// </summary>
[Output("kind")]
public Output<string> Kind { get; private set; } = null!;

/// <summary>
/// Standard object's metadata. More info:
/// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
/// </summary>
[Output("metadata")]
public Output<Types.Outputs.Meta.V1.ObjectMeta> Metadata { get; private set; } = null!;

/// <summary>
/// Spec is the desired state of the IngressClass. More info:
/// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
/// </summary>
[Output("spec")]
public Output<Types.Outputs.Networking.V1Beta1.IngressClassSpec> Spec { get; private set; } = null!;


/// <summary>
/// Create a IngressClass resource with the given unique name, arguments, and options.
/// </summary>
/// <param name="name">The unique name of the resource</param>
/// <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 IngressClass(string name, Types.Inputs.Networking.V1Beta1.IngressClassArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:networking.k8s.io/v1beta1:IngressClass", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

internal IngressClass(string name, ImmutableDictionary<string, object?> dictionary, CustomResourceOptions? options = null)
: base("kubernetes:networking.k8s.io/v1beta1:IngressClass", name, dictionary, options)
{
}

private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.Networking.V1Beta1.IngressClassArgs? args)
{
args ??= new Types.Inputs.Networking.V1Beta1.IngressClassArgs();
args.ApiVersion = "networking.k8s.io/v1beta1";
args.Kind = "IngressClass";
return args;
}

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

/// <summary>
/// Get an existing IngressClass resource's state with the given name and ID.
/// </summary>
/// <param name="name">The unique name of the resulting resource.</param>
/// <param name="id">The unique provider ID of the resource to lookup.</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public static IngressClass Get(string name, Input<string> id, CustomResourceOptions? options = null)
{
return new IngressClass(name, default(Types.Inputs.Networking.V1Beta1.IngressClassArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}
}
}
87 changes: 87 additions & 0 deletions sdk/dotnet/Networking/V1Beta1/IngressClassList.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
// *** WARNING: this file was generated by the Pulumi Kubernetes codegen tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.Kubernetes.Networking.V1Beta1
{
/// <summary>
/// IngressClassList is a collection of IngressClasses.
/// </summary>
public partial class IngressClassList : KubernetesResource
{
/// <summary>
/// APIVersion defines the versioned schema of this representation of an object. Servers
/// should convert recognized schemas to the latest internal value, and may reject
/// unrecognized values. More info:
/// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
/// </summary>
[Output("apiVersion")]
public Output<string> ApiVersion { get; private set; } = null!;

/// <summary>
/// Items is the list of IngressClasses.
/// </summary>
[Output("items")]
public Output<ImmutableArray<Types.Outputs.Networking.V1Beta1.IngressClass>> Items { get; private set; } = null!;

/// <summary>
/// Kind is a string value representing the REST resource this object represents. Servers
/// may infer this from the endpoint the client submits requests to. Cannot be updated. In
/// CamelCase. More info:
/// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
/// </summary>
[Output("kind")]
public Output<string> Kind { get; private set; } = null!;

/// <summary>
/// Standard list metadata.
/// </summary>
[Output("metadata")]
public Output<Types.Outputs.Meta.V1.ListMeta> Metadata { get; private set; } = null!;


/// <summary>
/// Create a IngressClassList resource with the given unique name, arguments, and options.
/// </summary>
/// <param name="name">The unique name of the resource</param>
/// <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 IngressClassList(string name, Types.Inputs.Networking.V1Beta1.IngressClassListArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:networking.k8s.io/v1beta1:IngressClassList", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

internal IngressClassList(string name, ImmutableDictionary<string, object?> dictionary, CustomResourceOptions? options = null)
: base("kubernetes:networking.k8s.io/v1beta1:IngressClassList", name, dictionary, options)
{
}

private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.Networking.V1Beta1.IngressClassListArgs? args)
{
args ??= new Types.Inputs.Networking.V1Beta1.IngressClassListArgs();
args.ApiVersion = "networking.k8s.io/v1beta1";
args.Kind = "IngressClassList";
return args;
}

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

/// <summary>
/// Get an existing IngressClassList resource's state with the given name and ID.
/// </summary>
/// <param name="name">The unique name of the resulting resource.</param>
/// <param name="id">The unique provider ID of the resource to lookup.</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public static IngressClassList Get(string name, Input<string> id, CustomResourceOptions? options = null)
{
return new IngressClassList(name, default(Types.Inputs.Networking.V1Beta1.IngressClassListArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}
}
}
103 changes: 103 additions & 0 deletions sdk/dotnet/Storage/V1/CSIDriver.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
// *** WARNING: this file was generated by the Pulumi Kubernetes codegen tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.Kubernetes.Storage.V1
{
/// <summary>
/// CSIDriver captures information about a Container Storage Interface (CSI) volume driver
/// deployed on the cluster. Kubernetes attach detach controller uses this object to determine
/// whether attach is required. Kubelet uses this object to determine whether pod information
/// needs to be passed on mount. CSIDriver objects are non-namespaced.
/// </summary>
public partial class CSIDriver : KubernetesResource
{
/// <summary>
/// APIVersion defines the versioned schema of this representation of an object. Servers
/// should convert recognized schemas to the latest internal value, and may reject
/// unrecognized values. More info:
/// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
/// </summary>
[Output("apiVersion")]
public Output<string> ApiVersion { get; private set; } = null!;

/// <summary>
/// Kind is a string value representing the REST resource this object represents. Servers
/// may infer this from the endpoint the client submits requests to. Cannot be updated. In
/// CamelCase. More info:
/// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
/// </summary>
[Output("kind")]
public Output<string> Kind { get; private set; } = null!;

/// <summary>
/// Standard object metadata. metadata.Name indicates the name of the CSI driver that this
/// object refers to; it MUST be the same name returned by the CSI GetPluginName() call for
/// that driver. The driver name must be 63 characters or less, beginning and ending with an
/// alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and alphanumerics
/// between. More info:
/// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
/// </summary>
[Output("metadata")]
public Output<Types.Outputs.Meta.V1.ObjectMeta> Metadata { get; private set; } = null!;

/// <summary>
/// Specification of the CSI Driver.
/// </summary>
[Output("spec")]
public Output<Types.Outputs.Storage.V1.CSIDriverSpec> Spec { get; private set; } = null!;


/// <summary>
/// Create a CSIDriver resource with the given unique name, arguments, and options.
/// </summary>
/// <param name="name">The unique name of the resource</param>
/// <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 CSIDriver(string name, Types.Inputs.Storage.V1.CSIDriverArgs? args = null, CustomResourceOptions? options = null)
: base("kubernetes:storage.k8s.io/v1:CSIDriver", name, SetAPIKindAndVersion(args), MakeOptions(options))
{
}

internal CSIDriver(string name, ImmutableDictionary<string, object?> dictionary, CustomResourceOptions? options = null)
: base("kubernetes:storage.k8s.io/v1:CSIDriver", name, dictionary, options)
{
}

private static ResourceArgs SetAPIKindAndVersion(Types.Inputs.Storage.V1.CSIDriverArgs? args)
{
args ??= new Types.Inputs.Storage.V1.CSIDriverArgs();
args.ApiVersion = "storage.k8s.io/v1";
args.Kind = "CSIDriver";
return args;
}

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

return CustomResourceOptions.Merge(options, extraOptions);
}

/// <summary>
/// Get an existing CSIDriver resource's state with the given name and ID.
/// </summary>
/// <param name="name">The unique name of the resulting resource.</param>
/// <param name="id">The unique provider ID of the resource to lookup.</param>
/// <param name="options">A bag of options that control this resource's behavior</param>
public static CSIDriver Get(string name, Input<string> id, CustomResourceOptions? options = null)
{
return new CSIDriver(name, default(Types.Inputs.Storage.V1.CSIDriverArgs),
CustomResourceOptions.Merge(options, new CustomResourceOptions {Id = id}));
}
}
}
Loading