-
Notifications
You must be signed in to change notification settings - Fork 115
/
RoleBinding.ts
executable file
·103 lines (90 loc) · 4.5 KB
/
RoleBinding.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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! ***
import * as pulumi from "@pulumi/pulumi";
import * as inputApi from "../../types/input";
import * as outputApi from "../../types/output";
import { getVersion } from "../../version";
/**
* RoleBinding references a role, but does not contain it. It can reference a Role in the same
* namespace or a ClusterRole in the global namespace. It adds who information via Subjects and
* namespace information by which namespace it exists in. RoleBindings in a given namespace
* only have effect in that namespace.
*/
export class RoleBinding extends pulumi.CustomResource {
/**
* 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/api-conventions.md#resources
*/
public readonly apiVersion: pulumi.Output<"rbac.authorization.k8s.io/v1beta1">;
/**
* 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/api-conventions.md#types-kinds
*/
public readonly kind: pulumi.Output<"RoleBinding">;
/**
* Standard object's metadata.
*/
public readonly metadata: pulumi.Output<outputApi.meta.v1.ObjectMeta>;
/**
* RoleRef can reference a Role in the current namespace or a ClusterRole in the global
* namespace. If the RoleRef cannot be resolved, the Authorizer must return an error.
*/
public readonly roleRef: pulumi.Output<outputApi.rbac.v1beta1.RoleRef>;
/**
* Subjects holds references to the objects the role applies to.
*/
public readonly subjects: pulumi.Output<outputApi.rbac.v1beta1.Subject[]>;
/**
* Get the state of an existing `RoleBinding` resource, as identified by `id`.
* Typically this ID is of the form <namespace>/<name>; if <namespace> is omitted, then (per
* Kubernetes convention) the ID becomes default/<name>.
*
* Pulumi will keep track of this resource using `name` as the Pulumi ID.
*
* @param name _Unique_ name used to register this resource with Pulumi.
* @param id An ID for the Kubernetes resource to retrieve. Takes the form
* <namespace>/<name> or <name>.
* @param opts Uniquely specifies a CustomResource to select.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): RoleBinding {
return new RoleBinding(name, undefined, { ...opts, id: id });
}
/** @internal */
private static readonly __pulumiType = "kubernetes:rbac.authorization.k8s.io/v1beta1:RoleBinding";
/**
* Returns true if the given object is an instance of RoleBinding. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is RoleBinding {
if (obj === undefined || obj === null) {
return false;
}
return obj["__pulumiType"] === RoleBinding.__pulumiType;
}
/**
* Create a rbac.v1beta1.RoleBinding 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?: inputApi.rbac.v1beta1.RoleBinding, opts?: pulumi.CustomResourceOptions) {
let inputs: pulumi.Inputs = {};
inputs["apiVersion"] = "rbac.authorization.k8s.io/v1beta1";
inputs["kind"] = "RoleBinding";
inputs["metadata"] = args && args.metadata || undefined;
inputs["roleRef"] = args && args.roleRef || undefined;
inputs["subjects"] = args && args.subjects || undefined;
if (!opts) {
opts = {};
}
if (!opts.version) {
opts.version = getVersion();
}
super(RoleBinding.__pulumiType, name, inputs, opts);
}
}