@pulumiverse/buildkite 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +110 -0
  3. package/agent/agentToken.d.ts +94 -0
  4. package/agent/agentToken.js +77 -0
  5. package/agent/agentToken.js.map +1 -0
  6. package/agent/index.d.ts +3 -0
  7. package/agent/index.js +22 -0
  8. package/agent/index.js.map +1 -0
  9. package/config/index.d.ts +1 -0
  10. package/config/index.js +21 -0
  11. package/config/index.js.map +1 -0
  12. package/config/vars.d.ts +16 -0
  13. package/config/vars.js +31 -0
  14. package/config/vars.js.map +1 -0
  15. package/getMeta.d.ts +15 -0
  16. package/getMeta.js +13 -0
  17. package/getMeta.js.map +1 -0
  18. package/index.d.ts +12 -0
  19. package/index.js +34 -0
  20. package/index.js.map +1 -0
  21. package/organization/getOrganization.d.ts +47 -0
  22. package/organization/getOrganization.js +32 -0
  23. package/organization/getOrganization.js.map +1 -0
  24. package/organization/index.d.ts +6 -0
  25. package/organization/index.js +25 -0
  26. package/organization/index.js.map +1 -0
  27. package/organization/settings.d.ts +76 -0
  28. package/organization/settings.js +77 -0
  29. package/organization/settings.js.map +1 -0
  30. package/package.json +29 -0
  31. package/package.json.bak +29 -0
  32. package/pipeline/getPipeline.d.ts +89 -0
  33. package/pipeline/getPipeline.js +57 -0
  34. package/pipeline/getPipeline.js.map +1 -0
  35. package/pipeline/index.d.ts +9 -0
  36. package/pipeline/index.js +30 -0
  37. package/pipeline/index.js.map +1 -0
  38. package/pipeline/pipeline.d.ts +363 -0
  39. package/pipeline/pipeline.js +186 -0
  40. package/pipeline/pipeline.js.map +1 -0
  41. package/pipeline/schedule.d.ts +166 -0
  42. package/pipeline/schedule.js +106 -0
  43. package/pipeline/schedule.js.map +1 -0
  44. package/provider.d.ts +59 -0
  45. package/provider.js +54 -0
  46. package/provider.js.map +1 -0
  47. package/scripts/install-pulumi-plugin.js +26 -0
  48. package/team/getTeam.d.ts +97 -0
  49. package/team/getTeam.js +57 -0
  50. package/team/getTeam.js.map +1 -0
  51. package/team/index.d.ts +9 -0
  52. package/team/index.js +30 -0
  53. package/team/index.js.map +1 -0
  54. package/team/member.d.ts +149 -0
  55. package/team/member.js +133 -0
  56. package/team/member.js.map +1 -0
  57. package/team/team.d.ts +146 -0
  58. package/team/team.js +94 -0
  59. package/team/team.js.map +1 -0
  60. package/types/index.d.ts +3 -0
  61. package/types/index.js +11 -0
  62. package/types/index.js.map +1 -0
  63. package/types/input.d.ts +88 -0
  64. package/types/input.js +5 -0
  65. package/types/input.js.map +1 -0
  66. package/types/output.d.ts +87 -0
  67. package/types/output.js +5 -0
  68. package/types/output.js.map +1 -0
  69. package/utilities.d.ts +4 -0
  70. package/utilities.js +69 -0
  71. package/utilities.js.map +1 -0
