@pulumi/gitlab 9.8.0-alpha.1768501030 → 9.8.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 (45) hide show
  1. package/getProjectHook.d.ts +2 -2
  2. package/getProjectSecureFile.d.ts +2 -2
  3. package/getProjectSecureFile.js +2 -2
  4. package/group.d.ts +36 -0
  5. package/group.js +6 -0
  6. package/group.js.map +1 -1
  7. package/groupHook.d.ts +50 -48
  8. package/groupHook.js +2 -0
  9. package/groupHook.js.map +1 -1
  10. package/index.d.ts +18 -0
  11. package/index.js +33 -3
  12. package/index.js.map +1 -1
  13. package/package.json +2 -2
  14. package/projectCicdCatalog.d.ts +107 -0
  15. package/projectCicdCatalog.js +103 -0
  16. package/projectCicdCatalog.js.map +1 -0
  17. package/projectHook.d.ts +45 -42
  18. package/projectHook.js +3 -0
  19. package/projectHook.js.map +1 -1
  20. package/projectIssueLink.d.ts +179 -0
  21. package/projectIssueLink.js +149 -0
  22. package/projectIssueLink.js.map +1 -0
  23. package/projectJobTokenScope.d.ts +10 -2
  24. package/projectJobTokenScope.js +10 -2
  25. package/projectJobTokenScope.js.map +1 -1
  26. package/projectMirror.d.ts +4 -3
  27. package/projectMirror.js +4 -3
  28. package/projectMirror.js.map +1 -1
  29. package/projectPackageDependencyProxy.d.ts +153 -0
  30. package/projectPackageDependencyProxy.js +119 -0
  31. package/projectPackageDependencyProxy.js.map +1 -0
  32. package/projectPullMirror.d.ts +267 -0
  33. package/projectPullMirror.js +160 -0
  34. package/projectPullMirror.js.map +1 -0
  35. package/projectPushMirror.d.ts +173 -0
  36. package/projectPushMirror.js +116 -0
  37. package/projectPushMirror.js.map +1 -0
  38. package/projectSecureFile.d.ts +173 -0
  39. package/projectSecureFile.js +132 -0
  40. package/projectSecureFile.js.map +1 -0
  41. package/projectTag.d.ts +2 -2
  42. package/projectTag.js +1 -1
  43. package/runner.d.ts +1 -1
  44. package/runner.js +1 -1
  45. package/types/output.d.ts +19 -1
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
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.ProjectPullMirror = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * The `gitlab.ProjectPullMirror` resource allows managing pull mirroring for GitLab projects.
10
+ *
11
+ * This resource uses the dedicated pull mirror API endpoint which provides reliable configuration of pull mirroring after project creation.
12
+ *
13
+ * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_pull_mirroring/#configure-pull-mirroring-for-a-project)
14
+ *
15
+ * ## Example Usage
16
+ *
17
+ * ```typescript
18
+ * import * as pulumi from "@pulumi/pulumi";
19
+ * import * as gitlab from "@pulumi/gitlab";
20
+ *
21
+ * // Basic pull mirror from GitHub
22
+ * // Note: Unspecified options will use GitLab's defaults
23
+ * const github = new gitlab.ProjectPullMirror("github", {
24
+ * project: example.id,
25
+ * url: "https://github.com/example/repo.git",
26
+ * authUser: "github-username",
27
+ * authPassword: githubToken,
28
+ * });
29
+ * // Pull mirror with explicit options
30
+ * // Only specify options you want to control; omit others to use GitLab defaults
31
+ * const advanced = new gitlab.ProjectPullMirror("advanced", {
32
+ * project: example.id,
33
+ * url: "https://github.com/example/repo.git",
34
+ * enabled: true,
35
+ * authUser: "github-username",
36
+ * authPassword: githubToken,
37
+ * mirrorTriggerBuilds: true,
38
+ * onlyMirrorProtectedBranches: true,
39
+ * mirrorOverwritesDivergedBranches: false,
40
+ * });
41
+ * // Pull mirror with branch regex (Premium/Ultimate)
42
+ * const regex = new gitlab.ProjectPullMirror("regex", {
43
+ * project: example.id,
44
+ * url: "https://github.com/example/repo.git",
45
+ * authUser: "github-username",
46
+ * authPassword: githubToken,
47
+ * mirrorBranchRegex: "^(main|develop|release/.*)$",
48
+ * });
49
+ * ```
50
+ *
51
+ * ## Import
52
+ *
53
+ * Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_pull_mirror`. For example:
54
+ *
55
+ * terraform
56
+ *
57
+ * import {
58
+ *
59
+ * to = gitlab_project_pull_mirror.example
60
+ *
61
+ * id = "see CLI command below for ID"
62
+ *
63
+ * }
64
+ *
65
+ * Importing using the CLI is supported with the following syntax:
66
+ *
67
+ * Import using project ID
68
+ *
69
+ * ```sh
70
+ * $ pulumi import gitlab:index/projectPullMirror:ProjectPullMirror example 123
71
+ * ```
72
+ *
73
+ * Import using project path
74
+ *
75
+ * Note: Import is not supported for disabled mirrors because the GitLab API returns
76
+ *
77
+ * http 400 for disabled mirrors.
78
+ *
79
+ * ```sh
80
+ * $ pulumi import gitlab:index/projectPullMirror:ProjectPullMirror example "group/project"
81
+ * ```
82
+ */
83
+ class ProjectPullMirror extends pulumi.CustomResource {
84
+ /**
85
+ * Get an existing ProjectPullMirror resource's state with the given name, ID, and optional extra
86
+ * properties used to qualify the lookup.
87
+ *
88
+ * @param name The _unique_ name of the resulting resource.
89
+ * @param id The _unique_ provider ID of the resource to lookup.
90
+ * @param state Any extra arguments used during the lookup.
91
+ * @param opts Optional settings to control the behavior of the CustomResource.
92
+ */
93
+ static get(name, id, state, opts) {
94
+ return new ProjectPullMirror(name, state, { ...opts, id: id });
95
+ }
96
+ /**
97
+ * Returns true if the given object is an instance of ProjectPullMirror. This is designed to work even
98
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
99
+ */
100
+ static isInstance(obj) {
101
+ if (obj === undefined || obj === null) {
102
+ return false;
103
+ }
104
+ return obj['__pulumiType'] === ProjectPullMirror.__pulumiType;
105
+ }
106
+ constructor(name, argsOrState, opts) {
107
+ let resourceInputs = {};
108
+ opts = opts || {};
109
+ if (opts.id) {
110
+ const state = argsOrState;
111
+ resourceInputs["authPassword"] = state?.authPassword;
112
+ resourceInputs["authUser"] = state?.authUser;
113
+ resourceInputs["enabled"] = state?.enabled;
114
+ resourceInputs["lastError"] = state?.lastError;
115
+ resourceInputs["lastSuccessfulUpdateAt"] = state?.lastSuccessfulUpdateAt;
116
+ resourceInputs["lastUpdateAt"] = state?.lastUpdateAt;
117
+ resourceInputs["lastUpdateStartedAt"] = state?.lastUpdateStartedAt;
118
+ resourceInputs["mirrorBranchRegex"] = state?.mirrorBranchRegex;
119
+ resourceInputs["mirrorId"] = state?.mirrorId;
120
+ resourceInputs["mirrorOverwritesDivergedBranches"] = state?.mirrorOverwritesDivergedBranches;
121
+ resourceInputs["mirrorTriggerBuilds"] = state?.mirrorTriggerBuilds;
122
+ resourceInputs["onlyMirrorProtectedBranches"] = state?.onlyMirrorProtectedBranches;
123
+ resourceInputs["project"] = state?.project;
124
+ resourceInputs["updateStatus"] = state?.updateStatus;
125
+ resourceInputs["url"] = state?.url;
126
+ }
127
+ else {
128
+ const args = argsOrState;
129
+ if (args?.project === undefined && !opts.urn) {
130
+ throw new Error("Missing required property 'project'");
131
+ }
132
+ if (args?.url === undefined && !opts.urn) {
133
+ throw new Error("Missing required property 'url'");
134
+ }
135
+ resourceInputs["authPassword"] = args?.authPassword ? pulumi.secret(args.authPassword) : undefined;
136
+ resourceInputs["authUser"] = args?.authUser;
137
+ resourceInputs["enabled"] = args?.enabled;
138
+ resourceInputs["mirrorBranchRegex"] = args?.mirrorBranchRegex;
139
+ resourceInputs["mirrorOverwritesDivergedBranches"] = args?.mirrorOverwritesDivergedBranches;
140
+ resourceInputs["mirrorTriggerBuilds"] = args?.mirrorTriggerBuilds;
141
+ resourceInputs["onlyMirrorProtectedBranches"] = args?.onlyMirrorProtectedBranches;
142
+ resourceInputs["project"] = args?.project;
143
+ resourceInputs["url"] = args?.url ? pulumi.secret(args.url) : undefined;
144
+ resourceInputs["lastError"] = undefined /*out*/;
145
+ resourceInputs["lastSuccessfulUpdateAt"] = undefined /*out*/;
146
+ resourceInputs["lastUpdateAt"] = undefined /*out*/;
147
+ resourceInputs["lastUpdateStartedAt"] = undefined /*out*/;
148
+ resourceInputs["mirrorId"] = undefined /*out*/;
149
+ resourceInputs["updateStatus"] = undefined /*out*/;
150
+ }
151
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
152
+ const secretOpts = { additionalSecretOutputs: ["authPassword", "url"] };
153
+ opts = pulumi.mergeOptions(opts, secretOpts);
154
+ super(ProjectPullMirror.__pulumiType, name, resourceInputs, opts);
155
+ }
156
+ }
157
+ exports.ProjectPullMirror = ProjectPullMirror;
158
+ /** @internal */
159
+ ProjectPullMirror.__pulumiType = 'gitlab:index/projectPullMirror:ProjectPullMirror';
160
+ //# sourceMappingURL=projectPullMirror.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectPullMirror.js","sourceRoot":"","sources":["../projectPullMirror.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,173 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * The `gitlab.ProjectPushMirror` resource manages the lifecycle of a project mirror.
4
+ *
5
+ * This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured with the gitlab.ProjectPullMirror resource.
6
+ *
7
+ * > **Warning** By default, the provider sets the `keepDivergentRefs` argument to `True`.
8
+ * If you manually set `keepDivergentRefs` to `False`, GitLab mirroring removes branches in the target that aren't in the source.
9
+ * This action can result in unexpected branch deletions.
10
+ *
11
+ * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/)
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as gitlab from "@pulumi/gitlab";
18
+ *
19
+ * const foo = new gitlab.ProjectPushMirror("foo", {
20
+ * project: "1",
21
+ * url: "https://username:password@github.com/org/repository.git",
22
+ * });
23
+ * ```
24
+ *
25
+ * ## Import
26
+ *
27
+ * Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_push_mirror`. For example:
28
+ *
29
+ * terraform
30
+ *
31
+ * import {
32
+ *
33
+ * to = gitlab_project_push_mirror.example
34
+ *
35
+ * id = "see CLI command below for ID"
36
+ *
37
+ * }
38
+ *
39
+ * Importing using the CLI is supported with the following syntax:
40
+ *
41
+ * GitLab project mirror can be imported using an id made up of `project_id:mirror_id`, e.g.
42
+ *
43
+ * ```sh
44
+ * $ pulumi import gitlab:index/projectPushMirror:ProjectPushMirror foo "12345:1337"
45
+ * ```
46
+ */
47
+ export declare class ProjectPushMirror extends pulumi.CustomResource {
48
+ /**
49
+ * Get an existing ProjectPushMirror resource's state with the given name, ID, and optional extra
50
+ * properties used to qualify the lookup.
51
+ *
52
+ * @param name The _unique_ name of the resulting resource.
53
+ * @param id The _unique_ provider ID of the resource to lookup.
54
+ * @param state Any extra arguments used during the lookup.
55
+ * @param opts Optional settings to control the behavior of the CustomResource.
56
+ */
57
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProjectPushMirrorState, opts?: pulumi.CustomResourceOptions): ProjectPushMirror;
58
+ /**
59
+ * Returns true if the given object is an instance of ProjectPushMirror. This is designed to work even
60
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
61
+ */
62
+ static isInstance(obj: any): obj is ProjectPushMirror;
63
+ /**
64
+ * Determines the mirror authentication method. Valid values are: `sshPublicKey`, `password`.
65
+ */
66
+ readonly authMethod: pulumi.Output<string>;
67
+ /**
68
+ * Determines if the mirror is enabled.
69
+ */
70
+ readonly enabled: pulumi.Output<boolean>;
71
+ /**
72
+ * Determines if divergent refs are skipped.
73
+ */
74
+ readonly keepDivergentRefs: pulumi.Output<boolean>;
75
+ /**
76
+ * Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only.
77
+ */
78
+ readonly mirrorBranchRegex: pulumi.Output<string>;
79
+ /**
80
+ * Mirror ID.
81
+ */
82
+ readonly mirrorId: pulumi.Output<number>;
83
+ /**
84
+ * Determines if only protected branches are mirrored.
85
+ */
86
+ readonly onlyProtectedBranches: pulumi.Output<boolean>;
87
+ /**
88
+ * The id of the project.
89
+ */
90
+ readonly project: pulumi.Output<string>;
91
+ /**
92
+ * The URL of the remote repository to be mirrored.
93
+ */
94
+ readonly url: pulumi.Output<string>;
95
+ /**
96
+ * Create a ProjectPushMirror resource with the given unique name, arguments, and options.
97
+ *
98
+ * @param name The _unique_ name of the resource.
99
+ * @param args The arguments to use to populate this resource's properties.
100
+ * @param opts A bag of options that control this resource's behavior.
101
+ */
102
+ constructor(name: string, args: ProjectPushMirrorArgs, opts?: pulumi.CustomResourceOptions);
103
+ }
104
+ /**
105
+ * Input properties used for looking up and filtering ProjectPushMirror resources.
106
+ */
107
+ export interface ProjectPushMirrorState {
108
+ /**
109
+ * Determines the mirror authentication method. Valid values are: `sshPublicKey`, `password`.
110
+ */
111
+ authMethod?: pulumi.Input<string>;
112
+ /**
113
+ * Determines if the mirror is enabled.
114
+ */
115
+ enabled?: pulumi.Input<boolean>;
116
+ /**
117
+ * Determines if divergent refs are skipped.
118
+ */
119
+ keepDivergentRefs?: pulumi.Input<boolean>;
120
+ /**
121
+ * Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only.
122
+ */
123
+ mirrorBranchRegex?: pulumi.Input<string>;
124
+ /**
125
+ * Mirror ID.
126
+ */
127
+ mirrorId?: pulumi.Input<number>;
128
+ /**
129
+ * Determines if only protected branches are mirrored.
130
+ */
131
+ onlyProtectedBranches?: pulumi.Input<boolean>;
132
+ /**
133
+ * The id of the project.
134
+ */
135
+ project?: pulumi.Input<string>;
136
+ /**
137
+ * The URL of the remote repository to be mirrored.
138
+ */
139
+ url?: pulumi.Input<string>;
140
+ }
141
+ /**
142
+ * The set of arguments for constructing a ProjectPushMirror resource.
143
+ */
144
+ export interface ProjectPushMirrorArgs {
145
+ /**
146
+ * Determines the mirror authentication method. Valid values are: `sshPublicKey`, `password`.
147
+ */
148
+ authMethod?: pulumi.Input<string>;
149
+ /**
150
+ * Determines if the mirror is enabled.
151
+ */
152
+ enabled?: pulumi.Input<boolean>;
153
+ /**
154
+ * Determines if divergent refs are skipped.
155
+ */
156
+ keepDivergentRefs?: pulumi.Input<boolean>;
157
+ /**
158
+ * Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only.
159
+ */
160
+ mirrorBranchRegex?: pulumi.Input<string>;
161
+ /**
162
+ * Determines if only protected branches are mirrored.
163
+ */
164
+ onlyProtectedBranches?: pulumi.Input<boolean>;
165
+ /**
166
+ * The id of the project.
167
+ */
168
+ project: pulumi.Input<string>;
169
+ /**
170
+ * The URL of the remote repository to be mirrored.
171
+ */
172
+ url: pulumi.Input<string>;
173
+ }
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by pulumi-language-nodejs. ***
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.ProjectPushMirror = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * The `gitlab.ProjectPushMirror` resource manages the lifecycle of a project mirror.
10
+ *
11
+ * This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured with the gitlab.ProjectPullMirror resource.
12
+ *
13
+ * > **Warning** By default, the provider sets the `keepDivergentRefs` argument to `True`.
14
+ * If you manually set `keepDivergentRefs` to `False`, GitLab mirroring removes branches in the target that aren't in the source.
15
+ * This action can result in unexpected branch deletions.
16
+ *
17
+ * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/)
18
+ *
19
+ * ## Example Usage
20
+ *
21
+ * ```typescript
22
+ * import * as pulumi from "@pulumi/pulumi";
23
+ * import * as gitlab from "@pulumi/gitlab";
24
+ *
25
+ * const foo = new gitlab.ProjectPushMirror("foo", {
26
+ * project: "1",
27
+ * url: "https://username:password@github.com/org/repository.git",
28
+ * });
29
+ * ```
30
+ *
31
+ * ## Import
32
+ *
33
+ * Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_push_mirror`. For example:
34
+ *
35
+ * terraform
36
+ *
37
+ * import {
38
+ *
39
+ * to = gitlab_project_push_mirror.example
40
+ *
41
+ * id = "see CLI command below for ID"
42
+ *
43
+ * }
44
+ *
45
+ * Importing using the CLI is supported with the following syntax:
46
+ *
47
+ * GitLab project mirror can be imported using an id made up of `project_id:mirror_id`, e.g.
48
+ *
49
+ * ```sh
50
+ * $ pulumi import gitlab:index/projectPushMirror:ProjectPushMirror foo "12345:1337"
51
+ * ```
52
+ */
53
+ class ProjectPushMirror extends pulumi.CustomResource {
54
+ /**
55
+ * Get an existing ProjectPushMirror resource's state with the given name, ID, and optional extra
56
+ * properties used to qualify the lookup.
57
+ *
58
+ * @param name The _unique_ name of the resulting resource.
59
+ * @param id The _unique_ provider ID of the resource to lookup.
60
+ * @param state Any extra arguments used during the lookup.
61
+ * @param opts Optional settings to control the behavior of the CustomResource.
62
+ */
63
+ static get(name, id, state, opts) {
64
+ return new ProjectPushMirror(name, state, { ...opts, id: id });
65
+ }
66
+ /**
67
+ * Returns true if the given object is an instance of ProjectPushMirror. This is designed to work even
68
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
69
+ */
70
+ static isInstance(obj) {
71
+ if (obj === undefined || obj === null) {
72
+ return false;
73
+ }
74
+ return obj['__pulumiType'] === ProjectPushMirror.__pulumiType;
75
+ }
76
+ constructor(name, argsOrState, opts) {
77
+ let resourceInputs = {};
78
+ opts = opts || {};
79
+ if (opts.id) {
80
+ const state = argsOrState;
81
+ resourceInputs["authMethod"] = state?.authMethod;
82
+ resourceInputs["enabled"] = state?.enabled;
83
+ resourceInputs["keepDivergentRefs"] = state?.keepDivergentRefs;
84
+ resourceInputs["mirrorBranchRegex"] = state?.mirrorBranchRegex;
85
+ resourceInputs["mirrorId"] = state?.mirrorId;
86
+ resourceInputs["onlyProtectedBranches"] = state?.onlyProtectedBranches;
87
+ resourceInputs["project"] = state?.project;
88
+ resourceInputs["url"] = state?.url;
89
+ }
90
+ else {
91
+ const args = argsOrState;
92
+ if (args?.project === undefined && !opts.urn) {
93
+ throw new Error("Missing required property 'project'");
94
+ }
95
+ if (args?.url === undefined && !opts.urn) {
96
+ throw new Error("Missing required property 'url'");
97
+ }
98
+ resourceInputs["authMethod"] = args?.authMethod;
99
+ resourceInputs["enabled"] = args?.enabled;
100
+ resourceInputs["keepDivergentRefs"] = args?.keepDivergentRefs;
101
+ resourceInputs["mirrorBranchRegex"] = args?.mirrorBranchRegex;
102
+ resourceInputs["onlyProtectedBranches"] = args?.onlyProtectedBranches;
103
+ resourceInputs["project"] = args?.project;
104
+ resourceInputs["url"] = args?.url ? pulumi.secret(args.url) : undefined;
105
+ resourceInputs["mirrorId"] = undefined /*out*/;
106
+ }
107
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
108
+ const secretOpts = { additionalSecretOutputs: ["url"] };
109
+ opts = pulumi.mergeOptions(opts, secretOpts);
110
+ super(ProjectPushMirror.__pulumiType, name, resourceInputs, opts);
111
+ }
112
+ }
113
+ exports.ProjectPushMirror = ProjectPushMirror;
114
+ /** @internal */
115
+ ProjectPushMirror.__pulumiType = 'gitlab:index/projectPushMirror:ProjectPushMirror';
116
+ //# sourceMappingURL=projectPushMirror.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectPushMirror.js","sourceRoot":"","sources":["../projectPushMirror.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,173 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * The `gitlab.ProjectSecureFile` resource allows users to manage the lifecycle of a secure file in gitlab.
4
+ *
5
+ * **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/secure_files/)
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as gitlab from "@pulumi/gitlab";
12
+ * import * as std from "@pulumi/std";
13
+ *
14
+ * const _this = new gitlab.Group("this", {
15
+ * name: "example",
16
+ * path: "example",
17
+ * description: "An example group",
18
+ * });
19
+ * const thisProject = new gitlab.Project("this", {
20
+ * name: "example",
21
+ * namespaceId: _this.id,
22
+ * initializeWithReadme: true,
23
+ * });
24
+ * const thisProjectSecureFile = new gitlab.ProjectSecureFile("this", {
25
+ * name: "my-secure-file",
26
+ * project: thisProject.id,
27
+ * content: std.file({
28
+ * input: "example.txt",
29
+ * }).then(invoke => invoke.result),
30
+ * });
31
+ * const disablePollForMetadata = new gitlab.ProjectSecureFile("disable_poll_for_metadata", {
32
+ * name: "my-secure-file",
33
+ * project: thisProject.id,
34
+ * content: std.file({
35
+ * input: "example.txt",
36
+ * }).then(invoke => invoke.result),
37
+ * pollForMetadataDurationInSeconds: 0,
38
+ * });
39
+ * ```
40
+ *
41
+ * ## Import
42
+ *
43
+ * Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_secure_file`. For example:
44
+ *
45
+ * terraform
46
+ *
47
+ * import {
48
+ *
49
+ * to = gitlab_project_secure_file.example
50
+ *
51
+ * id = "see CLI command below for ID"
52
+ *
53
+ * }
54
+ *
55
+ * Importing using the CLI is supported with the following syntax:
56
+ *
57
+ * GitLab secure files can be imported using an id made up of `projectId:secureFileId`, e.g.
58
+ *
59
+ * ```sh
60
+ * $ pulumi import gitlab:index/projectSecureFile:ProjectSecureFile bar 123:321
61
+ * ```
62
+ */
63
+ export declare class ProjectSecureFile extends pulumi.CustomResource {
64
+ /**
65
+ * Get an existing ProjectSecureFile resource's state with the given name, ID, and optional extra
66
+ * properties used to qualify the lookup.
67
+ *
68
+ * @param name The _unique_ name of the resulting resource.
69
+ * @param id The _unique_ provider ID of the resource to lookup.
70
+ * @param state Any extra arguments used during the lookup.
71
+ * @param opts Optional settings to control the behavior of the CustomResource.
72
+ */
73
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProjectSecureFileState, opts?: pulumi.CustomResourceOptions): ProjectSecureFile;
74
+ /**
75
+ * Returns true if the given object is an instance of ProjectSecureFile. This is designed to work even
76
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
77
+ */
78
+ static isInstance(obj: any): obj is ProjectSecureFile;
79
+ /**
80
+ * The checksum of the file
81
+ */
82
+ readonly checksum: pulumi.Output<string>;
83
+ /**
84
+ * The checksum algorithm used
85
+ */
86
+ readonly checksumAlgorithm: pulumi.Output<string>;
87
+ /**
88
+ * The contents of the secure file
89
+ */
90
+ readonly content: pulumi.Output<string>;
91
+ /**
92
+ * The time the secure file was uploaded
93
+ */
94
+ readonly createdAt: pulumi.Output<string>;
95
+ /**
96
+ * The time the secure file will expire
97
+ */
98
+ readonly expiresAt: pulumi.Output<string>;
99
+ /**
100
+ * The name for the secure file, unique per project
101
+ */
102
+ readonly name: pulumi.Output<string>;
103
+ /**
104
+ * The ID or full path of the project to environment is created for.
105
+ */
106
+ readonly project: pulumi.Output<string>;
107
+ /**
108
+ * The id of the secure file in gitlab
109
+ */
110
+ readonly secureFileId: pulumi.Output<number>;
111
+ /**
112
+ * Create a ProjectSecureFile resource with the given unique name, arguments, and options.
113
+ *
114
+ * @param name The _unique_ name of the resource.
115
+ * @param args The arguments to use to populate this resource's properties.
116
+ * @param opts A bag of options that control this resource's behavior.
117
+ */
118
+ constructor(name: string, args: ProjectSecureFileArgs, opts?: pulumi.CustomResourceOptions);
119
+ }
120
+ /**
121
+ * Input properties used for looking up and filtering ProjectSecureFile resources.
122
+ */
123
+ export interface ProjectSecureFileState {
124
+ /**
125
+ * The checksum of the file
126
+ */
127
+ checksum?: pulumi.Input<string>;
128
+ /**
129
+ * The checksum algorithm used
130
+ */
131
+ checksumAlgorithm?: pulumi.Input<string>;
132
+ /**
133
+ * The contents of the secure file
134
+ */
135
+ content?: pulumi.Input<string>;
136
+ /**
137
+ * The time the secure file was uploaded
138
+ */
139
+ createdAt?: pulumi.Input<string>;
140
+ /**
141
+ * The time the secure file will expire
142
+ */
143
+ expiresAt?: pulumi.Input<string>;
144
+ /**
145
+ * The name for the secure file, unique per project
146
+ */
147
+ name?: pulumi.Input<string>;
148
+ /**
149
+ * The ID or full path of the project to environment is created for.
150
+ */
151
+ project?: pulumi.Input<string>;
152
+ /**
153
+ * The id of the secure file in gitlab
154
+ */
155
+ secureFileId?: pulumi.Input<number>;
156
+ }
157
+ /**
158
+ * The set of arguments for constructing a ProjectSecureFile resource.
159
+ */
160
+ export interface ProjectSecureFileArgs {
161
+ /**
162
+ * The contents of the secure file
163
+ */
164
+ content: pulumi.Input<string>;
165
+ /**
166
+ * The name for the secure file, unique per project
167
+ */
168
+ name?: pulumi.Input<string>;
169
+ /**
170
+ * The ID or full path of the project to environment is created for.
171
+ */
172
+ project: pulumi.Input<string>;
173
+ }