@pulumi/gitlab 4.5.0 → 4.6.0-alpha.1646407709

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.
package/topic.js ADDED
@@ -0,0 +1,86 @@
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.Topic = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This resource allows you to create and manage topics that are then assignable to projects. Topics are the successors for project tags. Aside from avoiding terminology collisions with Git tags, they are more descriptive and better searchable.
10
+ *
11
+ * For assigning topics, use the project resource.
12
+ *
13
+ * > Deleting a resource doesn't delete the corresponding topic as the GitLab API doesn't support deleting topics yet. You can set softDestroy to true if you want the topics description to be emptied instead.
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as gitlab from "@pulumi/gitlab";
20
+ *
21
+ * const functionalProgramming = new gitlab.Topic("functional_programming", {
22
+ * description: "In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions.",
23
+ * });
24
+ * ```
25
+ *
26
+ * ## Import
27
+ *
28
+ * ```sh
29
+ * $ pulumi import gitlab:index/topic:Topic # You can import a topic to terraform state using `<resource> <id>`.
30
+ * ```
31
+ *
32
+ * # The `id` must be an integer for the id of the topic you want to import, # for example
33
+ *
34
+ * ```sh
35
+ * $ pulumi import gitlab:index/topic:Topic functional_programming 1
36
+ * ```
37
+ */
38
+ class Topic extends pulumi.CustomResource {
39
+ constructor(name, argsOrState, opts) {
40
+ let resourceInputs = {};
41
+ opts = opts || {};
42
+ if (opts.id) {
43
+ const state = argsOrState;
44
+ resourceInputs["description"] = state ? state.description : undefined;
45
+ resourceInputs["name"] = state ? state.name : undefined;
46
+ resourceInputs["softDestroy"] = state ? state.softDestroy : undefined;
47
+ }
48
+ else {
49
+ const args = argsOrState;
50
+ if ((!args || args.softDestroy === undefined) && !opts.urn) {
51
+ throw new Error("Missing required property 'softDestroy'");
52
+ }
53
+ resourceInputs["description"] = args ? args.description : undefined;
54
+ resourceInputs["name"] = args ? args.name : undefined;
55
+ resourceInputs["softDestroy"] = args ? args.softDestroy : undefined;
56
+ }
57
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
58
+ super(Topic.__pulumiType, name, resourceInputs, opts);
59
+ }
60
+ /**
61
+ * Get an existing Topic resource's state with the given name, ID, and optional extra
62
+ * properties used to qualify the lookup.
63
+ *
64
+ * @param name The _unique_ name of the resulting resource.
65
+ * @param id The _unique_ provider ID of the resource to lookup.
66
+ * @param state Any extra arguments used during the lookup.
67
+ * @param opts Optional settings to control the behavior of the CustomResource.
68
+ */
69
+ static get(name, id, state, opts) {
70
+ return new Topic(name, state, Object.assign(Object.assign({}, opts), { id: id }));
71
+ }
72
+ /**
73
+ * Returns true if the given object is an instance of Topic. This is designed to work even
74
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
75
+ */
76
+ static isInstance(obj) {
77
+ if (obj === undefined || obj === null) {
78
+ return false;
79
+ }
80
+ return obj['__pulumiType'] === Topic.__pulumiType;
81
+ }
82
+ }
83
+ exports.Topic = Topic;
84
+ /** @internal */
85
+ Topic.__pulumiType = 'gitlab:index/topic:Topic';
86
+ //# sourceMappingURL=topic.js.map
package/topic.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topic.js","sourceRoot":"","sources":["../topic.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,KAAM,SAAQ,MAAM,CAAC,cAAc;IAiD5C,YAAY,IAAY,EAAE,WAAoC,EAAE,IAAmC;QAC/F,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAqC,CAAC;YACpD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;SACzE;aAAM;YACH,MAAM,IAAI,GAAG,WAAoC,CAAC;YAClD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;SACvE;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAnED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAkB,EAAE,IAAmC;QAChH,OAAO,IAAI,KAAK,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC5D,CAAC;IAKD;;;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,KAAK,CAAC,YAAY,CAAC;IACtD,CAAC;;AA1BL,sBAqEC;AAvDG,gBAAgB;AACO,kBAAY,GAAG,0BAA0B,CAAC"}
package/types/input.d.ts CHANGED
@@ -1,4 +1,20 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
+ export interface BranchCommit {
3
+ authorEmail?: pulumi.Input<string>;
4
+ authorName?: pulumi.Input<string>;
5
+ authoredDate?: pulumi.Input<string>;
6
+ committedDate?: pulumi.Input<string>;
7
+ committerEmail?: pulumi.Input<string>;
8
+ committerName?: pulumi.Input<string>;
9
+ /**
10
+ * The ID of this resource.
11
+ */
12
+ id?: pulumi.Input<string>;
13
+ message?: pulumi.Input<string>;
14
+ parentIds?: pulumi.Input<pulumi.Input<string>[]>;
15
+ shortId?: pulumi.Input<string>;
16
+ title?: pulumi.Input<string>;
17
+ }
2
18
  export interface BranchProtectionAllowedToMerge {
3
19
  /**
4
20
  * Level of access.
package/types/output.d.ts CHANGED
@@ -1,4 +1,20 @@
1
1
  import { output as outputs } from "../types";
2
+ export interface BranchCommit {
3
+ authorEmail: string;
4
+ authorName: string;
5
+ authoredDate: string;
6
+ committedDate: string;
7
+ committerEmail: string;
8
+ committerName: string;
9
+ /**
10
+ * The ID of this resource.
11
+ */
12
+ id: string;
13
+ message: string;
14
+ parentIds: string[];
15
+ shortId: string;
16
+ title: string;
17
+ }
2
18
  export interface BranchProtectionAllowedToMerge {
3
19
  /**
4
20
  * Level of access.
@@ -35,6 +51,22 @@ export interface BranchProtectionAllowedToPush {
35
51
  */
36
52
  userId?: number;
37
53
  }
54
+ export interface GetBranchCommit {
55
+ authorEmail: string;
56
+ authorName: string;
57
+ authoredDate: string;
58
+ committedDate: string;
59
+ committerEmail: string;
60
+ committerName: string;
61
+ /**
62
+ * The ID of this resource.
63
+ */
64
+ id: string;
65
+ message: string;
66
+ parentIds: string[];
67
+ shortId: string;
68
+ title: string;
69
+ }
38
70
  export interface GetGroupMembershipMember {
39
71
  /**
40
72
  * Only return members with the desired access level. Acceptable values are: `guest`, `reporter`, `developer`, `maintainer`, `owner`.
@@ -112,6 +144,7 @@ export interface GetProjectsProject {
112
144
  avatarUrl: string;
113
145
  buildCoverageRegex: string;
114
146
  ciConfigPath: string;
147
+ ciForwardDeploymentEnabled: boolean;
115
148
  containerRegistryEnabled: boolean;
116
149
  createdAt: string;
117
150
  creatorId: number;
@@ -134,7 +167,9 @@ export interface GetProjectsProject {
134
167
  lastActivityAt: string;
135
168
  lfsEnabled: boolean;
136
169
  mergeMethod: string;
170
+ mergePipelinesEnabled: boolean;
137
171
  mergeRequestsEnabled: boolean;
172
+ mergeTrainsEnabled: boolean;
138
173
  mirror: boolean;
139
174
  mirrorOverwritesDivergedBranches: boolean;
140
175
  mirrorTriggerBuilds: boolean;
package/user.d.ts CHANGED
@@ -91,6 +91,10 @@ export declare class User extends pulumi.CustomResource {
91
91
  * Boolean, defaults to true. Whether to skip confirmation.
92
92
  */
93
93
  readonly skipConfirmation: pulumi.Output<boolean | undefined>;
94
+ /**
95
+ * String, defaults to 'active'. The state of the user account. Valid values are `active`, `deactivated`, `blocked`.
96
+ */
97
+ readonly state: pulumi.Output<string | undefined>;
94
98
  /**
95
99
  * The username of the user.
96
100
  */
@@ -148,6 +152,10 @@ export interface UserState {
148
152
  * Boolean, defaults to true. Whether to skip confirmation.
149
153
  */
150
154
  skipConfirmation?: pulumi.Input<boolean>;
155
+ /**
156
+ * String, defaults to 'active'. The state of the user account. Valid values are `active`, `deactivated`, `blocked`.
157
+ */
158
+ state?: pulumi.Input<string>;
151
159
  /**
152
160
  * The username of the user.
153
161
  */
@@ -197,6 +205,10 @@ export interface UserArgs {
197
205
  * Boolean, defaults to true. Whether to skip confirmation.
198
206
  */
199
207
  skipConfirmation?: pulumi.Input<boolean>;
208
+ /**
209
+ * String, defaults to 'active'. The state of the user account. Valid values are `active`, `deactivated`, `blocked`.
210
+ */
211
+ state?: pulumi.Input<string>;
200
212
  /**
201
213
  * The username of the user.
202
214
  */
package/user.js CHANGED
@@ -57,6 +57,7 @@ class User extends pulumi.CustomResource {
57
57
  resourceInputs["projectsLimit"] = state ? state.projectsLimit : undefined;
58
58
  resourceInputs["resetPassword"] = state ? state.resetPassword : undefined;
59
59
  resourceInputs["skipConfirmation"] = state ? state.skipConfirmation : undefined;
60
+ resourceInputs["state"] = state ? state.state : undefined;
60
61
  resourceInputs["username"] = state ? state.username : undefined;
61
62
  }
62
63
  else {
@@ -77,6 +78,7 @@ class User extends pulumi.CustomResource {
77
78
  resourceInputs["projectsLimit"] = args ? args.projectsLimit : undefined;
78
79
  resourceInputs["resetPassword"] = args ? args.resetPassword : undefined;
79
80
  resourceInputs["skipConfirmation"] = args ? args.skipConfirmation : undefined;
81
+ resourceInputs["state"] = args ? args.state : undefined;
80
82
  resourceInputs["username"] = args ? args.username : undefined;
81
83
  }
82
84
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
package/user.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * This resource allows to manage GitLab user SSH keys.
4
+ *
5
+ * **Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/users.html#single-ssh-key)
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as gitlab from "@pulumi/gitlab";
12
+ *
13
+ * const exampleUser = gitlab.getUser({
14
+ * username: "example-user",
15
+ * });
16
+ * const exampleUserSshKey = new gitlab.UserSshKey("exampleUserSshKey", {
17
+ * userId: data.gitlab_user.id,
18
+ * title: "example-key",
19
+ * key: "ssh-rsa AAAA...",
20
+ * expiresAt: "2016-01-21T00:00:00.000Z",
21
+ * });
22
+ * ```
23
+ *
24
+ * ## Import
25
+ *
26
+ * # You can import a user ssh key using an id made up of `{user-id}:{key}`, e.g.
27
+ *
28
+ * ```sh
29
+ * $ pulumi import gitlab:index/userSshKey:UserSshKey example 42:1
30
+ * ```
31
+ */
32
+ export declare class UserSshKey extends pulumi.CustomResource {
33
+ /**
34
+ * Get an existing UserSshKey resource's state with the given name, ID, and optional extra
35
+ * properties used to qualify the lookup.
36
+ *
37
+ * @param name The _unique_ name of the resulting resource.
38
+ * @param id The _unique_ provider ID of the resource to lookup.
39
+ * @param state Any extra arguments used during the lookup.
40
+ * @param opts Optional settings to control the behavior of the CustomResource.
41
+ */
42
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: UserSshKeyState, opts?: pulumi.CustomResourceOptions): UserSshKey;
43
+ /**
44
+ * Returns true if the given object is an instance of UserSshKey. This is designed to work even
45
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
46
+ */
47
+ static isInstance(obj: any): obj is UserSshKey;
48
+ /**
49
+ * The time when this key was created in GitLab.
50
+ */
51
+ readonly createdAt: pulumi.Output<string>;
52
+ /**
53
+ * The expiration date of the SSH key in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
54
+ */
55
+ readonly expiresAt: pulumi.Output<string | undefined>;
56
+ /**
57
+ * The ssh key. The SSH key `comment` (trailing part) is optional and ignored for diffing, because GitLab overrides it with the username and GitLab hostname.
58
+ */
59
+ readonly key: pulumi.Output<string>;
60
+ /**
61
+ * The ID of the ssh key.
62
+ */
63
+ readonly keyId: pulumi.Output<number>;
64
+ /**
65
+ * The title of the ssh key.
66
+ */
67
+ readonly title: pulumi.Output<string>;
68
+ /**
69
+ * The ID of the user to add the ssh key to.
70
+ */
71
+ readonly userId: pulumi.Output<number>;
72
+ /**
73
+ * Create a UserSshKey resource with the given unique name, arguments, and options.
74
+ *
75
+ * @param name The _unique_ name of the resource.
76
+ * @param args The arguments to use to populate this resource's properties.
77
+ * @param opts A bag of options that control this resource's behavior.
78
+ */
79
+ constructor(name: string, args: UserSshKeyArgs, opts?: pulumi.CustomResourceOptions);
80
+ }
81
+ /**
82
+ * Input properties used for looking up and filtering UserSshKey resources.
83
+ */
84
+ export interface UserSshKeyState {
85
+ /**
86
+ * The time when this key was created in GitLab.
87
+ */
88
+ createdAt?: pulumi.Input<string>;
89
+ /**
90
+ * The expiration date of the SSH key in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
91
+ */
92
+ expiresAt?: pulumi.Input<string>;
93
+ /**
94
+ * The ssh key. The SSH key `comment` (trailing part) is optional and ignored for diffing, because GitLab overrides it with the username and GitLab hostname.
95
+ */
96
+ key?: pulumi.Input<string>;
97
+ /**
98
+ * The ID of the ssh key.
99
+ */
100
+ keyId?: pulumi.Input<number>;
101
+ /**
102
+ * The title of the ssh key.
103
+ */
104
+ title?: pulumi.Input<string>;
105
+ /**
106
+ * The ID of the user to add the ssh key to.
107
+ */
108
+ userId?: pulumi.Input<number>;
109
+ }
110
+ /**
111
+ * The set of arguments for constructing a UserSshKey resource.
112
+ */
113
+ export interface UserSshKeyArgs {
114
+ /**
115
+ * The expiration date of the SSH key in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
116
+ */
117
+ expiresAt?: pulumi.Input<string>;
118
+ /**
119
+ * The ssh key. The SSH key `comment` (trailing part) is optional and ignored for diffing, because GitLab overrides it with the username and GitLab hostname.
120
+ */
121
+ key: pulumi.Input<string>;
122
+ /**
123
+ * The title of the ssh key.
124
+ */
125
+ title: pulumi.Input<string>;
126
+ /**
127
+ * The ID of the user to add the ssh key to.
128
+ */
129
+ userId: pulumi.Input<number>;
130
+ }
package/userSshKey.js ADDED
@@ -0,0 +1,98 @@
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.UserSshKey = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * This resource allows to manage GitLab user SSH keys.
10
+ *
11
+ * **Upstream API**: [GitLab API docs](https://docs.gitlab.com/ee/api/users.html#single-ssh-key)
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as gitlab from "@pulumi/gitlab";
18
+ *
19
+ * const exampleUser = gitlab.getUser({
20
+ * username: "example-user",
21
+ * });
22
+ * const exampleUserSshKey = new gitlab.UserSshKey("exampleUserSshKey", {
23
+ * userId: data.gitlab_user.id,
24
+ * title: "example-key",
25
+ * key: "ssh-rsa AAAA...",
26
+ * expiresAt: "2016-01-21T00:00:00.000Z",
27
+ * });
28
+ * ```
29
+ *
30
+ * ## Import
31
+ *
32
+ * # You can import a user ssh key using an id made up of `{user-id}:{key}`, e.g.
33
+ *
34
+ * ```sh
35
+ * $ pulumi import gitlab:index/userSshKey:UserSshKey example 42:1
36
+ * ```
37
+ */
38
+ class UserSshKey extends pulumi.CustomResource {
39
+ constructor(name, argsOrState, opts) {
40
+ let resourceInputs = {};
41
+ opts = opts || {};
42
+ if (opts.id) {
43
+ const state = argsOrState;
44
+ resourceInputs["createdAt"] = state ? state.createdAt : undefined;
45
+ resourceInputs["expiresAt"] = state ? state.expiresAt : undefined;
46
+ resourceInputs["key"] = state ? state.key : undefined;
47
+ resourceInputs["keyId"] = state ? state.keyId : undefined;
48
+ resourceInputs["title"] = state ? state.title : undefined;
49
+ resourceInputs["userId"] = state ? state.userId : undefined;
50
+ }
51
+ else {
52
+ const args = argsOrState;
53
+ if ((!args || args.key === undefined) && !opts.urn) {
54
+ throw new Error("Missing required property 'key'");
55
+ }
56
+ if ((!args || args.title === undefined) && !opts.urn) {
57
+ throw new Error("Missing required property 'title'");
58
+ }
59
+ if ((!args || args.userId === undefined) && !opts.urn) {
60
+ throw new Error("Missing required property 'userId'");
61
+ }
62
+ resourceInputs["expiresAt"] = args ? args.expiresAt : undefined;
63
+ resourceInputs["key"] = args ? args.key : undefined;
64
+ resourceInputs["title"] = args ? args.title : undefined;
65
+ resourceInputs["userId"] = args ? args.userId : undefined;
66
+ resourceInputs["createdAt"] = undefined /*out*/;
67
+ resourceInputs["keyId"] = undefined /*out*/;
68
+ }
69
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
70
+ super(UserSshKey.__pulumiType, name, resourceInputs, opts);
71
+ }
72
+ /**
73
+ * Get an existing UserSshKey resource's state with the given name, ID, and optional extra
74
+ * properties used to qualify the lookup.
75
+ *
76
+ * @param name The _unique_ name of the resulting resource.
77
+ * @param id The _unique_ provider ID of the resource to lookup.
78
+ * @param state Any extra arguments used during the lookup.
79
+ * @param opts Optional settings to control the behavior of the CustomResource.
80
+ */
81
+ static get(name, id, state, opts) {
82
+ return new UserSshKey(name, state, Object.assign(Object.assign({}, opts), { id: id }));
83
+ }
84
+ /**
85
+ * Returns true if the given object is an instance of UserSshKey. This is designed to work even
86
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
87
+ */
88
+ static isInstance(obj) {
89
+ if (obj === undefined || obj === null) {
90
+ return false;
91
+ }
92
+ return obj['__pulumiType'] === UserSshKey.__pulumiType;
93
+ }
94
+ }
95
+ exports.UserSshKey = UserSshKey;
96
+ /** @internal */
97
+ UserSshKey.__pulumiType = 'gitlab:index/userSshKey:UserSshKey';
98
+ //# sourceMappingURL=userSshKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userSshKey.js","sourceRoot":"","sources":["../userSshKey.ts"],"names":[],"mappings":"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"}