@@ -0,0 +1,166 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * ## # Resource: pipelineSchedule
4
+ *
5
+ * This resource allows you to create and manage pipeline schedules.
6
+ *
7
+ * Buildkite Documentation: https://buildkite.com/docs/pipelines/scheduled-builds
8
+ *
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as buildkite from "@pulumiverse/buildkite";
14
+ *
15
+ * const repo2Nightly = new buildkite.pipeline.Schedule("repo2Nightly", {
16
+ * pipelineId: buildkite_pipeline.repo2.id,
17
+ * label: "Nightly build",
18
+ * cronline: "@midnight",
19
+ * branch: buildkite_pipeline.repo2.default_branch,
20
+ * });
21
+ * ```
22
+ *
23
+ * ## Import
24
+ *
25
+ * Pipeline schedules can be imported using a slug (which consists of `$BUILDKITE_ORGANIZATION_SLUG/$BUILDKITE_PIPELINE_SLUG/$PIPELINE_SCHEDULE_UUID`), e.g.
26
+ *
27
+ * ```sh
28
+ * $ pulumi import buildkite:Pipeline/schedule:Schedule test myorg/test/1be3e7c7-1e03-4011-accf-b2d8eec90222
29
+ * ```
30
+ */
31
+ export declare class Schedule extends pulumi.CustomResource {
32
+ /**
33
+ * Get an existing Schedule resource's state with the given name, ID, and optional extra
34
+ * properties used to qualify the lookup.
35
+ *
36
+ * @param name The _unique_ name of the resulting resource.
37
+ * @param id The _unique_ provider ID of the resource to lookup.
38
+ * @param state Any extra arguments used during the lookup.
39
+ * @param opts Optional settings to control the behavior of the CustomResource.
40
+ */
41
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScheduleState, opts?: pulumi.CustomResourceOptions): Schedule;
42
+ /**
43
+ * Returns true if the given object is an instance of Schedule. This is designed to work even
44
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
45
+ */
46
+ static isInstance(obj: any): obj is Schedule;
47
+ /**
48
+ * The branch to use for the build.
49
+ */
50
+ readonly branch: pulumi.Output<string>;
51
+ /**
52
+ * The commit ref to use for the build.
53
+ */
54
+ readonly commit: pulumi.Output<string | undefined>;
55
+ /**
56
+ * Schedule interval (see [docs](https://buildkite.com/docs/pipelines/scheduled-builds#schedule-intervals)).
57
+ */
58
+ readonly cronline: pulumi.Output<string>;
59
+ /**
60
+ * Whether the schedule should run.
61
+ */
62
+ readonly enabled: pulumi.Output<boolean | undefined>;
63
+ /**
64
+ * A map of environment variables to use for the build.
65
+ */
66
+ readonly env: pulumi.Output<{
67
+ [key: string]: string;
68
+ } | undefined>;
69
+ /**
70
+ * Schedule label.
71
+ */
72
+ readonly label: pulumi.Output<string>;
73
+ /**
74
+ * The message to use for the build.
75
+ */
76
+ readonly message: pulumi.Output<string>;
77
+ readonly pipelineId: pulumi.Output<string>;
78
+ /**
79
+ * The UUID of the pipeline schedule
80
+ */
81
+ readonly uuid: pulumi.Output<string>;
82
+ /**
83
+ * Create a Schedule resource with the given unique name, arguments, and options.
84
+ *
85
+ * @param name The _unique_ name of the resource.
86
+ * @param args The arguments to use to populate this resource's properties.
87
+ * @param opts A bag of options that control this resource's behavior.
88
+ */
89
+ constructor(name: string, args: ScheduleArgs, opts?: pulumi.CustomResourceOptions);
90
+ }
91
+ /**
92
+ * Input properties used for looking up and filtering Schedule resources.
93
+ */
94
+ export interface ScheduleState {
95
+ /**
96
+ * The branch to use for the build.
97
+ */
98
+ branch?: pulumi.Input<string>;
99
+ /**
100
+ * The commit ref to use for the build.
101
+ */
102
+ commit?: pulumi.Input<string>;
103
+ /**
104
+ * Schedule interval (see [docs](https://buildkite.com/docs/pipelines/scheduled-builds#schedule-intervals)).
105
+ */
106
+ cronline?: pulumi.Input<string>;
107
+ /**
108
+ * Whether the schedule should run.
109
+ */
110
+ enabled?: pulumi.Input<boolean>;
111
+ /**
112
+ * A map of environment variables to use for the build.
113
+ */
114
+ env?: pulumi.Input<{
115
+ [key: string]: pulumi.Input<string>;
116
+ }>;
117
+ /**
118
+ * Schedule label.
119
+ */
120
+ label?: pulumi.Input<string>;
121
+ /**
122
+ * The message to use for the build.
123
+ */
124
+ message?: pulumi.Input<string>;
125
+ pipelineId?: pulumi.Input<string>;
126
+ /**
127
+ * The UUID of the pipeline schedule
128
+ */
129
+ uuid?: pulumi.Input<string>;
130
+ }
131
+ /**
132
+ * The set of arguments for constructing a Schedule resource.
133
+ */
134
+ export interface ScheduleArgs {
135
+ /**
136
+ * The branch to use for the build.
137
+ */
138
+ branch: pulumi.Input<string>;
139
+ /**
140
+ * The commit ref to use for the build.
141
+ */
142
+ commit?: pulumi.Input<string>;
143
+ /**
144
+ * Schedule interval (see [docs](https://buildkite.com/docs/pipelines/scheduled-builds#schedule-intervals)).
145
+ */
146
+ cronline: pulumi.Input<string>;
147
+ /**
148
+ * Whether the schedule should run.
149
+ */
150
+ enabled?: pulumi.Input<boolean>;
151
+ /**
152
+ * A map of environment variables to use for the build.
153
+ */
154
+ env?: pulumi.Input<{
155
+ [key: string]: pulumi.Input<string>;
156
+ }>;
157
+ /**
158
+ * Schedule label.
159
+ */
160
+ label: pulumi.Input<string>;
161
+ /**
162
+ * The message to use for the build.
163
+ */
164
+ message?: pulumi.Input<string>;
165
+ pipelineId: pulumi.Input<string>;
166
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Schedule = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * ## # Resource: pipelineSchedule
10
+ *
11
+ * This resource allows you to create and manage pipeline schedules.
12
+ *
13
+ * Buildkite Documentation: https://buildkite.com/docs/pipelines/scheduled-builds
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as buildkite from "@pulumiverse/buildkite";
20
+ *
21
+ * const repo2Nightly = new buildkite.pipeline.Schedule("repo2Nightly", {
22
+ * pipelineId: buildkite_pipeline.repo2.id,
23
+ * label: "Nightly build",
24
+ * cronline: "@midnight",
25
+ * branch: buildkite_pipeline.repo2.default_branch,
26
+ * });
27
+ * ```
28
+ *
29
+ * ## Import
30
+ *
31
+ * Pipeline schedules can be imported using a slug (which consists of `$BUILDKITE_ORGANIZATION_SLUG/$BUILDKITE_PIPELINE_SLUG/$PIPELINE_SCHEDULE_UUID`), e.g.
32
+ *
33
+ * ```sh
34
+ * $ pulumi import buildkite:Pipeline/schedule:Schedule test myorg/test/1be3e7c7-1e03-4011-accf-b2d8eec90222
35
+ * ```
36
+ */
37
+ class Schedule extends pulumi.CustomResource {
38
+ /**
39
+ * Get an existing Schedule resource's state with the given name, ID, and optional extra
40
+ * properties used to qualify the lookup.
41
+ *
42
+ * @param name The _unique_ name of the resulting resource.
43
+ * @param id The _unique_ provider ID of the resource to lookup.
44
+ * @param state Any extra arguments used during the lookup.
45
+ * @param opts Optional settings to control the behavior of the CustomResource.
46
+ */
47
+ static get(name, id, state, opts) {
48
+ return new Schedule(name, state, Object.assign(Object.assign({}, opts), { id: id }));
49
+ }
50
+ /**
51
+ * Returns true if the given object is an instance of Schedule. This is designed to work even
52
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
53
+ */
54
+ static isInstance(obj) {
55
+ if (obj === undefined || obj === null) {
56
+ return false;
57
+ }
58
+ return obj['__pulumiType'] === Schedule.__pulumiType;
59
+ }
60
+ constructor(name, argsOrState, opts) {
61
+ let resourceInputs = {};
62
+ opts = opts || {};
63
+ if (opts.id) {
64
+ const state = argsOrState;
65
+ resourceInputs["branch"] = state ? state.branch : undefined;
66
+ resourceInputs["commit"] = state ? state.commit : undefined;
67
+ resourceInputs["cronline"] = state ? state.cronline : undefined;
68
+ resourceInputs["enabled"] = state ? state.enabled : undefined;
69
+ resourceInputs["env"] = state ? state.env : undefined;
70
+ resourceInputs["label"] = state ? state.label : undefined;
71
+ resourceInputs["message"] = state ? state.message : undefined;
72
+ resourceInputs["pipelineId"] = state ? state.pipelineId : undefined;
73
+ resourceInputs["uuid"] = state ? state.uuid : undefined;
74
+ }
75
+ else {
76
+ const args = argsOrState;
77
+ if ((!args || args.branch === undefined) && !opts.urn) {
78
+ throw new Error("Missing required property 'branch'");
79
+ }
80
+ if ((!args || args.cronline === undefined) && !opts.urn) {
81
+ throw new Error("Missing required property 'cronline'");
82
+ }
83
+ if ((!args || args.label === undefined) && !opts.urn) {
84
+ throw new Error("Missing required property 'label'");
85
+ }
86
+ if ((!args || args.pipelineId === undefined) && !opts.urn) {
87
+ throw new Error("Missing required property 'pipelineId'");
88
+ }
89
+ resourceInputs["branch"] = args ? args.branch : undefined;
90
+ resourceInputs["commit"] = args ? args.commit : undefined;
91
+ resourceInputs["cronline"] = args ? args.cronline : undefined;
92
+ resourceInputs["enabled"] = args ? args.enabled : undefined;
93
+ resourceInputs["env"] = args ? args.env : undefined;
94
+ resourceInputs["label"] = args ? args.label : undefined;
95
+ resourceInputs["message"] = args ? args.message : undefined;
96
+ resourceInputs["pipelineId"] = args ? args.pipelineId : undefined;
97
+ resourceInputs["uuid"] = undefined /*out*/;
98
+ }
99
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
100
+ super(Schedule.__pulumiType, name, resourceInputs, opts);
101
+ }
102
+ }
103
+ exports.Schedule = Schedule;
104
+ /** @internal */
105
+ Schedule.__pulumiType = 'buildkite:Pipeline/schedule:Schedule';
106
+ //# sourceMappingURL=schedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../pipeline/schedule.ts"],"names":[],"mappings":"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"}
package/provider.d.ts ADDED
@@ -0,0 +1,59 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * The provider type for the buildkite package. By default, resources use package-wide configuration
4
+ * settings, however an explicit `Provider` instance may be created and passed during resource
5
+ * construction to achieve fine-grained programmatic control over provider settings. See the
6
+ * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
7
+ */
8
+ export declare class Provider extends pulumi.ProviderResource {
9
+ /**
10
+ * Returns true if the given object is an instance of Provider. This is designed to work even
11
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
12
+ */
13
+ static isInstance(obj: any): obj is Provider;
14
+ /**
15
+ * API token with GraphQL access and `write_pipelines, read_pipelines` scopes
16
+ */
17
+ readonly apiToken: pulumi.Output<string>;
18
+ /**
19
+ * Base URL for the GraphQL API to use
20
+ */
21
+ readonly graphqlUrl: pulumi.Output<string | undefined>;
22
+ /**
23
+ * The Buildkite organization slug
24
+ */
25
+ readonly organization: pulumi.Output<string>;
26
+ /**
27
+ * Base URL for the REST API to use
28
+ */
29
+ readonly restUrl: pulumi.Output<string | undefined>;
30
+ /**
31
+ * Create a Provider resource with the given unique name, arguments, and options.
32
+ *
33
+ * @param name The _unique_ name of the resource.
34
+ * @param args The arguments to use to populate this resource's properties.
35
+ * @param opts A bag of options that control this resource's behavior.
36
+ */
37
+ constructor(name: string, args: ProviderArgs, opts?: pulumi.ResourceOptions);
38
+ }
39
+ /**
40
+ * The set of arguments for constructing a Provider resource.
41
+ */
42
+ export interface ProviderArgs {
43
+ /**
44
+ * API token with GraphQL access and `write_pipelines, read_pipelines` scopes
45
+ */
46
+ apiToken: pulumi.Input<string>;
47
+ /**
48
+ * Base URL for the GraphQL API to use
49
+ */
50
+ graphqlUrl?: pulumi.Input<string>;
51
+ /**
52
+ * The Buildkite organization slug
53
+ */
54
+ organization: pulumi.Input<string>;
55
+ /**
56
+ * Base URL for the REST API to use
57
+ */
58
+ restUrl?: pulumi.Input<string>;
59
+ }
package/provider.js ADDED
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Provider = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * The provider type for the buildkite package. By default, resources use package-wide configuration
10
+ * settings, however an explicit `Provider` instance may be created and passed during resource
11
+ * construction to achieve fine-grained programmatic control over provider settings. See the
12
+ * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
13
+ */
14
+ class Provider extends pulumi.ProviderResource {
15
+ /**
16
+ * Returns true if the given object is an instance of Provider. This is designed to work even
17
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
18
+ */
19
+ static isInstance(obj) {
20
+ if (obj === undefined || obj === null) {
21
+ return false;
22
+ }
23
+ return obj['__pulumiType'] === Provider.__pulumiType;
24
+ }
25
+ /**
26
+ * Create a Provider resource with the given unique name, arguments, and options.
27
+ *
28
+ * @param name The _unique_ name of the resource.
29
+ * @param args The arguments to use to populate this resource's properties.
30
+ * @param opts A bag of options that control this resource's behavior.
31
+ */
32
+ constructor(name, args, opts) {
33
+ let resourceInputs = {};
34
+ opts = opts || {};
35
+ {
36
+ if ((!args || args.apiToken === undefined) && !opts.urn) {
37
+ throw new Error("Missing required property 'apiToken'");
38
+ }
39
+ if ((!args || args.organization === undefined) && !opts.urn) {
40
+ throw new Error("Missing required property 'organization'");
41
+ }
42
+ resourceInputs["apiToken"] = args ? args.apiToken : undefined;
43
+ resourceInputs["graphqlUrl"] = args ? args.graphqlUrl : undefined;
44
+ resourceInputs["organization"] = args ? args.organization : undefined;
45
+ resourceInputs["restUrl"] = args ? args.restUrl : undefined;
46
+ }
47
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
48
+ super(Provider.__pulumiType, name, resourceInputs, opts);
49
+ }
50
+ }
51
+ exports.Provider = Provider;
52
+ /** @internal */
53
+ Provider.__pulumiType = 'buildkite';
54
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAIjD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;IAmBD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAkB,EAAE,IAA6B;QACvE,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB;YACI,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC/D;YACD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;;AAxDL,4BAyDC;AAxDG,gBAAgB;AACO,qBAAY,GAAG,WAAW,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var childProcess = require("child_process");
3
+
4
+ var args = process.argv.slice(2);
5
+
6
+ if (args.indexOf("${VERSION}") !== -1) {
7
+ process.exit(0);
8
+ }
9
+
10
+ var res = childProcess.spawnSync("pulumi", ["plugin", "install", "--server", "github://api.github.com/pulumiverse/pulumi-buildkite"].concat(args), {
11
+ stdio: ["ignore", "inherit", "inherit"]
12
+ });
13
+
14
+ if (res.error && res.error.code === "ENOENT") {
15
+ console.error("\nThere was an error installing the resource provider plugin. " +
16
+ "It looks like `pulumi` is not installed on your system. " +
17
+ "Please visit https://pulumi.com/ to install the Pulumi CLI.\n" +
18
+ "You may try manually installing the plugin by running " +
19
+ "`pulumi plugin install " + args.join(" ") + "`");
20
+ } else if (res.error || res.status !== 0) {
21
+ console.error("\nThere was an error installing the resource provider plugin. " +
22
+ "You may try to manually installing the plugin by running " +
23
+ "`pulumi plugin install " + args.join(" ") + "`");
24
+ }
25
+
26
+ process.exit(0);
@@ -0,0 +1,97 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * ## # Data Source: team
4
+ *
5
+ * Use this data source to look up properties of a team. This can be used to
6
+ * validate that a team exists before setting the team slug on a pipeline.
7
+ *
8
+ * Buildkite documentation: https://buildkite.com/docs/pipelines/permissions
9
+ *
10
+ * ## Example Usage
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as buildkite from "@pulumi/buildkite";
15
+ *
16
+ * const myTeam = buildkite.Team.getTeam({
17
+ * slug: "my_team",
18
+ * });
19
+ * ```
20
+ */
21
+ export declare function getTeam(args: GetTeamArgs, opts?: pulumi.InvokeOptions): Promise<GetTeamResult>;
22
+ /**
23
+ * A collection of arguments for invoking getTeam.
24
+ */
25
+ export interface GetTeamArgs {
26
+ /**
27
+ * The slug of the team, available in the URL of the team on buildkite.com
28
+ */
29
+ slug: string;
30
+ }
31
+ /**
32
+ * A collection of values returned by getTeam.
33
+ */
34
+ export interface GetTeamResult {
35
+ /**
36
+ * Default role to assign to a team member
37
+ */
38
+ readonly defaultMemberRole: string;
39
+ /**
40
+ * Whether new org members will be automatically added to this team
41
+ */
42
+ readonly defaultTeam: boolean;
43
+ /**
44
+ * A description of the team
45
+ */
46
+ readonly description: string;
47
+ /**
48
+ * The GraphQL ID of the team
49
+ */
50
+ readonly id: string;
51
+ /**
52
+ * Whether team members can create new pipelines and add them to the team
53
+ */
54
+ readonly membersCanCreatePipelines: boolean;
55
+ /**
56
+ * The name of the team
57
+ */
58
+ readonly name: string;
59
+ /**
60
+ * Whether the team is visible to org members outside this team
61
+ */
62
+ readonly privacy: string;
63
+ readonly slug: string;
64
+ /**
65
+ * The UUID of the team
66
+ */
67
+ readonly uuid: string;
68
+ }
69
+ /**
70
+ * ## # Data Source: team
71
+ *
72
+ * Use this data source to look up properties of a team. This can be used to
73
+ * validate that a team exists before setting the team slug on a pipeline.
74
+ *
75
+ * Buildkite documentation: https://buildkite.com/docs/pipelines/permissions
76
+ *
77
+ * ## Example Usage
78
+ *
79
+ * ```typescript
80
+ * import * as pulumi from "@pulumi/pulumi";
81
+ * import * as buildkite from "@pulumi/buildkite";
82
+ *
83
+ * const myTeam = buildkite.Team.getTeam({
84
+ * slug: "my_team",
85
+ * });
86
+ * ```
87
+ */
88
+ export declare function getTeamOutput(args: GetTeamOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetTeamResult>;
89
+ /**
90
+ * A collection of arguments for invoking getTeam.
91
+ */
92
+ export interface GetTeamOutputArgs {
93
+ /**
94
+ * The slug of the team, available in the URL of the team on buildkite.com
95
+ */
96
+ slug: pulumi.Input<string>;
97
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getTeamOutput = exports.getTeam = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * ## # Data Source: team
10
+ *
11
+ * Use this data source to look up properties of a team. This can be used to
12
+ * validate that a team exists before setting the team slug on a pipeline.
13
+ *
14
+ * Buildkite documentation: https://buildkite.com/docs/pipelines/permissions
15
+ *
16
+ * ## Example Usage
17
+ *
18
+ * ```typescript
19
+ * import * as pulumi from "@pulumi/pulumi";
20
+ * import * as buildkite from "@pulumi/buildkite";
21
+ *
22
+ * const myTeam = buildkite.Team.getTeam({
23
+ * slug: "my_team",
24
+ * });
25
+ * ```
26
+ */
27
+ function getTeam(args, opts) {
28
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
29
+ return pulumi.runtime.invoke("buildkite:Team/getTeam:getTeam", {
30
+ "slug": args.slug,
31
+ }, opts);
32
+ }
33
+ exports.getTeam = getTeam;
34
+ /**
35
+ * ## # Data Source: team
36
+ *
37
+ * Use this data source to look up properties of a team. This can be used to
38
+ * validate that a team exists before setting the team slug on a pipeline.
39
+ *
40
+ * Buildkite documentation: https://buildkite.com/docs/pipelines/permissions
41
+ *
42
+ * ## Example Usage
43
+ *
44
+ * ```typescript
45
+ * import * as pulumi from "@pulumi/pulumi";
46
+ * import * as buildkite from "@pulumi/buildkite";
47
+ *
48
+ * const myTeam = buildkite.Team.getTeam({
49
+ * slug: "my_team",
50
+ * });
51
+ * ```
52
+ */
53
+ function getTeamOutput(args, opts) {
54
+ return pulumi.output(args).apply((a) => getTeam(a, opts));
55
+ }
56
+ exports.getTeamOutput = getTeamOutput;
57
+ //# sourceMappingURL=getTeam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTeam.js","sourceRoot":"","sources":["../../team/getTeam.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,OAAO,CAAC,IAAiB,EAAE,IAA2B;IAElE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gCAAgC,EAAE;QAC3D,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,0BAMC;AAkDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,aAAa,CAAC,IAAuB,EAAE,IAA2B;IAC9E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAClE,CAAC;AAFD,sCAEC"}
@@ -0,0 +1,9 @@
1
+ export { GetTeamArgs, GetTeamResult, GetTeamOutputArgs } from "./getTeam";
2
+ export declare const getTeam: typeof import("./getTeam").getTeam;
3
+ export declare const getTeamOutput: typeof import("./getTeam").getTeamOutput;
4
+ export { MemberArgs, MemberState } from "./member";
5
+ export type Member = import("./member").Member;
6
+ export declare const Member: typeof import("./member").Member;
7
+ export { TeamArgs, TeamState } from "./team";
8
+ export type Team = import("./team").Team;
9
+ export declare const Team: typeof import("./team").Team;
package/team/index.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Team = exports.Member = exports.getTeamOutput = exports.getTeam = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ exports.getTeam = null;
9
+ exports.getTeamOutput = null;
10
+ utilities.lazyLoad(exports, ["getTeam", "getTeamOutput"], () => require("./getTeam"));
11
+ exports.Member = null;
12
+ utilities.lazyLoad(exports, ["Member"], () => require("./member"));
13
+ exports.Team = null;
14
+ utilities.lazyLoad(exports, ["Team"], () => require("./team"));
15
+ const _module = {
16
+ version: utilities.getVersion(),
17
+ construct: (name, type, urn) => {
18
+ switch (type) {
19
+ case "buildkite:Team/member:Member":
20
+ return new exports.Member(name, undefined, { urn });
21
+ case "buildkite:Team/team:Team":
22
+ return new exports.Team(name, undefined, { urn });
23
+ default:
24
+ throw new Error(`unknown resource type ${type}`);
25
+ }
26
+ },
27
+ };
28
+ pulumi.runtime.registerResourceModule("buildkite", "Team/member", _module);
29
+ pulumi.runtime.registerResourceModule("buildkite", "Team/team", _module);
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../team/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAI7B,QAAA,OAAO,GAAuC,IAAW,CAAC;AAC1D,QAAA,aAAa,GAA6C,IAAW,CAAC;AACnF,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,EAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAIxE,QAAA,MAAM,GAAqC,IAAW,CAAC;AACpE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAItD,QAAA,IAAI,GAAiC,IAAW,CAAC;AAC9D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAG/D,MAAM,OAAO,GAAG;IACZ,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;IAC/B,SAAS,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,GAAW,EAAmB,EAAE;QACpE,QAAQ,IAAI,EAAE;YACV,KAAK,8BAA8B;gBAC/B,OAAO,IAAI,cAAM,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACpD,KAAK,0BAA0B;gBAC3B,OAAO,IAAI,YAAI,CAAC,IAAI,EAAO,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAClD;gBACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;CACJ,CAAC;AACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;AAC1E,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA"}