@pulumi/kubernetes
Version:
[](https://github.com/pulumi/pulumi-kubernetes/actions) [](https://slack.pulumi.com) [;
* const statefulset = new kubernetes.apps.v1.StatefulSet("statefulset", {spec: {
* replicas: 3,
* selector: {
* matchLabels: {
* app: "nginx",
* },
* },
* serviceName: service.metadata.apply(metadata => metadata?.name),
* template: {
* metadata: {
* labels: {
* app: "nginx",
* },
* },
* spec: {
* containers: [{
* image: "nginx:stable-alpine3.17-slim",
* name: "nginx",
* ports: [{
* containerPort: 80,
* name: "web",
* }],
* volumeMounts: [{
* mountPath: "/usr/share/nginx/html",
* name: "www",
* }],
* }],
* terminationGracePeriodSeconds: 10,
* },
* },
* volumeClaimTemplates: [{
* metadata: {
* name: "www",
* },
* spec: {
* accessModes: ["ReadWriteOnce"],
* resources: {
* requests: {
* storage: "1Gi",
* },
* },
* },
* }],
* }});
* ```
* ### Create a StatefulSet with a user-specified name
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as kubernetes from "@pulumi/kubernetes";
*
* const service = new kubernetes.core.v1.Service("service", {
* metadata: {
* labels: {
* app: "nginx",
* },
* name: "nginx",
* },
* spec: {
* clusterIP: "None",
* ports: [{
* name: "web",
* port: 80,
* }],
* selector: {
* app: "nginx",
* },
* },
* });
* const statefulset = new kubernetes.apps.v1.StatefulSet("statefulset", {
* metadata: {
* name: "web",
* },
* spec: {
* replicas: 3,
* selector: {
* matchLabels: {
* app: "nginx",
* },
* },
* serviceName: service.metadata.apply(metadata => metadata?.name),
* template: {
* metadata: {
* labels: {
* app: "nginx",
* },
* },
* spec: {
* containers: [{
* image: "nginx:stable-alpine3.17-slim",
* name: "nginx",
* ports: [{
* containerPort: 80,
* name: "web",
* }],
* volumeMounts: [{
* mountPath: "/usr/share/nginx/html",
* name: "www",
* }],
* }],
* terminationGracePeriodSeconds: 10,
* },
* },
* volumeClaimTemplates: [{
* metadata: {
* name: "www",
* },
* spec: {
* accessModes: ["ReadWriteOnce"],
* resources: {
* requests: {
* storage: "1Gi",
* },
* },
* },
* }],
* },
* });
* ```
*/
export declare class StatefulSet extends pulumi.CustomResource {
/**
* Get an existing StatefulSet resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): StatefulSet;
/**
* Returns true if the given object is an instance of StatefulSet. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is StatefulSet;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"apps/v1">;
/**
* 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
*/
readonly kind: pulumi.Output<"StatefulSet">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMeta>;
/**
* Spec defines the desired identities of pods in this set.
*/
readonly spec: pulumi.Output<outputs.apps.v1.StatefulSetSpec>;
/**
* Status is the current status of Pods in this StatefulSet. This data may be out of date by some window of time.
*/
readonly status: pulumi.Output<outputs.apps.v1.StatefulSetStatus>;
/**
* Create a StatefulSet resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: StatefulSetArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a StatefulSet resource.
*/
export interface StatefulSetArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"apps/v1" | undefined>;
/**
* 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
*/
kind?: pulumi.Input<"StatefulSet" | undefined>;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta | undefined>;
/**
* Spec defines the desired identities of pods in this set.
*/
spec?: pulumi.Input<inputs.apps.v1.StatefulSetSpec | undefined>;
}
//# sourceMappingURL=statefulSet.d.ts.map